html {
  min-height: 0;
}

.contact-form .custom-select-choose, .contact-map, .more-services, .more-services > * {
  position: relative;
}

.contact-details dl dd a, .contact-details dl dd span, .contact-map iframe, .more-services ul li a {
  display: block;
}

.contact-info h2, .contact-form h3, .contact-form .custom-select-field > label, .contact-details dl dt, .more-services h2 {
  text-transform: uppercase;
}

.social-media a {
  display: flex;
}

.social-media, .contact-panel, .contact-details dl {
  display: flex;
  flex-wrap: wrap;
}

.contact-panel, .contact-details dl {
  justify-content: space-between;
}

.social-media a {
  align-items: center;
}

.contact-details a, .more-services ul li a, .social-media a {
  transition-duration: 300ms;
}

.contact-details a, .more-services ul li a, .social-media a {
  transition-timing-function: ease-in-out;
}

.contact-details a, .more-services ul li a, .social-media a {
  transition-behaviour: allow-discrete;
}

.social-media a {
  transition-property: all;
}

.contact-details a, .more-services ul li a {
  transition-property: color;
}

.contact-form {
  border-radius: 5px;
}

@media screen and (min-width: 1921px) {
  .contact-panel, .more-services {
    padding-left: 7.5%;
    padding-right: 7.5%;
  }
}
@media screen and (min-width: 1441px) and (max-width: 1920px) {
  .contact-panel, .more-services {
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media screen and (min-width: 1121px) and (max-width: 1440px) {
  .contact-panel, .more-services {
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media screen and (min-width: 761px) and (max-width: 1120px) {
  .contact-panel, .more-services {
    padding-left: 3em;
    padding-right: 3em;
  }
}
@media screen and (max-width: 760px) {
  .contact-panel, .more-services {
    padding-left: 5%;
    padding-right: 5%;
  }
}

@media screen and (min-width: 1201px) {
  .contact-panel, .more-services {
    padding-top: 150px;
    padding-bottom: 150px;
  }
}
@media screen and (min-width: 761px) and (max-width: 1200px) {
  .contact-panel, .more-services {
    padding-top: 4.5em;
    padding-bottom: 4.5em;
  }
}
@media screen and (max-width: 760px) {
  .contact-panel, .more-services {
    padding-top: 3em;
    padding-bottom: 3em;
  }
}

.contact-info h2, .more-services h2 {
  font-size: clamp(1.2rem, 1.2rem + 0.6 * (100vw - 450px) / 1470, 1.8rem);
}

.contact-form h3 {
  font-size: clamp(1.1rem, 1.1rem + 0.3 * (100vw - 450px) / 1470, 1.4rem);
}

.contact-form .custom-select-field > label, .contact-details dl dt, .contact-details dl dd, .more-services ul li a, .contact-info > p {
  font-size: 1rem;
}

.contact-form h3, .contact-info h2, .more-services h2 {
  margin-bottom: 0.5em;
  line-height: 1.25em;
}

.contact-info > p {
  font-weight: normal;
  line-height: 1.6em;
}

.contact-info > p {
  margin-bottom: 1.5em;
}

.contact-panel {
  background: #f8f8f8;
}

.contact-info {
  width: 38%;
}
.contact-info h2 span {
  color: #e21b70;
}
@media screen and (max-width: 1100px) {
  .contact-info {
    width: 100%;
    margin-bottom: 3em;
  }
}

.contact-form {
  width: 54%;
  padding: 5%;
  background: #fff;
}
.contact-form h3 {
  margin-bottom: 1em;
  color: #111111;
}
@media screen and (max-width: 1100px) {
  .contact-form {
    width: 100%;
  }
}
.contact-form .custom-select-field {
  display: flex;
  flex-direction: column;
}
.contact-form .custom-select-field > label {
  order: -1;
  position: static;
  margin-bottom: 0.6em;
  color: #444444;
}
.contact-form .custom-select {
  width: 100%;
  margin-bottom: 1em;
}
.contact-form .custom-select-choose {
  background-image: none;
}
.contact-form .custom-select-choose::after {
  content: "";
  display: block;
  width: 1.2em;
  height: 1.2em;
  flex: 0 0 1.2em;
  background-color: #444444;
  mask: url(/app/global/images/icon-chev-down.svg) center/contain no-repeat;
  -webkit-mask: url(/app/global/images/icon-chev-down.svg) center/contain no-repeat;
  mask-mode: alpha;
}
.contact-form .custom-select-choose:after {
  position: absolute;
  right: 1em;
  top: 50%;
  margin-top: -0.6em;
}

.contact-details {
  margin-top: 1em;
}
.contact-details dl {
  width: 100%;
  padding: 1.5em 0;
  border-top: 1px solid rgba(17, 17, 17, 0.12);
}
.contact-details dl:last-of-type {
  border-bottom: 1px solid rgba(17, 17, 17, 0.12);
}
.contact-details dl dt {
  width: 35%;
  font-weight: bold;
}
.contact-details dl dd {
  width: 65%;
}
.contact-details dl dd a + a, .contact-details dl dd a + span, .contact-details dl dd span + a {
  margin-top: 0.4em;
}
@media screen and (max-width: 550px) {
  .contact-details dl dt {
    width: 30%;
  }
  .contact-details dl dd {
    width: 70%;
  }
}
.contact-details a:hover {
  color: #e21b70;
}

.social-media {
  gap: 0.7em;
  margin-top: 1.5em;
}
.social-media a {
  justify-content: center;
  flex-shrink: 0;
  width: 2.6em;
  height: 2.6em;
  border: 1px solid #bbbbbb;
  border-radius: 50%;
  color: #111111;
}
.social-media a:before {
  content: "";
}
.social-media a:hover {
  background: #e21b70;
  border-color: #e21b70;
  color: #fff;
}
.social-media a.facebook:before {
  display: block;
  width: 1.1em;
  height: 1.1em;
  flex: 0 0 1.1em;
  background-color: currentColor;
  mask: url(/app/contact/images/icon-facebook.svg) center/contain no-repeat;
  -webkit-mask: url(/app/contact/images/icon-facebook.svg) center/contain no-repeat;
  mask-mode: alpha;
}
.social-media a.instagram:before {
  display: block;
  width: 1.15em;
  height: 1.15em;
  flex: 0 0 1.15em;
  background-color: currentColor;
  mask: url(/app/contact/images/icon-instagram.svg) center/contain no-repeat;
  -webkit-mask: url(/app/contact/images/icon-instagram.svg) center/contain no-repeat;
  mask-mode: alpha;
}
.social-media a.youtube:before {
  display: block;
  width: 1.2em;
  height: 1.2em;
  flex: 0 0 1.2em;
  background-color: currentColor;
  mask: url(/app/contact/images/icon-youtube.svg) center/contain no-repeat;
  -webkit-mask: url(/app/contact/images/icon-youtube.svg) center/contain no-repeat;
  mask-mode: alpha;
}
.social-media a.tiktok:before {
  display: block;
  width: 1.15em;
  height: 1.15em;
  flex: 0 0 1.15em;
  background-color: currentColor;
  mask: url(/app/contact/images/icon-tiktok.svg) center/contain no-repeat;
  -webkit-mask: url(/app/contact/images/icon-tiktok.svg) center/contain no-repeat;
  mask-mode: alpha;
}

.contact-map {
  background: #111111;
}
.contact-map iframe {
  width: 100%;
  height: 420px;
  border: 0;
}

@media screen and (max-width: 760px) {
  .contact-map iframe {
    height: 280px;
  }
}
.more-services {
  display: grid;
  grid-template-columns: 22% 1fr;
  gap: 4%;
  background: #111111;
  color: #fff;
}
.more-services > * {
  position: relative;
  z-index: 1;
}
.more-services .accent {
  color: #fff;
}
.more-services h2 span {
  color: #e21b70;
}
.more-services ul {
  columns: 3;
  column-gap: 2.5em;
}
.more-services ul li {
  break-inside: avoid;
}
.more-services ul li a {
  padding: 1.15em 0;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff;
}
.more-services ul li a:hover {
  color: #e21b70;
}

@media screen and (max-width: 1100px) {
  .more-services {
    grid-template-columns: 1fr;
  }
  .more-services ul {
    columns: 2;
    margin-top: 3em;
  }
}
@media screen and (max-width: 760px) {
  .more-services ul {
    columns: 1;
  }
}
