.custom-icon.accordion:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e801";
}

.custom-icon.arrow:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e802";
}

.custom-icon.arrow-down:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e803";
}

.custom-icon.arrow-long:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e804";
}

.custom-icon.arrow-fat:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e805";
}

.custom-icon.bag:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e806";
}

.custom-icon.calendar:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e807";
}

.custom-icon.calendar-alt:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e808";
}

.custom-icon.cart:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e809";
}

.custom-icon.clock:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e810";
}

.custom-icon.close:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e811";
}

.custom-icon.compass:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e812";
}

.custom-icon.copywriting:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e813";
}

.custom-icon.directions:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e814";
}

.custom-icon.doc-doc:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e815";
}

.custom-icon.doc-mov:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e816";
}

.custom-icon.doc-mp3:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e817";
}

.custom-icon.doc-pdf:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e818";
}

.custom-icon.doc-ppt:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e819";
}

.custom-icon.doc-xls:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e820";
}

.custom-icon.download:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e821";
}

.custom-icon.email:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e822";
}

.custom-icon.email-alt:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e823";
}

.custom-icon.external:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e824";
}

.custom-icon.eye:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e825";
}

.custom-icon.fax:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e826";
}

.custom-icon.filter:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e827";
}

.custom-icon.globe:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e828";
}

.custom-icon.heart:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e829";
}

.custom-icon.home:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e830";
}

.custom-icon.hours:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e831";
}

.custom-icon.hyperlink:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e832";
}

.custom-icon.information:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e833";
}

.custom-icon.marker:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e834";
}

.custom-icon.pause:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e835";
}

.custom-icon.phone:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e836";
}

.custom-icon.phone-alt:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e837";
}

.custom-icon.phone-outline:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e838";
}

.custom-icon.location:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e839";
}

.custom-icon.menu:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e840";
}

.custom-icon.play:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e841";
}

.custom-icon.play-alt:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e842";
}

.custom-icon.plus:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e843";
}

.custom-icon.quotes:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e844";
}

.custom-icon.quotes-alt:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e845";
}

.custom-icon.search:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e846";
}

.custom-icon.search-alt:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e847";
}

.custom-icon.search-magnify:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e848";
}

.custom-icon.social-bs:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e849";
}

.custom-icon.social-fb:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e850";
}

.custom-icon.social-i:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e851";
}

.custom-icon.social-li:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e852";
}

.custom-icon.social-li-alt:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e853";
}

.custom-icon.social-tt:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e854";
}

.custom-icon.social-yt:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e855";
}

.custom-icon.social-yt-alt:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e856";
}

.custom-icon.social-x:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e857";
}

.custom-icon.user:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e858";
}

.custom-icon.zipper:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e859";
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slideRight {
  from {
    transform: translateX(-100vw);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes slideLeft {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100vw);
  }
}
@keyframes tabletSlideRight {
  from {
    transform: translateX(100vw);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes tabletSlideLeft {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100vw);
  }
}
@keyframes spinner {
  to {
    transform: rotate(360deg);
  }
}
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875em;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

.skip-to-content {
  transition: all 0.2s ease-in-out;
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  position: fixed;
  color: #E7E3DD;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  border: 2px solid #E7E3DD;
  background-color: white;
  top: 0;
  left: calc(50% - 100px);
  box-shadow: 0 5px 10px rgba(255, 255, 255, 0.1);
  transform: translateY(-100px);
  padding: 1.8em 2.5em;
  opacity: 0;
  outline: none;
  z-index: 99999;
}
.skip-to-content:focus {
  opacity: 1;
  transform: translateY(70px);
}

.skip-to-target {
  width: 1px;
  height: 1px;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  outline: none !important;
  box-shadow: none !important;
}

.admin-bar .skip-to-content {
  top: 56px;
}
@media screen and (min-width: 783px) {
  .admin-bar .skip-to-content {
    top: 42px;
  }
}

.p-2 {
  box-sizing: border-box;
  padding: 2rem;
}

.p-3 {
  box-sizing: border-box;
  padding: 2rem;
}
@media only screen and (min-width: 1440px) {
  .p-3 {
    padding: 3rem;
  }
}

.p-4 {
  box-sizing: border-box;
  padding: 2rem;
}
@media only screen and (min-width: 1024px) {
  .p-4 {
    padding: 3rem;
  }
}
@media only screen and (min-width: 1440px) {
  .p-4 {
    padding: 4rem;
  }
}

.w-100 {
  width: 100%;
}

#site-main-content {
  overflow-x: clip;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
  z-index: 1;
}

.head {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  gap: 2rem;
}

cite {
  font-style: normal;
}

.buttons {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: 2rem;
  flex-wrap: wrap;
  gap: 0;
}

.column h1,
.column h2,
.column h3,
.column h4,
.column h5,
.column h6 {
  margin-top: 0;
}

.layer-1 {
  z-index: -1;
}

.layer-2 {
  z-index: -2;
}

picture img {
  border-radius: 0.5rem;
  display: block;
  width: 100%;
}

dialog {
  animation: fadeIn 0.5s ease-in-out;
}

dialog:open {
  background: none;
  border: 0;
  overflow: hidden;
}
dialog:open::backdrop {
  align-items: center;
  background: rgba(0, 0, 0, 0.85);
  border: 0;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  margin: 0;
  max-width: none;
  max-height: none;
  padding: 0;
  width: 100vw;
  height: 100vh;
}
dialog:open p {
  width: 100%;
}
dialog:open .frame {
  align-items: center;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  margin: 0 auto;
  max-width: 100%;
  width: calc(1290px + 8rem);
}
dialog:open .frame iframe {
  aspect-ratio: 16/9;
  max-height: 80vh;
  width: 100%;
}
@media only screen and (max-width: 1439px) {
  dialog:open .frame iframe {
    max-height: 55vh;
  }
}
dialog:open button {
  transition: all 0.2s ease-in-out;
  align-self: flex-end;
  aspect-ratio: 1;
  background: #FFF;
  border: 0;
  border-radius: 0.5rem;
  box-sizing: border-box;
  color: #02205F;
  cursor: pointer;
  width: 2.5rem;
}
dialog:open button:after {
  font-size: 1.125rem;
}
dialog:open button:hover, dialog:open button:active, dialog:open button:focus-within, dialog:open button:focus {
  background: #E7E3DD;
  color: #FFF;
}

html:has(dialog[open]) {
  overflow: hidden;
}

.abstract {
  height: auto;
  width: 100%;
}
.abstract.solid-wave {
  aspect-ratio: 648/34;
  display: block;
  mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkyMCIgaGVpZ2h0PSIxMDIiIHZpZXdCb3g9IjAgMCAxOTIwIDEwMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgMTAxLjM2MkwxOTIzLjc1IDEwMS4zNjJDMTYwMy43NSAtNS42MjU0OSAxMjYwIDE1OC4yMDkgOTQwIDc2LjM5NUM2MzAgLTIuOTAxNTEgMzIwIC00My4xNzkxIDAgNzAuMTAxNlYxMDEuMzYyWiIgZmlsbD0iI0ZGQzc0NiIvPgo8L3N2Zz4K);
  mask-size: cover;
}

.favicon {
  aspect-ratio: 108/99;
  background: url("../images/favicon.svg");
  background-repeat: no-repeat;
  display: block;
  bottom: -5%;
  left: -15%;
  position: absolute;
  width: 38%;
  z-index: 1;
}
@media only screen and (max-width: 1439px) {
  .favicon {
    max-width: 180px;
  }
}
@media only screen and (min-width: 768px) {
  .favicon {
    left: -5%;
  }
}
@media only screen and (min-width: 1440px) {
  .favicon {
    left: -20%;
  }
}
@media only screen and (min-width: 1640px) {
  .favicon {
    bottom: -10%;
    left: -5%;
    width: 30%;
  }
}

.page-template-default:not(.home) .favicon {
  bottom: -2%;
  left: auto;
  right: 0;
}
@media only screen and (min-width: 1024px) {
  .page-template-default:not(.home) .favicon {
    max-width: none;
    width: 30%;
  }
}
@media only screen and (min-width: 1920px) {
  .page-template-default:not(.home) .favicon {
    bottom: -5%;
    right: 5%;
  }
}
.page-template-default:not(.home) section.case-study .favicon {
  bottom: -6%;
  left: 0;
  right: auto;
}
@media only screen and (min-width: 1640px) {
  .page-template-default:not(.home) section.case-study .favicon {
    bottom: -25%;
    left: -10%;
  }
}

a:not(.primary-button, .secondary-button, .utility-button) {
  transition: all 0.2s ease-in-out;
  color: #02205F;
  text-decoration: underline;
  text-decoration-color: #000;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
a:not(.primary-button, .secondary-button, .utility-button):hover, a:not(.primary-button, .secondary-button, .utility-button):active, a:not(.primary-button, .secondary-button, .utility-button):focus-within, a:not(.primary-button, .secondary-button, .utility-button):focus {
  text-decoration-color: #00B4B8;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
h5,
h6 {
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 800;
  line-height: 1.25;
  margin: 1em 0;
}

h1,
.h1 {
  font-size: 2rem;
}
@media only screen and (min-width: 768px) {
  h1,
  .h1 {
    font-size: 2.25rem;
  }
}
@media only screen and (min-width: 1440px) {
  h1,
  .h1 {
    font-size: 2.5rem;
  }
}
@media only screen and (min-width: 1640px) {
  h1,
  .h1 {
    font-size: 2.75rem;
  }
}
@media only screen and (min-width: 1920px) {
  h1,
  .h1 {
    font-size: 3rem;
  }
}

h2,
.h2 {
  font-size: 1.75rem;
}
@media only screen and (min-width: 768px) {
  h2,
  .h2 {
    font-size: 1.825rem;
  }
}
@media only screen and (min-width: 1440px) {
  h2,
  .h2 {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 1640px) {
  h2,
  .h2 {
    font-size: 2.125rem;
  }
}
@media only screen and (min-width: 1920px) {
  h2,
  .h2 {
    font-size: 2.25rem;
  }
}

h3,
.h3 {
  font-size: 1.3rem;
}
@media only screen and (min-width: 768px) {
  h3,
  .h3 {
    font-size: 1.35rem;
  }
}
@media only screen and (min-width: 1440px) {
  h3,
  .h3 {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 1640px) {
  h3,
  .h3 {
    font-size: 1.45rem;
  }
}
@media only screen and (min-width: 1920px) {
  h3,
  .h3 {
    font-size: 1.5rem;
  }
}

h4,
.h4 {
  font-size: 1.25rem;
}

strong {
  font-weight: 700;
}

p.large {
  font-size: 1.25rem;
  line-height: 1.25;
}

em {
  font-style: italic;
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
}

sub {
  left: 1px;
  bottom: -8px;
}

sup {
  top: -8px;
  left: 1px;
}

.alignleft {
  float: left;
  margin: 0 3rem 2rem 0;
}

.alignright {
  float: right;
  margin: 0 0 2rem 3rem;
}

.aligncenter {
  display: block;
  margin: 0 auto;
  margin-bottom: 3rem;
  text-align: center;
}
.aligncenter .wp-caption-text {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.size-full {
  max-width: 100%;
  height: auto;
}

figure,
picture {
  margin: 0;
  padding: 0;
}
figure img,
picture img {
  display: block;
}
figure .wp-caption-text,
picture .wp-caption-text {
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  margin-top: 0.2rem;
  font-style: italic;
  font-weight: 400;
}

.primary-button {
  transition: all 0.2s ease-in-out;
  background: #02205F;
  border: 1px solid #02205F;
  border-radius: 0.5rem;
  color: #FFF;
  cursor: pointer;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
  padding: 1.5rem;
  position: relative;
  text-decoration: none;
  z-index: 1;
}
.primary-button:before {
  transition: all 0.2s ease-in-out;
  background: #62D0D2;
  content: "";
  height: 100%;
  left: -1px;
  position: absolute;
  top: 0;
  transform: translateX(-100%);
  width: calc(100% + 1px);
  z-index: -1;
}
.primary-button:hover, .primary-button:active, .primary-button:focus-within, .primary-button:focus {
  color: #02205F;
  text-decoration: none;
}
.primary-button:hover:before, .primary-button:active:before, .primary-button:focus-within:before, .primary-button:focus:before {
  transform: translateX(0);
}
.primary-button:has(+ .primary-button) {
  margin-right: 1rem;
}

.secondary-button {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: 2rem;
  transition: all 0.2s ease-in-out;
  color: #02205F;
  cursor: pointer;
  font-weight: bold;
  gap: 0.75rem;
  width: fit-content;
}
.secondary-button:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  color: #02205F;
  content: "\e803";
  position: relative;
  font-size: 0.75rem;
  transform: rotate(-90deg);
}
.secondary-button:hover, .secondary-button:active, .secondary-button:focus-within, .secondary-button:focus {
  gap: 1rem;
}

blockquote {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  gap: 2rem;
  border-radius: 1.5rem;
  flex-direction: column;
  gap: 2rem;
  position: relative;
  background-color: #FFC746;
  margin: 0;
  padding: 2rem;
  font-size: 1.35rem;
  font-weight: 700;
}
blockquote .author {
  font-size: 1.125rem;
}
blockquote:before {
  color: #02205F;
  content: "\e844";
  font-family: "fontello";
  font-size: 3rem;
  line-height: 1;
}
@media only screen and (max-width: 768px) {
  blockquote:before {
    font-size: 2rem;
  }
}

table {
  font-size: 1rem;
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 2rem;
}
table caption {
  margin: 1em 0;
  font-weight: 600;
  font-size: 1.4rem;
}

thead td,
th {
  font-weight: bold;
}

th,
td {
  display: table-cell;
  vertical-align: inherit;
  text-align: inherit;
  padding: 0.5rem;
  text-align: left;
  border: 1px solid rgb(255, 222.1567567568, 146.5);
}

tbody tr:nth-child(odd) {
  background: rgba(0, 0, 0, 0.1);
}

hr {
  margin: 2em 0;
}

@media only screen and (max-width: 600px) {
  .alignleft,
  .alignright {
    display: block;
    float: none;
    margin: 0 0 3em 0;
  }
}
.primary-button {
  transition: all 0.2s ease-in-out;
  background: #02205F;
  border: 1px solid #02205F;
  border-radius: 0.5rem;
  color: #FFF;
  cursor: pointer;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
  padding: 1.5rem;
  position: relative;
  text-decoration: none;
  z-index: 1;
}
.primary-button:before {
  transition: all 0.2s ease-in-out;
  background: #62D0D2;
  content: "";
  height: 100%;
  left: -1px;
  position: absolute;
  top: 0;
  transform: translateX(-100%);
  width: calc(100% + 1px);
  z-index: -1;
}
.primary-button:hover, .primary-button:active, .primary-button:focus-within, .primary-button:focus {
  color: #02205F;
  text-decoration: none;
}
.primary-button:hover:before, .primary-button:active:before, .primary-button:focus-within:before, .primary-button:focus:before {
  transform: translateX(0);
}

iframe {
  aspect-ratio: 16/9;
  border: 0 none;
  height: auto;
  width: 100%;
}

html {
  font-size: 100%;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
}
html.mobile-menu-active {
  overflow: hidden;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  background: #FFF;
  color: #02205F;
  font-size: 1.125rem;
  line-height: 1.75;
  margin: 0;
  overflow: hidden;
  padding: 0;
}

.gap-xs {
  gap: 1rem;
}

.gap-sm {
  gap: 2rem;
}

.gap-md {
  gap: 2rem;
}
@media only screen and (min-width: 1024px) {
  .gap-md {
    gap: 4rem;
  }
}

.gap-lg {
  gap: 2.5rem;
}
@media only screen and (min-width: 1024px) {
  .gap-lg {
    gap: 6rem;
  }
}
@media only screen and (min-width: 1640px) {
  .gap-lg {
    gap: 8.75rem;
  }
}

.gap-xl {
  gap: 3rem;
}
@media only screen and (min-width: 1024px) {
  .gap-xl {
    gap: 8rem;
  }
}
@media only screen and (min-width: 1640px) {
  .gap-xl {
    gap: 14rem;
  }
}

.margin {
  margin-top: 4rem;
}
@media only screen and (min-width: 768px) {
  .margin {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .margin {
    margin-top: 4.5rem;
  }
}
@media only screen and (min-width: 1440px) {
  .margin {
    margin-top: 5rem;
  }
}
@media only screen and (min-width: 1640px) {
  .margin {
    margin-top: 6rem;
  }
}
@media only screen and (min-width: 1900px) {
  .margin {
    margin-top: 7rem;
  }
}
.margin {
  margin-bottom: 4rem;
}
@media only screen and (min-width: 768px) {
  .margin {
    margin-bottom: 4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .margin {
    margin-bottom: 4.5rem;
  }
}
@media only screen and (min-width: 1440px) {
  .margin {
    margin-bottom: 5rem;
  }
}
@media only screen and (min-width: 1640px) {
  .margin {
    margin-bottom: 6rem;
  }
}
@media only screen and (min-width: 1900px) {
  .margin {
    margin-bottom: 7rem;
  }
}

.margin-half {
  margin-top: 1rem;
}
@media only screen and (min-width: 768px) {
  .margin-half {
    margin-top: 1.5rem;
  }
}
@media only screen and (min-width: 1024px) {
  .margin-half {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 1440px) {
  .margin-half {
    margin-top: 2.5rem;
  }
}
@media only screen and (min-width: 1640px) {
  .margin-half {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 1900px) {
  .margin-half {
    margin-top: 3.5rem;
  }
}
.margin-half {
  margin-bottom: 1rem;
}
@media only screen and (min-width: 768px) {
  .margin-half {
    margin-bottom: 1.5rem;
  }
}
@media only screen and (min-width: 1024px) {
  .margin-half {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 1440px) {
  .margin-half {
    margin-bottom: 2.5rem;
  }
}
@media only screen and (min-width: 1640px) {
  .margin-half {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 1900px) {
  .margin-half {
    margin-bottom: 3.5rem;
  }
}

.margin-huge {
  margin-top: 4rem;
}
@media only screen and (min-width: 768px) {
  .margin-huge {
    margin-top: 6rem;
  }
}
@media only screen and (min-width: 1024px) {
  .margin-huge {
    margin-top: 7rem;
  }
}
@media only screen and (min-width: 1440px) {
  .margin-huge {
    margin-top: 8rem;
  }
}
@media only screen and (min-width: 1640px) {
  .margin-huge {
    margin-top: 10rem;
  }
}
@media only screen and (min-width: 1900px) {
  .margin-huge {
    margin-top: 12rem;
  }
}
.margin-huge {
  margin-bottom: 4rem;
}
@media only screen and (min-width: 768px) {
  .margin-huge {
    margin-bottom: 6rem;
  }
}
@media only screen and (min-width: 1024px) {
  .margin-huge {
    margin-bottom: 7rem;
  }
}
@media only screen and (min-width: 1440px) {
  .margin-huge {
    margin-bottom: 8rem;
  }
}
@media only screen and (min-width: 1640px) {
  .margin-huge {
    margin-bottom: 10rem;
  }
}
@media only screen and (min-width: 1900px) {
  .margin-huge {
    margin-bottom: 12rem;
  }
}

.margin-top {
  margin-top: 4rem;
}
@media only screen and (min-width: 768px) {
  .margin-top {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .margin-top {
    margin-top: 4.5rem;
  }
}
@media only screen and (min-width: 1440px) {
  .margin-top {
    margin-top: 5rem;
  }
}
@media only screen and (min-width: 1640px) {
  .margin-top {
    margin-top: 6rem;
  }
}
@media only screen and (min-width: 1900px) {
  .margin-top {
    margin-top: 7rem;
  }
}

.margin-top-half {
  margin-top: 1rem;
}
@media only screen and (min-width: 768px) {
  .margin-top-half {
    margin-top: 1.5rem;
  }
}
@media only screen and (min-width: 1024px) {
  .margin-top-half {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 1440px) {
  .margin-top-half {
    margin-top: 2.5rem;
  }
}
@media only screen and (min-width: 1640px) {
  .margin-top-half {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 1900px) {
  .margin-top-half {
    margin-top: 3.5rem;
  }
}

.margin-top-huge {
  margin-top: 4rem;
}
@media only screen and (min-width: 768px) {
  .margin-top-huge {
    margin-top: 6rem;
  }
}
@media only screen and (min-width: 1024px) {
  .margin-top-huge {
    margin-top: 7rem;
  }
}
@media only screen and (min-width: 1440px) {
  .margin-top-huge {
    margin-top: 8rem;
  }
}
@media only screen and (min-width: 1640px) {
  .margin-top-huge {
    margin-top: 10rem;
  }
}
@media only screen and (min-width: 1900px) {
  .margin-top-huge {
    margin-top: 12rem;
  }
}

.margin-bottom {
  margin-bottom: 4rem;
}
@media only screen and (min-width: 768px) {
  .margin-bottom {
    margin-bottom: 4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .margin-bottom {
    margin-bottom: 4.5rem;
  }
}
@media only screen and (min-width: 1440px) {
  .margin-bottom {
    margin-bottom: 5rem;
  }
}
@media only screen and (min-width: 1640px) {
  .margin-bottom {
    margin-bottom: 6rem;
  }
}
@media only screen and (min-width: 1900px) {
  .margin-bottom {
    margin-bottom: 7rem;
  }
}

.margin-bottom-half {
  margin-bottom: 1rem;
}
@media only screen and (min-width: 768px) {
  .margin-bottom-half {
    margin-bottom: 1.5rem;
  }
}
@media only screen and (min-width: 1024px) {
  .margin-bottom-half {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 1440px) {
  .margin-bottom-half {
    margin-bottom: 2.5rem;
  }
}
@media only screen and (min-width: 1640px) {
  .margin-bottom-half {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 1900px) {
  .margin-bottom-half {
    margin-bottom: 3.5rem;
  }
}

.margin-bottom-huge {
  margin-bottom: 4rem;
}
@media only screen and (min-width: 768px) {
  .margin-bottom-huge {
    margin-bottom: 6rem;
  }
}
@media only screen and (min-width: 1024px) {
  .margin-bottom-huge {
    margin-bottom: 7rem;
  }
}
@media only screen and (min-width: 1440px) {
  .margin-bottom-huge {
    margin-bottom: 8rem;
  }
}
@media only screen and (min-width: 1640px) {
  .margin-bottom-huge {
    margin-bottom: 10rem;
  }
}
@media only screen and (min-width: 1900px) {
  .margin-bottom-huge {
    margin-bottom: 12rem;
  }
}

.padding {
  padding-top: 4rem;
}
@media only screen and (min-width: 768px) {
  .padding {
    padding-top: 4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .padding {
    padding-top: 4.5rem;
  }
}
@media only screen and (min-width: 1440px) {
  .padding {
    padding-top: 5rem;
  }
}
@media only screen and (min-width: 1640px) {
  .padding {
    padding-top: 6rem;
  }
}
@media only screen and (min-width: 1900px) {
  .padding {
    padding-top: 7rem;
  }
}
.padding {
  padding-bottom: 4rem;
}
@media only screen and (min-width: 768px) {
  .padding {
    padding-bottom: 4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .padding {
    padding-bottom: 4.5rem;
  }
}
@media only screen and (min-width: 1440px) {
  .padding {
    padding-bottom: 5rem;
  }
}
@media only screen and (min-width: 1640px) {
  .padding {
    padding-bottom: 6rem;
  }
}
@media only screen and (min-width: 1900px) {
  .padding {
    padding-bottom: 7rem;
  }
}

.padding-half {
  padding-top: 1rem;
}
@media only screen and (min-width: 768px) {
  .padding-half {
    padding-top: 1.5rem;
  }
}
@media only screen and (min-width: 1024px) {
  .padding-half {
    padding-top: 2rem;
  }
}
@media only screen and (min-width: 1440px) {
  .padding-half {
    padding-top: 2.5rem;
  }
}
@media only screen and (min-width: 1640px) {
  .padding-half {
    padding-top: 3rem;
  }
}
@media only screen and (min-width: 1900px) {
  .padding-half {
    padding-top: 3.5rem;
  }
}
.padding-half {
  padding-bottom: 1rem;
}
@media only screen and (min-width: 768px) {
  .padding-half {
    padding-bottom: 1.5rem;
  }
}
@media only screen and (min-width: 1024px) {
  .padding-half {
    padding-bottom: 2rem;
  }
}
@media only screen and (min-width: 1440px) {
  .padding-half {
    padding-bottom: 2.5rem;
  }
}
@media only screen and (min-width: 1640px) {
  .padding-half {
    padding-bottom: 3rem;
  }
}
@media only screen and (min-width: 1900px) {
  .padding-half {
    padding-bottom: 3.5rem;
  }
}

.padding-huge {
  padding-top: 4rem;
}
@media only screen and (min-width: 768px) {
  .padding-huge {
    padding-top: 6rem;
  }
}
@media only screen and (min-width: 1024px) {
  .padding-huge {
    padding-top: 7rem;
  }
}
@media only screen and (min-width: 1440px) {
  .padding-huge {
    padding-top: 8rem;
  }
}
@media only screen and (min-width: 1640px) {
  .padding-huge {
    padding-top: 10rem;
  }
}
@media only screen and (min-width: 1900px) {
  .padding-huge {
    padding-top: 12rem;
  }
}
.padding-huge {
  padding-bottom: 4rem;
}
@media only screen and (min-width: 768px) {
  .padding-huge {
    padding-bottom: 6rem;
  }
}
@media only screen and (min-width: 1024px) {
  .padding-huge {
    padding-bottom: 7rem;
  }
}
@media only screen and (min-width: 1440px) {
  .padding-huge {
    padding-bottom: 8rem;
  }
}
@media only screen and (min-width: 1640px) {
  .padding-huge {
    padding-bottom: 10rem;
  }
}
@media only screen and (min-width: 1900px) {
  .padding-huge {
    padding-bottom: 12rem;
  }
}

.padding-top {
  padding-top: 4rem;
}
@media only screen and (min-width: 768px) {
  .padding-top {
    padding-top: 4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .padding-top {
    padding-top: 4.5rem;
  }
}
@media only screen and (min-width: 1440px) {
  .padding-top {
    padding-top: 5rem;
  }
}
@media only screen and (min-width: 1640px) {
  .padding-top {
    padding-top: 6rem;
  }
}
@media only screen and (min-width: 1900px) {
  .padding-top {
    padding-top: 7rem;
  }
}

.padding-top-half {
  padding-top: 1rem;
}
@media only screen and (min-width: 768px) {
  .padding-top-half {
    padding-top: 1.5rem;
  }
}
@media only screen and (min-width: 1024px) {
  .padding-top-half {
    padding-top: 2rem;
  }
}
@media only screen and (min-width: 1440px) {
  .padding-top-half {
    padding-top: 2.5rem;
  }
}
@media only screen and (min-width: 1640px) {
  .padding-top-half {
    padding-top: 3rem;
  }
}
@media only screen and (min-width: 1900px) {
  .padding-top-half {
    padding-top: 3.5rem;
  }
}

.padding-top-huge {
  padding-top: 4rem;
}
@media only screen and (min-width: 768px) {
  .padding-top-huge {
    padding-top: 6rem;
  }
}
@media only screen and (min-width: 1024px) {
  .padding-top-huge {
    padding-top: 7rem;
  }
}
@media only screen and (min-width: 1440px) {
  .padding-top-huge {
    padding-top: 8rem;
  }
}
@media only screen and (min-width: 1640px) {
  .padding-top-huge {
    padding-top: 10rem;
  }
}
@media only screen and (min-width: 1900px) {
  .padding-top-huge {
    padding-top: 12rem;
  }
}

.padding-bottom {
  padding-bottom: 4rem;
}
@media only screen and (min-width: 768px) {
  .padding-bottom {
    padding-bottom: 4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .padding-bottom {
    padding-bottom: 4.5rem;
  }
}
@media only screen and (min-width: 1440px) {
  .padding-bottom {
    padding-bottom: 5rem;
  }
}
@media only screen and (min-width: 1640px) {
  .padding-bottom {
    padding-bottom: 6rem;
  }
}
@media only screen and (min-width: 1900px) {
  .padding-bottom {
    padding-bottom: 7rem;
  }
}

.padding-bottom-half {
  padding-bottom: 1rem;
}
@media only screen and (min-width: 768px) {
  .padding-bottom-half {
    padding-bottom: 1.5rem;
  }
}
@media only screen and (min-width: 1024px) {
  .padding-bottom-half {
    padding-bottom: 2rem;
  }
}
@media only screen and (min-width: 1440px) {
  .padding-bottom-half {
    padding-bottom: 2.5rem;
  }
}
@media only screen and (min-width: 1640px) {
  .padding-bottom-half {
    padding-bottom: 3rem;
  }
}
@media only screen and (min-width: 1900px) {
  .padding-bottom-half {
    padding-bottom: 3.5rem;
  }
}

.padding-bottom-huge {
  padding-bottom: 4rem;
}
@media only screen and (min-width: 768px) {
  .padding-bottom-huge {
    padding-bottom: 6rem;
  }
}
@media only screen and (min-width: 1024px) {
  .padding-bottom-huge {
    padding-bottom: 7rem;
  }
}
@media only screen and (min-width: 1440px) {
  .padding-bottom-huge {
    padding-bottom: 8rem;
  }
}
@media only screen and (min-width: 1640px) {
  .padding-bottom-huge {
    padding-bottom: 10rem;
  }
}
@media only screen and (min-width: 1900px) {
  .padding-bottom-huge {
    padding-bottom: 12rem;
  }
}

.grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

@media only screen and (min-width: 1024px) {
  .grid-1-3 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media only screen and (min-width: 1440px) {
  .grid-1-3 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
  }
}

@media only screen and (min-width: 1024px) {
  .grid-1-2 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media only screen and (min-width: 1440px) {
  .grid-1-2 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }
}

@media only screen and (min-width: 1024px) {
  .grid-2 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}

@media only screen and (min-width: 1024px) {
  .grid-2-1 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media only screen and (min-width: 1440px) {
  .grid-2-1 {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  }
}

@media only screen and (min-width: 1024px) {
  .grid-2-3 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media only screen and (min-width: 1440px) {
  .grid-2-3 {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  }
}

@media only screen and (min-width: 1440px) {
  .grid-2-laptop {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}

@media only screen and (min-width: 768px) {
  .grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (min-width: 1024px) {
  .grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media only screen and (min-width: 768px) {
  .grid-3-laptop {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (min-width: 1440px) {
  .grid-3-laptop {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media only screen and (min-width: 1024px) {
  .grid-3-2 {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  }
}

@media only screen and (min-width: 1024px) {
  .grid-3-2-laptop {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media only screen and (min-width: 1440px) {
  .grid-3-2-laptop {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  }
}

@media only screen and (min-width: 1024px) {
  .grid-3-4 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media only screen and (min-width: 1440px) {
  .grid-3-4 {
    grid-template-columns: minmax(0, 3fr) minmax(0, 4fr);
  }
}

@media only screen and (min-width: 768px) {
  .grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (min-width: 1024px) {
  .grid-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (min-width: 1440px) {
  .grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media only screen and (min-width: 768px) {
  .grid-4-1 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (min-width: 1024px) {
  .grid-4-1 {
    grid-template-columns: 3fr 2fr;
  }
}
@media only screen and (min-width: 1440px) {
  .grid-4-1 {
    grid-template-columns: 4fr 1fr;
  }
}

@media only screen and (min-width: 1024px) {
  .grid-4-5 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media only screen and (min-width: 1440px) {
  .grid-4-5 {
    grid-template-columns: minmax(0, 4fr) minmax(0, 5fr);
  }
}

@media only screen and (min-width: 768px) {
  .grid-5-1 {
    grid-template-columns: 4fr 1fr;
  }
}
@media only screen and (min-width: 1640px) {
  .grid-5-1 {
    grid-template-columns: 5fr 1fr;
  }
}

@media only screen and (min-width: 1024px) {
  .layered {
    grid-column-start: 1;
    grid-row-start: 1;
  }
}

.flex {
  display: flex;
}

.flex-sb {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  gap: 2rem;
}

.container {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: calc(1290px + 8rem);
}
.container {
  padding-left: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .container {
    padding-left: 2rem;
  }
}
@media only screen and (min-width: 1024px) {
  .container {
    padding-left: 3rem;
  }
}
@media only screen and (min-width: 1440px) {
  .container {
    padding-left: 4rem;
  }
}
.container {
  padding-right: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .container {
    padding-right: 2rem;
  }
}
@media only screen and (min-width: 1024px) {
  .container {
    padding-right: 3rem;
  }
}
@media only screen and (min-width: 1440px) {
  .container {
    padding-right: 4rem;
  }
}
.container.narrow {
  max-width: calc(1210px + 8rem);
}
.container.no-padding-right {
  padding-right: 0;
}

.padding-left {
  padding-left: 1.5rem;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .padding-left {
    padding-left: 2rem;
  }
}
@media only screen and (min-width: 1024px) {
  .padding-left {
    padding-left: 3rem;
  }
}
@media only screen and (min-width: 1440px) {
  .padding-left {
    padding-left: 4rem;
  }
}
@media only screen and (min-width: calc(1290px + 8rem)) {
  .padding-left {
    padding-left: calc(4rem + (100% - (1290px + 8rem)) / 2);
  }
}

.margin-right {
  margin-right: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .margin-right {
    margin-right: 2rem;
  }
}
@media only screen and (min-width: 1024px) {
  .margin-right {
    margin-right: 3rem;
  }
}
@media only screen and (min-width: 1440px) {
  .margin-right {
    margin-right: 4rem;
  }
}
@media only screen and (min-width: calc(1290px + 8rem)) {
  .margin-right {
    margin-right: calc(4rem + (100% - (1290px + 8rem)) / 2);
  }
}

header.header {
  background: #FFF;
  position: relative;
  width: 100vw;
  will-change: transform;
  z-index: 3;
}
header.header section.top {
  border-bottom: 1px solid #E7E3DD;
}
header.header .container {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  gap: 2rem;
  padding-bottom: 1rem;
  padding-top: 1rem;
  position: relative;
}
@media only screen and (min-width: 1100px) {
  header.header .container {
    justify-content: flex-end;
    gap: 3rem;
  }
}
header.header .container .site-branding {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
}
@media only screen and (min-width: 1100px) {
  header.header .container .site-branding {
    margin-right: auto;
  }
}
header.header .container .site-branding img {
  display: block;
  height: auto;
  max-width: 100%;
  width: 310px;
}
header.header .search-trigger.active:after,
header.header #mobile-menu-trigger.active:after {
  content: "\e811";
}
header.header.sticky {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  transform: translateY(0);
  z-index: 1000;
}
header.header.sticky section.top,
header.header.sticky section.promotion {
  display: none;
}
header.header.sticky.hidden {
  transform: translateY(-100%);
}
header.header.sticky.animate {
  transition: all 0.2s ease-in-out;
}
header.header #mobile-menu-trigger,
header.header .search-trigger {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  transition: all 0.2s ease-in-out;
  aspect-ratio: 1/1;
  background: #00B4B8;
  border: 0 none;
  border-radius: 100%;
  color: #02205F;
  cursor: pointer;
  flex-direction: row-reverse;
  flex-shrink: 0;
  gap: 0.75rem;
  line-height: 1;
  width: 2.5rem;
}
header.header #mobile-menu-trigger:after,
header.header .search-trigger:after {
  font-size: 1rem;
}
header.header #mobile-menu-trigger:hover, header.header #mobile-menu-trigger:active, header.header #mobile-menu-trigger:focus-within, header.header #mobile-menu-trigger:focus,
header.header .search-trigger:hover,
header.header .search-trigger:active,
header.header .search-trigger:focus-within,
header.header .search-trigger:focus {
  background: #02205F;
  color: #FFF;
}
@media only screen and (max-width: 1099px) {
  header.header section.top .header-button {
    display: none;
  }
}

header li:before {
  display: none;
}

@media only screen and (max-width: 1099px) {
  header #secondary-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  header #secondary-navigation ul li {
    display: none;
  }
  header #secondary-navigation ul li:first-of-type {
    display: block;
  }
  header #secondary-navigation ul li:first-of-type a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
    font-size: 1.125rem;
    gap: 0.5rem;
    text-decoration: none;
  }
  header #secondary-navigation ul li:first-of-type a:before {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
    aspect-ratio: 1/1;
    background: #00B4B8;
    border-radius: 100%;
    content: "\e838";
    font-size: 1.25rem;
    line-height: 1;
    width: 2.25rem;
  }
  header #primary-navigation {
    transition: all 0.2s ease-in-out;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: unset;
    justify-content: unset;
    flex-direction: column;
    gap: 0;
    background: #00B4B8;
    height: calc(100vh - 100%);
    left: 0;
    max-width: 480px;
    overflow: auto;
    padding: 0.5rem 0 2rem;
    position: absolute;
    top: 100%;
    transform: translateX(-100vw);
    width: 100%;
    z-index: 3;
  }
  header #primary-navigation.active {
    animation: slideRight 0.5s ease forwards;
  }
  header #primary-navigation.closing {
    animation: slideLeft 0.5s ease forwards;
  }
  header #primary-navigation .toggle-sub-menu {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
    background: none;
    border: 0 none;
    line-height: 1;
    padding: 0;
    width: auto;
  }
  header #primary-navigation .toggle-sub-menu:after {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
    transition: all 0.2s ease-in-out;
    content: "\e803";
    color: #02205F;
    font-size: 0.875rem;
  }
  header #primary-navigation .toggle-sub-menu.active:after {
    transform: rotate(180deg);
  }
  header #primary-navigation .toggle-sub-menu:hover, header #primary-navigation .toggle-sub-menu:active, header #primary-navigation .toggle-sub-menu:focus-within, header #primary-navigation .toggle-sub-menu:focus {
    color: #000;
  }
  header #primary-navigation ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
    list-style: none;
  }
  header #primary-navigation ul li {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    gap: 2rem;
    border-bottom: 1px solid rgba(2, 32, 95, 0.25);
    box-sizing: border-box;
    gap: 0;
    flex-wrap: wrap;
    padding: 1.5rem;
    width: 100%;
  }
}
@media only screen and (max-width: 1099px) and (min-width: 768px) {
  header #primary-navigation ul li {
    padding: 1.5rem 2rem;
  }
}
@media only screen and (max-width: 1099px) and (min-width: 1024px) {
  header #primary-navigation ul li {
    padding: 1.5rem 3rem;
  }
}
@media only screen and (max-width: 1099px) {
  header #primary-navigation ul li a {
    background: none;
    display: block;
    color: #02205F;
    font-size: 1rem;
    font-weight: 700;
    padding: 0;
    text-decoration: none;
  }
  header #primary-navigation ul li:has(.toggle-sub-menu.active) {
    padding-bottom: 0;
  }
  header #primary-navigation ul .sub-menu {
    background: #E7E3DD;
    display: none;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    margin-top: 1.5rem;
    padding: 0 1.5rem;
    width: 100%;
  }
  header #primary-navigation ul .sub-menu li {
    border-bottom: 1px dotted rgba(2, 32, 95, 0.25);
    justify-content: flex-start;
    padding-left: 0;
    padding-right: 0;
  }
  header #primary-navigation ul .sub-menu li a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    gap: 2rem;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.1;
    width: 100%;
  }
  header #primary-navigation ul .sub-menu li a:after {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
    transition: all 0.2s ease-in-out;
    content: "\e802";
    color: #02205F;
    font-size: 0.7rem;
  }
  header #primary-navigation ul .sub-menu li a:hover:after, header #primary-navigation ul .sub-menu li a:active:after, header #primary-navigation ul .sub-menu li a:focus-within:after, header #primary-navigation ul .sub-menu li a:focus:after {
    color: #02205F;
  }
  header #primary-navigation ul .sub-menu li button {
    background: none;
    margin-left: 2rem;
    width: auto;
  }
  header #primary-navigation ul .sub-menu li:last-of-type {
    border-bottom: none;
  }
  header #primary-navigation ul .sub-menu .sub-menu {
    margin-bottom: 0;
    margin-top: 1.5rem;
  }
  header #primary-navigation #exit-menu-item {
    transition: all 0.2s ease-in-out;
    font-size: 0;
    position: relative;
    border-bottom: none;
  }
  header #primary-navigation #exit-menu-item:hover, header #primary-navigation #exit-menu-item:active, header #primary-navigation #exit-menu-item:focus-within, header #primary-navigation #exit-menu-item:focus {
    background-color: #00B4B8;
    color: white;
  }
  header #primary-navigation #exit-menu-item:hover + button .custom-icon, header #primary-navigation #exit-menu-item:active + button .custom-icon, header #primary-navigation #exit-menu-item:focus-within + button .custom-icon, header #primary-navigation #exit-menu-item:focus + button .custom-icon {
    color: white;
  }
  header #primary-navigation #exit-menu-item {
    opacity: 0;
    padding: 0;
  }
  header #primary-navigation #exit-menu-item:focus {
    opacity: 1;
  }
}
@media only screen and (min-width: 1100px) {
  #mobile-menu-trigger,
  #exit-menu-item,
  .toggle-sub-menu {
    display: none !important;
  }
  #secondary-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    gap: 2rem;
    border-right: 1px solid #E7E3DD;
    gap: 1rem;
    padding-right: 1rem;
  }
  #secondary-navigation ul li a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
    transition: all 0.2s ease-in-out;
    color: #02205F;
    font-size: 0.875rem;
    gap: 0.5rem;
    line-height: 1;
    text-decoration: none;
  }
  #secondary-navigation ul li:first-of-type {
    padding-left: 1.5rem;
    position: relative;
  }
  #secondary-navigation ul li:first-of-type a {
    text-underline-offset: 4px;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-decoration-thickness: 2px;
  }
  #secondary-navigation ul li:first-of-type a:before {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
    content: "\e838";
    font-size: 1rem;
    left: 0;
    position: absolute;
  }
  #secondary-navigation ul li:first-of-type a:hover, #secondary-navigation ul li:first-of-type a:active, #secondary-navigation ul li:first-of-type a:focus-within, #secondary-navigation ul li:first-of-type a:focus {
    text-decoration-color: #00B4B8;
  }
  #secondary-navigation ul li:not(:first-of-type) a {
    border: 1px solid #02205F;
    border-radius: 100px;
    padding: 0.5rem 1rem;
  }
  #secondary-navigation ul li:not(:first-of-type) a:hover, #secondary-navigation ul li:not(:first-of-type) a:active, #secondary-navigation ul li:not(:first-of-type) a:focus-within, #secondary-navigation ul li:not(:first-of-type) a:focus {
    background: #E7E3DD;
  }
  #primary-navigation {
    position: relative;
    z-index: 2;
  }
  #primary-navigation img {
    display: none;
  }
  #primary-navigation > ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    transition: height 0.25s ease-in-out;
  }
}
@media only screen and (min-width: 1100px) and (min-width: 1920px) {
  #primary-navigation > ul {
    gap: 3rem;
  }
}
@media only screen and (min-width: 1100px) {
  #primary-navigation > ul > li {
    position: relative;
  }
  #primary-navigation > ul > li > a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
    transition: all 0.2s ease-in-out;
    border-bottom: 5px solid transparent;
    color: #000;
    display: inline-flex;
    font-size: 1rem;
    font-weight: bold;
    gap: 1rem;
    line-height: 1;
    padding: 1em 0;
    position: relative;
    text-decoration: none;
    white-space: nowrap;
    z-index: 2;
  }
  #primary-navigation > ul > li.menu-item-has-children > a:after {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
    color: #00B4B8;
    content: "\e803";
    font-size: 0.7rem;
    line-height: 1;
  }
  #primary-navigation > ul > li:hover a, #primary-navigation > ul > li:active a, #primary-navigation > ul > li:focus-within a, #primary-navigation > ul > li:focus a {
    color: #00B4B8;
  }
  #primary-navigation > ul > li:hover > .sub-menu, #primary-navigation > ul > li:active > .sub-menu, #primary-navigation > ul > li:focus-within > .sub-menu, #primary-navigation > ul > li:focus > .sub-menu {
    opacity: 1;
    visibility: visible;
  }
  #primary-navigation > ul > li > .sub-menu {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: unset;
    justify-content: unset;
    flex-direction: column;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    background: #E7E3DD;
    border: 0 none;
    border-radius: 0.5rem;
    box-sizing: border-box;
    margin: 0;
    opacity: 0;
    padding: 1rem 1.5rem;
    position: absolute;
    top: 100%;
    visibility: hidden;
    width: max-content;
    z-index: 10;
  }
  #primary-navigation > ul > li > .sub-menu > li {
    display: block;
    margin: 0.5rem 0;
    padding: 0;
    position: relative;
  }
  #primary-navigation > ul > li > .sub-menu > li > a {
    transition: all 0.2s ease-in-out;
    align-items: center;
    border-radius: 5px;
    color: #000;
    display: block;
    line-height: 1.3rem;
    margin: 0;
    position: relative;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
  }
  #primary-navigation > ul > li > .sub-menu > li > a:hover, #primary-navigation > ul > li > .sub-menu > li > a:active, #primary-navigation > ul > li > .sub-menu > li > a:focus-within, #primary-navigation > ul > li > .sub-menu > li > a:focus {
    color: #02205F;
    text-decoration-color: #00B4B8;
  }
  #primary-navigation > ul > li > .sub-menu > li > a:hover:after, #primary-navigation > ul > li > .sub-menu > li > a:active:after, #primary-navigation > ul > li > .sub-menu > li > a:focus-within:after, #primary-navigation > ul > li > .sub-menu > li > a:focus:after {
    width: 100%;
  }
  #primary-navigation > ul > li > .sub-menu > li > .sub-menu {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: unset;
    justify-content: unset;
    flex-direction: column;
    gap: 0;
    transition: all 0.5s ease-in-out;
    background: rgba(255, 255, 255, 0.75);
    border-radius: 0.5rem;
    left: 100%;
    list-style: none;
    margin: 0;
    padding: 0.25rem 0 0.5rem;
    opacity: 0;
    position: absolute;
    visibility: hidden;
    top: 0;
    transition: opacity 0.5s ease-in;
    transition-delay: 0;
    width: max-content;
    z-index: 10;
  }
  #primary-navigation > ul > li > .sub-menu > li > .sub-menu li {
    display: block;
  }
  #primary-navigation > ul > li > .sub-menu > li > .sub-menu li a {
    transition: all 0.2s ease-in-out;
    align-items: center;
    background: none;
    border-radius: 10px;
    color: #000;
    display: inline-flex;
    line-height: 1.3rem;
    padding: 0.5rem 1.75rem;
    text-decoration: none;
  }
  #primary-navigation > ul > li > .sub-menu > li > .sub-menu li a:hover, #primary-navigation > ul > li > .sub-menu > li > .sub-menu li a:active, #primary-navigation > ul > li > .sub-menu > li > .sub-menu li a:focus-within, #primary-navigation > ul > li > .sub-menu > li > .sub-menu li a:focus {
    color: #00B4B8;
  }
  #primary-navigation > ul > li > .sub-menu > li > .sub-menu li a:hover:after, #primary-navigation > ul > li > .sub-menu > li > .sub-menu li a:active:after, #primary-navigation > ul > li > .sub-menu > li > .sub-menu li a:focus-within:after, #primary-navigation > ul > li > .sub-menu > li > .sub-menu li a:focus:after {
    border: 1px solid #FFF;
    color: #FFF;
  }
  #primary-navigation > ul > li > .sub-menu > li:hover > .sub-menu, #primary-navigation > ul > li > .sub-menu > li:active > .sub-menu, #primary-navigation > ul > li > .sub-menu > li:focus-within > .sub-menu, #primary-navigation > ul > li > .sub-menu > li:focus > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
  }
  #primary-navigation > ul > li > .sub-menu > li.current-menu-item a {
    text-decoration-color: #00B4B8;
  }
  #primary-navigation > ul > li.current-menu-item a {
    border-color: #00B4B8;
  }
  #primary-navigation > ul > li .sub-menu .current-menu-item a:after {
    width: 100%;
  }
  #primary-navigation > ul > li .sub-menu .current-menu-item a:after {
    border-color: #FFF;
    color: #FFF;
  }
  #primary-navigation > ul li.menu-item-has-children:nth-last-child(2) .sub-menu {
    left: auto;
    right: 0;
  }
}
footer.footer {
  background: #02205F;
  color: #FFF;
  position: relative;
}
footer.footer .site-branding {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: 2rem;
  align-items: flex-start;
  margin-bottom: 2rem;
}
footer.footer .site-branding img {
  display: block;
  height: auto;
  max-width: 310px;
  width: 100%;
}
footer.footer a {
  color: #FFF;
  text-decoration-color: #00B4B8;
}
footer.footer a:hover, footer.footer a:active, footer.footer a:focus-within, footer.footer a:focus {
  text-decoration-color: #FFF;
}
footer.footer a.contact {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: 2rem;
  gap: 0;
  padding-left: 2rem;
  position: relative;
}
footer.footer a.contact .custom-icon {
  left: 0;
  position: absolute;
}
footer.footer a.contact .custom-icon:after {
  font-size: 1.125rem;
}
footer.footer a.contact:first-of-type {
  margin-top: 2rem;
}
footer.footer a.contact:last-of-type .custom-icon:after {
  font-size: 0.875rem;
}
footer.footer p {
  margin-top: 0;
}
footer.footer .socials {
  margin-top: 4rem;
}
footer.footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
footer.footer .site-credits {
  background: #FFF;
  color: #02205F;
  padding: 2rem 0 4rem;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 1024px) {
  footer.footer .site-credits {
    padding: 2rem 0 0;
  }
}
@media only screen and (min-width: 1440px) {
  footer.footer .site-credits {
    background: none;
    padding: 2rem 0;
  }
}
@media only screen and (max-width: 1023px) {
  footer.footer .site-credits .container {
    flex-direction: column;
  }
}
@media only screen and (min-width: 1024px) {
  footer.footer .site-credits .container {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 1440px) {
  footer.footer .site-credits .container {
    margin-bottom: 0;
    position: relative;
    z-index: 2;
  }
}
footer.footer .site-credits .credits-nav ul {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: row;
  gap: 2rem;
}
@media only screen and (min-width: 1024px) {
  footer.footer .site-credits .credits-nav {
    margin-left: auto;
  }
}
footer.footer .site-credits a {
  color: #02205F;
  position: relative;
  z-index: 3;
}
@media only screen and (max-width: 1023px) {
  footer.footer .site-credits .flex-sb {
    gap: 0.5rem;
  }
}
footer.footer .wave {
  display: block;
  bottom: 0;
  height: auto;
  position: absolute;
  width: 100%;
  z-index: 2;
}
@media only screen and (min-width: 1024px) {
  footer.footer .wave {
    position: static;
  }
}
@media only screen and (min-width: 1440px) {
  footer.footer .wave {
    position: absolute;
    z-index: 0;
  }
}
footer.footer .top {
  position: relative;
  z-index: 3;
}

.accordions {
  background: #E7E3DD;
  position: relative;
  width: 100%;
}
.accordions details {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 2rem;
  transition: all 0.2s ease-in-out;
  background-color: #02205F;
  border: 1px solid #000;
  border-radius: 1rem;
  box-sizing: border-box;
  cursor: pointer;
  gap: 0;
  overflow: hidden;
  padding: 0;
  width: 100%;
}
.accordions details[open] {
  background: #FFF;
  padding-bottom: 1rem;
}
.accordions details summary {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  gap: 2rem;
  transition: all 0.2s ease-in-out;
  box-sizing: border-box;
  border-radius: 1rem;
  color: #FFF;
  font-size: 1.25rem;
  list-style: none;
  padding: 1.25rem 2.5rem;
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  .accordions details summary {
    font-size: 1.5rem;
  }
}
.accordions details summary::-webkit-details-marker {
  display: none;
}
.accordions details summary::after {
  transition: all 0.2s ease-in-out;
  content: "\e803";
  font-family: fontello;
}
.accordions details[open] summary {
  background: #FFF;
  color: #02205F;
}
.accordions details[open] summary::after {
  transform: rotate(180deg);
}
.accordions details::details-content {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows 0.5s ease-in-out, content-visibility 0.5s ease-in-out allow-discrete;
}
.accordions details[open]::details-content {
  grid-template-rows: 1fr;
}
.accordions details div[role=region] {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 2rem;
  box-sizing: border-box;
  gap: 1.5rem;
  overflow: hidden;
  width: 100%;
}
.accordions details div[role=region] p,
.accordions details div[role=region] ol,
.accordions details div[role=region] ul,
.accordions details div[role=region] h2,
.accordions details div[role=region] h3,
.accordions details div[role=region] h4 {
  margin: 0 2.5rem;
}
.accordions details div[role=region] p:last-of-type {
  margin-bottom: 1rem;
}
.accordions details[open] div[role=region] {
  transition: padding 0.5s ease-in-out;
}
.accordions + section.cta {
  background: #E7E3DD;
}

.breadcrumbs .breadcrumb {
  display: none;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .breadcrumbs .breadcrumb {
    list-style: none;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: unset;
    justify-content: unset;
    flex-direction: row;
    gap: 0;
    flex-wrap: wrap;
    max-width: 1440px;
  }
  .breadcrumbs .breadcrumb li {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: row;
    gap: 2rem;
    color: #FFF;
    gap: 0;
    margin: 0;
    padding-left: 0;
  }
  .breadcrumbs .breadcrumb li:before {
    display: none;
  }
  .breadcrumbs .breadcrumb li a {
    color: #FFF;
    overflow-wrap: break-word;
    text-decoration: underline;
    text-underline-offset: 4px;
    transition: all 0.2s ease-in-out;
    border-bottom: none;
  }
  .breadcrumbs .breadcrumb li a:hover, .breadcrumbs .breadcrumb li a:active, .breadcrumbs .breadcrumb li a:focus-within, .breadcrumbs .breadcrumb li a:focus {
    text-decoration: underline dashed;
  }
  .breadcrumbs .breadcrumb li:first-child a {
    font-size: 0;
    line-height: 1;
    text-decoration: none;
  }
  .breadcrumbs .breadcrumb li:first-child a:after {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
    transition: all 0.2s ease-in-out;
    aspect-ratio: 1/1;
    background: #E7E3DD;
    border: 1px solid #E7E3DD;
    border-radius: 100%;
    color: #000;
    content: "\e830";
    font-size: 1rem;
    text-decoration: none !important;
    width: 2.5em;
  }
  .breadcrumbs .breadcrumb li:first-child a:hover:after, .breadcrumbs .breadcrumb li:first-child a:active:after, .breadcrumbs .breadcrumb li:first-child a:focus-within:after, .breadcrumbs .breadcrumb li:first-child a:focus:after {
    background: #02205F;
    color: #FFF;
  }
  .breadcrumbs .breadcrumb li:not(:last-child):after {
    content: "/";
    margin: 0 0.5em;
    color: #FFF;
  }
}

a.card {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 2rem;
  text-decoration: none;
}
a.card picture {
  aspect-ratio: 5/3;
  border-radius: 0.5em;
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
}
a.card picture img {
  transition: all 0.2s ease-in-out;
  display: block;
  height: 100%;
  object-fit: cover;
  position: absolute;
  width: 100%;
}
a.card .column {
  flex: 1;
  gap: 0;
}
a.card .column h3 {
  margin-bottom: 1.5em;
  margin-top: 0;
}
a.card .column p {
  margin: 0;
}
a.card .column .secondary-button {
  margin-top: auto;
}
a.card:hover picture img, a.card:active picture img, a.card:focus-within picture img, a.card:focus picture img {
  transform: scale(1.05);
}
a.card:hover .secondary-button, a.card:active .secondary-button, a.card:focus-within .secondary-button, a.card:focus .secondary-button {
  gap: 1rem;
}

form {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 2rem;
  gap: 1rem;
  width: 100%;
}
form .error {
  background: red;
  border: 0 none;
  border-radius: 0.5rem;
  color: #FFF;
  box-sizing: border-box;
  display: none;
  font-size: 1.125rem;
  padding: 0.75em 1rem;
  width: 100%;
  margin: 0;
}
form input,
form select,
form textarea {
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  background: #E7E3DD;
  border: 0 none;
  border-radius: 0.5rem;
  box-sizing: border-box;
  font-size: 1.125rem;
  padding: 0.75em 1rem;
  width: 100%;
}

.frm_forms button {
  transition: all 0.2s ease-in-out;
  background: #02205F;
  border: 1px solid #02205F;
  border-radius: 0.5rem;
  color: #FFF;
  cursor: pointer;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
  padding: 1.5rem;
  position: relative;
  text-decoration: none;
  z-index: 1;
}
.frm_forms button:before {
  transition: all 0.2s ease-in-out;
  background: #62D0D2;
  content: "";
  height: 100%;
  left: -1px;
  position: absolute;
  top: 0;
  transform: translateX(-100%);
  width: calc(100% + 1px);
  z-index: -1;
}
.frm_forms button:hover, .frm_forms button:active, .frm_forms button:focus-within, .frm_forms button:focus {
  color: #02205F;
  text-decoration: none;
}
.frm_forms button:hover:before, .frm_forms button:active:before, .frm_forms button:focus-within:before, .frm_forms button:focus:before {
  transform: translateX(0);
}
.frm_forms h1, .frm_forms h2, .frm_forms h3, .frm_forms h4 {
  color: #000;
}

.frm_form_fields {
  width: 100%;
}

body.page-template-full-width section.content form {
  margin-top: 4rem;
}
body.page-template-full-width section.content form .frm_forms,
body.page-template-full-width section.content form .frm_form_fields {
  width: 100%;
}
body.page-template-full-width section.content form .frm_form_fields {
  background: #FFF;
  border-radius: 1rem;
  padding: 2rem;
}

div.head {
  align-items: flex-end;
}
@media only screen and (max-width: 767px) {
  div.head {
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem;
  }
}
div.head h2 {
  margin: 0;
}
div.head p {
  max-width: 830px;
}

#gallery-lightbox {
  border: none;
  background: transparent;
  padding: 0;
  max-width: 90vw;
  max-height: 90vh;
}

#gallery-lightbox::backdrop {
  background: rgba(0, 0, 0, 0.85);
}

#gallery-lightbox-img {
  display: block;
  max-width: 100%;
  max-height: 85vh;
  object-fit: contain;
  width: 100%;
}

.gallery {
  max-width: 540px;
  margin: 4rem auto !important;
  width: 100%;
}
.gallery a {
  background: none;
}

.swiper-gallery-main {
  width: 100%;
}
.swiper-gallery-main .swiper-slide {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: unset;
  justify-content: unset;
  flex-direction: column;
  gap: 0;
  position: relative;
}
.swiper-gallery-main .swiper-slide img {
  aspect-ratio: 4/3;
  border-radius: 20px;
  display: block;
  object-fit: cover;
  order: -1;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .swiper-gallery-main .swiper-slide img {
    border-radius: 40px;
  }
}
.swiper-gallery-main .swiper-slide .caption {
  background: #E7E3DD;
  border-radius: 10px;
  top: calc(100% - 0.75rem);
  color: #FFF;
  margin: 1rem 0;
  padding: 0.5em 1rem;
  position: absolute;
  width: calc(100% - 2em);
}
@media only screen and (min-width: 768px) {
  .swiper-gallery-main .swiper-slide .caption {
    bottom: 1rem;
    margin: 1rem;
    top: auto;
    width: calc(100% - 11rem);
  }
}
.swiper-gallery-main .nav-controls {
  bottom: 0;
  height: 100px;
  position: absolute;
  right: 1.5rem;
  width: 120px;
  z-index: 10;
}
.swiper-gallery-main .nav-controls button {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  background: #E7E3DD;
  border: 0 none;
  border-radius: 10px;
  bottom: 2rem;
  color: #FFF;
  padding: 0.5em 1.5rem;
  top: auto;
}
.swiper-gallery-main .nav-controls button:after {
  font-size: 1.5rem;
}
.swiper-gallery-main .nav-controls button.swiper-button-prev {
  left: auto;
  right: 4rem;
}
.swiper-gallery-main .nav-controls button:hover, .swiper-gallery-main .nav-controls button:active, .swiper-gallery-main .nav-controls button:focus-within, .swiper-gallery-main .nav-controls button:focus {
  background: #E7E3DD;
}
.swiper-gallery-main .nav-controls button svg {
  display: none;
}
.swiper-gallery-main .nav-controls button:before {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  color: #02205F;
  content: "\e803";
  font-size: 1rem;
}
.swiper-gallery-main .nav-controls button.swiper-button-prev {
  transform: rotate(90deg);
}
.swiper-gallery-main .nav-controls button.swiper-button-next {
  transform: rotate(-90deg);
}

.swiper.swiper-gallery-thumbs {
  display: none;
  margin-top: 1rem;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .swiper.swiper-gallery-thumbs {
    display: block;
  }
}
.swiper.swiper-gallery-thumbs button {
  background: none;
  border: 2px solid #E7E3DD;
  border-radius: 20px;
  cursor: pointer;
  margin: 0;
  overflow: hidden;
  padding: 0;
}
.swiper.swiper-gallery-thumbs button img {
  aspect-ratio: 4/3;
  display: block;
  object-fit: cover;
  opacity: 0.45;
  width: 100%;
}
.swiper.swiper-gallery-thumbs button.swiper-slide-thumb-active {
  border: 4px solid #E7E3DD;
}
.swiper.swiper-gallery-thumbs button.swiper-slide-thumb-active img {
  opacity: 1;
}

nav.posts-navigation {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: 2rem;
  flex-wrap: wrap;
  gap: 0.5rem;
}
nav.posts-navigation .current,
nav.posts-navigation a:not(.primary-button) {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  transition: all 0.2s ease-in-out;
  aspect-ratio: 1/1;
  background: #FFC746;
  border-radius: 100%;
  color: #FFF;
  line-height: 1;
  padding: 0;
  text-decoration: none;
  width: 3rem;
}
nav.posts-navigation .current .custom-icon:after,
nav.posts-navigation a:not(.primary-button) .custom-icon:after {
  font-size: 1rem;
}
nav.posts-navigation .current:hover, nav.posts-navigation .current:active, nav.posts-navigation .current:focus-within, nav.posts-navigation .current:focus,
nav.posts-navigation a:not(.primary-button):hover,
nav.posts-navigation a:not(.primary-button):active,
nav.posts-navigation a:not(.primary-button):focus-within,
nav.posts-navigation a:not(.primary-button):focus {
  background: #02205F;
}
nav.posts-navigation .primary-button {
  height: 48px;
  padding-bottom: 0;
  padding-top: 0;
}
nav.posts-navigation .current {
  background: #02205F;
}
nav.posts-navigation .prev:after {
  transform: rotate(90deg);
}
nav.posts-navigation .next:after {
  transform: rotate(-90deg);
}

form.search-form {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  transition: all 0.2s ease-in-out;
  gap: 0.5rem;
  max-width: 560px;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 2;
}
form.search-form input[type=search] {
  width: 100%;
}
form.search-form label {
  width: 100%;
}

header form.search-form {
  background: #FFF;
  max-width: 0;
  position: absolute;
  right: 4.5rem;
  top: 50%;
  transform: translateY(-50%);
  width: calc(100vw - 6rem);
}
header form.search-form input {
  margin: 0.25rem;
}
header form.search-form button {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  transition: all 0.2s ease-in-out;
  aspect-ratio: 1/1;
  background: #00B4B8;
  border: 0 none;
  border-radius: 100%;
  color: #02205F;
  cursor: pointer;
  flex-direction: row-reverse;
  flex-shrink: 0;
  gap: 0.75rem;
  line-height: 1;
  width: 2.5rem;
}
header form.search-form button:after {
  font-size: 1rem;
}
header form.search-form button:hover, header form.search-form button:active, header form.search-form button:focus-within, header form.search-form button:focus {
  background: #02205F;
  color: #FFF;
}
header form.search-form.active {
  max-width: 420px;
}
@media only screen and (min-width: 768px) {
  header form.search-form {
    right: 5.125rem;
  }
}
@media only screen and (min-width: 1024px) {
  header form.search-form {
    right: 6.125rem;
  }
}
@media only screen and (min-width: calc(1290px + 8rem)) {
  header form.search-form {
    right: calc(7.125rem + (100% - (1290px + 8rem)) / 2);
  }
}

main .search-trigger {
  display: none;
}

section.socials {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: 2rem;
  gap: 1rem;
}
section.socials p {
  margin: 0;
}
section.socials .wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: 0.75em;
}

a.social-item.bluesky {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  aspect-ratio: 1/1;
  background: #00B4B8;
  border: 1px solid #00B4B8;
  border-radius: 100%;
  color: #02205F;
  line-height: 100%;
  padding: 0;
  text-decoration: none;
  width: 4rem;
}
a.social-item.bluesky:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e849";
  font-size: 1.5em;
}
a.social-item.bluesky:hover, a.social-item.bluesky:active, a.social-item.bluesky:focus-within, a.social-item.bluesky:focus {
  background: #02205F;
}
a.social-item.bluesky:hover:after, a.social-item.bluesky:active:after, a.social-item.bluesky:focus-within:after, a.social-item.bluesky:focus:after {
  color: #00B4B8;
}

a.social-item.facebook {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  aspect-ratio: 1/1;
  background: #00B4B8;
  border: 1px solid #00B4B8;
  border-radius: 100%;
  color: #02205F;
  line-height: 100%;
  padding: 0;
  text-decoration: none;
  width: 4rem;
}
a.social-item.facebook:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e850";
  font-size: 1.5em;
}
a.social-item.facebook:hover, a.social-item.facebook:active, a.social-item.facebook:focus-within, a.social-item.facebook:focus {
  background: #02205F;
}
a.social-item.facebook:hover:after, a.social-item.facebook:active:after, a.social-item.facebook:focus-within:after, a.social-item.facebook:focus:after {
  color: #00B4B8;
}

a.social-item.instagram {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  aspect-ratio: 1/1;
  background: #00B4B8;
  border: 1px solid #00B4B8;
  border-radius: 100%;
  color: #02205F;
  line-height: 100%;
  padding: 0;
  text-decoration: none;
  width: 4rem;
}
a.social-item.instagram:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e851";
  font-size: 1.5em;
}
a.social-item.instagram:hover, a.social-item.instagram:active, a.social-item.instagram:focus-within, a.social-item.instagram:focus {
  background: #02205F;
}
a.social-item.instagram:hover:after, a.social-item.instagram:active:after, a.social-item.instagram:focus-within:after, a.social-item.instagram:focus:after {
  color: #00B4B8;
}

a.social-item.x {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  aspect-ratio: 1/1;
  background: #00B4B8;
  border: 1px solid #00B4B8;
  border-radius: 100%;
  color: #02205F;
  line-height: 100%;
  padding: 0;
  text-decoration: none;
  width: 4rem;
}
a.social-item.x:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e857";
  font-size: 1.5em;
}
a.social-item.x:hover, a.social-item.x:active, a.social-item.x:focus-within, a.social-item.x:focus {
  background: #02205F;
}
a.social-item.x:hover:after, a.social-item.x:active:after, a.social-item.x:focus-within:after, a.social-item.x:focus:after {
  color: #00B4B8;
}

a.social-item.youtube {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  aspect-ratio: 1/1;
  background: #00B4B8;
  border: 1px solid #00B4B8;
  border-radius: 100%;
  color: #02205F;
  line-height: 100%;
  padding: 0;
  text-decoration: none;
  width: 4rem;
}
a.social-item.youtube:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e856";
  font-size: 1.5em;
}
a.social-item.youtube:hover, a.social-item.youtube:active, a.social-item.youtube:focus-within, a.social-item.youtube:focus {
  background: #02205F;
}
a.social-item.youtube:hover:after, a.social-item.youtube:active:after, a.social-item.youtube:focus-within:after, a.social-item.youtube:focus:after {
  color: #00B4B8;
}

a.social-item.linkedin {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  aspect-ratio: 1/1;
  background: #00B4B8;
  border: 1px solid #00B4B8;
  border-radius: 100%;
  color: #02205F;
  line-height: 100%;
  padding: 0;
  text-decoration: none;
  width: 4rem;
}
a.social-item.linkedin:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e852";
  font-size: 1.5em;
}
a.social-item.linkedin:hover, a.social-item.linkedin:active, a.social-item.linkedin:focus-within, a.social-item.linkedin:focus {
  background: #02205F;
}
a.social-item.linkedin:hover:after, a.social-item.linkedin:active:after, a.social-item.linkedin:focus-within:after, a.social-item.linkedin:focus:after {
  color: #00B4B8;
}

a.social-item.email {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  aspect-ratio: 1/1;
  background: #00B4B8;
  border: 1px solid #00B4B8;
  border-radius: 100%;
  color: #02205F;
  line-height: 100%;
  padding: 0;
  text-decoration: none;
  width: 4rem;
}
a.social-item.email:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  transition: all 0.2s ease-in-out;
  content: "\e822";
  font-size: 1.5em;
}
a.social-item.email:hover, a.social-item.email:active, a.social-item.email:focus-within, a.social-item.email:focus {
  background: #02205F;
}
a.social-item.email:hover:after, a.social-item.email:active:after, a.social-item.email:focus-within:after, a.social-item.email:focus:after {
  color: #00B4B8;
}

div.swiper.default {
  padding-left: 1.5rem;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  div.swiper.default {
    padding-left: 2rem;
  }
}
@media only screen and (min-width: 1024px) {
  div.swiper.default {
    padding-left: 3rem;
  }
}
@media only screen and (min-width: 1440px) {
  div.swiper.default {
    padding-left: 4rem;
  }
}
@media only screen and (min-width: calc(1290px + 8rem)) {
  div.swiper.default {
    padding-left: calc(4rem + (100% - (1290px + 8rem)) / 2);
  }
}
div.swiper.default .swiper-wrapper {
  gap: 1.5rem;
  scroll-snap-type: none !important;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  div.swiper.default .swiper-wrapper {
    gap: 2rem;
  }
}
div.swiper.default .swiper-wrapper .swiper-slide {
  box-sizing: border-box;
  display: flex;
  height: auto;
  width: calc(100% - 1.5rem);
}
@media only screen and (min-width: 768px) {
  div.swiper.default .swiper-wrapper .swiper-slide {
    flex-basis: calc(50% - 2rem);
    width: 100%;
  }
}
@media only screen and (min-width: 1024px) {
  div.swiper.default .swiper-wrapper .swiper-slide {
    flex-basis: calc(33.33% - 2.75rem);
  }
}
@media only screen and (min-width: calc(1290px + 8rem)) {
  div.swiper.default .swiper-wrapper .swiper-slide {
    flex-basis: calc((1290px + 8rem - 12rem) / 3);
  }
}
div.swiper.default .swiper-navigation {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  gap: 2rem;
  margin-right: 1.5rem;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  div.swiper.default .swiper-navigation {
    margin-right: 2rem;
  }
}
@media only screen and (min-width: 1024px) {
  div.swiper.default .swiper-navigation {
    margin-right: 3rem;
  }
}
@media only screen and (min-width: 1440px) {
  div.swiper.default .swiper-navigation {
    margin-right: 4rem;
  }
}
@media only screen and (min-width: calc(1290px + 8rem)) {
  div.swiper.default .swiper-navigation {
    margin-right: calc((100vw - (1290px + 8rem)) / 2 + 4rem);
  }
}
div.swiper.default .swiper-navigation .swiper-button-prev,
div.swiper.default .swiper-navigation .swiper-button-next,
div.swiper.default .swiper-navigation .swiper-pagination {
  bottom: unset;
  left: unset;
  line-height: 1;
  margin: unset;
  position: relative;
  right: unset;
  top: unset;
  z-index: 1;
}
div.swiper.default .swiper-navigation .swiper-button-prev,
div.swiper.default .swiper-navigation .swiper-button-next {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  transition: all 0.2s ease-in-out;
  background: #FFF;
  border-radius: 50px;
  box-sizing: border-box;
  height: auto;
  padding: 1.25rem 1.5rem;
  width: 4rem;
}
@media only screen and (min-width: 1024px) {
  div.swiper.default .swiper-navigation .swiper-button-prev,
  div.swiper.default .swiper-navigation .swiper-button-next {
    padding: 1.5rem 2.5rem;
    width: 6rem;
  }
}
div.swiper.default .swiper-navigation .swiper-button-prev svg,
div.swiper.default .swiper-navigation .swiper-button-next svg {
  display: none;
}
div.swiper.default .swiper-navigation .swiper-button-prev:before,
div.swiper.default .swiper-navigation .swiper-button-next:before {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  color: #02205F;
  content: "\e802";
  font-size: 1rem;
}
div.swiper.default .swiper-navigation .swiper-button-prev {
  transform: rotate(180deg);
}
div.swiper.default .swiper-navigation .swiper-pagination {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  gap: 0.5rem;
}
div.swiper.default .swiper-navigation .swiper-pagination .swiper-pagination-bullet {
  transition: all 0.2s ease-in-out;
  background: rgba(2, 32, 95, 0.25);
  border-radius: 50px;
  cursor: pointer;
  height: 0.75rem;
  opacity: 1;
  width: 0.75rem;
}
div.swiper.default .swiper-navigation .swiper-pagination .swiper-pagination-bullet-active {
  background: #02205F;
  width: 2rem;
}
div.swiper.default .swiper-navigation.hide {
  display: none;
}
div.swiper.default .swiper-navigation:has(.swiper-button-prev.swiper-button-disabled):has(.swiper-button-next.swiper-button-disabled) {
  display: none;
}

.swiper-slide {
  display: flex !important;
}

section.about img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

section.case-study picture img {
  height: auto;
  width: 100%;
}
section.case-study:nth-of-type(even) {
  background: #E7E3DD;
}
section.case-study blockquote {
  margin-top: 3rem;
}

section.content .container h2:first-of-type {
  margin-top: 0;
}
section.content .container.fluid {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 2rem;
}
@media only screen and (min-width: 1024px) {
  section.content .container.fluid {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    gap: 2rem;
    align-items: flex-start;
  }
}
section.content .container.fluid article {
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  section.content .container.fluid article {
    max-width: 870px;
  }
}
section.content .container.fluid aside,
section.content .container.fluid section.sidebar {
  box-sizing: border-box;
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  section.content .container.fluid aside,
  section.content .container.fluid section.sidebar {
    max-width: 410px;
  }
}
section.content .container.fluid section.sidebar {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 2rem;
  border-radius: 1rem;
  gap: 1.5rem;
  padding: 2rem;
}
section.content .container.fluid section.sidebar h3,
section.content .container.fluid section.sidebar p {
  margin: 0;
}

body.page-template-full-width section.content .container {
  max-width: 945px;
  z-index: 1;
}
body.page-template-full-width section.content .container article {
  max-width: none;
}

section.content-panel .abstract {
  display: none;
}
section.content-panel:nth-child(2) .background {
  background: #E7E3DD;
}
section.content-panel:nth-child(2) .abstract {
  background: #E7E3DD;
  display: block;
  transform: rotate(180deg) scaleX(-1);
}
section.content-panel .container {
  align-items: center;
}
section.content-panel .container picture img {
  aspect-ratio: 4/3;
  height: auto;
  object-fit: cover;
  width: 100%;
}

section.cta .background {
  background: #62D0D2;
}
section.cta .abstract {
  background: #62D0D2;
  display: block;
  transform: scaleX(-1);
}
section.cta .container {
  align-items: center;
}
section.cta .container h2 {
  margin-top: 0;
}
section.cta .container picture img {
  aspect-ratio: 4/3;
  height: auto;
  object-fit: cover;
  width: 100%;
}

section.hero {
  color: #FFF;
  overflow: hidden;
}
section.hero .column {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  gap: 2rem;
  justify-content: center;
  max-width: 640px;
}
section.hero .column h1,
section.hero .column p {
  margin: 0;
}
section.hero picture {
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  section.hero picture {
    aspect-ratio: 4/3;
  }
}
section.hero picture img {
  border-radius: 1rem;
  display: block;
  height: 100%;
  object-fit: cover;
  position: absolute;
  width: 100%;
}
section.hero .primary-button {
  border: 1px solid #00B4B8;
}
section.hero.default .label {
  background: #E7E3DD;
  color: #02205F;
}
section.hero .background {
  background: #02205F;
}
section.hero .abstract {
  background: #02205F;
  transform: rotate(180deg) scaleX(-1);
}

section.news .background {
  background: #FFC746;
}
section.news .abstract {
  background: #FFC746;
}
section.news .head h2 {
  text-align: center;
  width: 100%;
}
section.news .head .primary-button {
  margin: 0 auto;
}

section.services .card {
  border-radius: 0.5rem;
  position: relative;
  z-index: 2;
}
section.services .card .abstract {
  position: absolute;
  bottom: -1px;
  z-index: 1;
}
section.services .card:first-of-type {
  background: #F79439;
}
section.services .card:first-of-type .abstract {
  background: #F79439;
}
section.services .card:nth-of-type(2) {
  background: #FFC746;
}
section.services .card:nth-of-type(2) .abstract {
  background: #FFC746;
}
section.services .card:nth-of-type(3) {
  background: #62D0D2;
}
section.services .card:nth-of-type(3) .abstract {
  background: #62D0D2;
}
section.services .card picture {
  border-radius: 0.5rem 0.5rem 0 0;
}
section.services .card picture img {
  border-radius: 0;
}
section.services .card .column {
  padding: 0 2rem 2rem;
}
section.services .card .secondary-button {
  padding-left: 2rem;
  padding-bottom: 2rem;
}

section.sidebar {
  color: #FFF;
}
section.sidebar h2 {
  margin: 0;
}

section.small-header .breadcrumbs .breadcrumb li,
section.small-header .breadcrumbs .breadcrumb li:after,
section.small-header .breadcrumbs .breadcrumb a {
  color: #FFF;
}
section.small-header h1 {
  color: #FFF;
}
section.small-header .column {
  max-width: none;
}

section.subscribe {
  background: #00B4B8;
  color: #FFF;
}
section.subscribe h2 {
  margin: 0;
}

body.blog h1 {
  margin-top: 0;
}
body.blog:not(.paged) .swiper-slide:first-of-type {
  grid-column: 1/-1;
}
@media only screen and (min-width: 768px) {
  body.blog:not(.paged) .swiper-slide:first-of-type a {
    flex-direction: row;
    gap: 2rem;
    width: 100%;
  }
  body.blog:not(.paged) .swiper-slide:first-of-type a .column {
    padding: 2rem 0;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1440px) {
  body.blog:not(.paged) .swiper-slide:first-of-type a .column h3 {
    font-size: 2.5rem;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1440px) {
  body.blog:not(.paged) .swiper-slide:first-of-type a .column {
    padding-right: 2rem;
  }
  body.blog:not(.paged) .swiper-slide:first-of-type a .column p {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 768px) {
  body.blog:not(.paged) .swiper-slide:first-of-type a picture {
    height: 100%;
    width: 62.5%;
  }
  body.blog:not(.paged) .swiper-slide:first-of-type a picture img {
    aspect-ratio: unset;
    height: 100%;
    position: absolute;
  }
}
body.blog:not(.paged) .swiper-slide:first-of-type .card {
  position: relative;
}
body.blog:not(.paged) .swiper-slide:first-of-type .card .column {
  position: static;
}
body.blog:not(.paged) .swiper-slide:first-of-type .card .column small {
  font-weight: 400;
}
body.blog:not(.paged) .swiper-slide:first-of-type .card .column .details {
  left: 1rem;
  bottom: 3rem;
  top: auto;
}
@media only screen and (min-width: 1024px) {
  body.blog:not(.paged) .swiper-slide:first-of-type .card .column .details {
    left: 2rem;
    bottom: 4rem;
  }
}

body.blog .categories,
body.blog .archive-filters,
body.category .categories,
body.category .archive-filters {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: 2rem;
}
body.blog .categories li a,
body.blog .archive-filters li a,
body.category .categories li a,
body.category .archive-filters li a {
  transition: all 0.2s ease-in-out;
  background: #02205F;
  border: 1px solid #02205F;
  border-radius: 0.5rem;
  color: #FFF;
  cursor: pointer;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
  padding: 1.5rem;
  position: relative;
  text-decoration: none;
  z-index: 1;
}
body.blog .categories li a:before,
body.blog .archive-filters li a:before,
body.category .categories li a:before,
body.category .archive-filters li a:before {
  transition: all 0.2s ease-in-out;
  background: #62D0D2;
  content: "";
  height: 100%;
  left: -1px;
  position: absolute;
  top: 0;
  transform: translateX(-100%);
  width: calc(100% + 1px);
  z-index: -1;
}
body.blog .categories li a:hover, body.blog .categories li a:active, body.blog .categories li a:focus-within, body.blog .categories li a:focus,
body.blog .archive-filters li a:hover,
body.blog .archive-filters li a:active,
body.blog .archive-filters li a:focus-within,
body.blog .archive-filters li a:focus,
body.category .categories li a:hover,
body.category .categories li a:active,
body.category .categories li a:focus-within,
body.category .categories li a:focus,
body.category .archive-filters li a:hover,
body.category .archive-filters li a:active,
body.category .archive-filters li a:focus-within,
body.category .archive-filters li a:focus {
  color: #02205F;
  text-decoration: none;
}
body.blog .categories li a:hover:before, body.blog .categories li a:active:before, body.blog .categories li a:focus-within:before, body.blog .categories li a:focus:before,
body.blog .archive-filters li a:hover:before,
body.blog .archive-filters li a:active:before,
body.blog .archive-filters li a:focus-within:before,
body.blog .archive-filters li a:focus:before,
body.category .categories li a:hover:before,
body.category .categories li a:active:before,
body.category .categories li a:focus-within:before,
body.category .categories li a:focus:before,
body.category .archive-filters li a:hover:before,
body.category .archive-filters li a:active:before,
body.category .archive-filters li a:focus-within:before,
body.category .archive-filters li a:focus:before {
  transform: translateX(0);
}

body.single .container picture {
  display: block;
}
body.single .container picture img {
  aspect-ratio: 5/2;
  height: auto;
  object-fit: cover;
  width: 100%;
}
body.single .container h1,
body.single .container h2,
body.single .container h3,
body.single .container h4,
body.single .container p,
body.single .container ol,
body.single .container ul {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
}
body.single .container p:has(> img.size-full),
body.single .container figure {
  margin-bottom: 4rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 4rem;
  max-width: 1400px;
}
body.single #social-sharing {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: 0.75em;
}
body.single #social-sharing a {
  transition: all 0.2s ease-in-out;
  background: none;
  border: 0 none;
  color: #02205F;
  width: auto;
}
body.single #social-sharing a:hover, body.single #social-sharing a:active, body.single #social-sharing a:focus-within, body.single #social-sharing a:focus {
  color: #00B4B8;
}
body.single #social-sharing a:hover:after, body.single #social-sharing a:active:after, body.single #social-sharing a:focus-within:after, body.single #social-sharing a:focus:after {
  color: #00B4B8;
}
body.single nav.key2-event-navigation,
body.single nav.post-navigation .nav-links {
  align-items: center;
  background: #E7E3DD;
  display: grid;
}
@media only screen and (min-width: 1024px) {
  body.single nav.key2-event-navigation,
  body.single nav.post-navigation .nav-links {
    grid-template-columns: repeat(2, 1fr);
  }
}
body.single nav.key2-event-navigation .nav-subtitle,
body.single nav.post-navigation .nav-links .nav-subtitle {
  display: none;
}
body.single nav.key2-event-navigation a,
body.single nav.post-navigation .nav-links a {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  gap: 2rem;
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 800;
  background: none;
  box-sizing: border-box;
  color: #02205F;
  font-size: 1.25rem;
  height: 100%;
  padding: 2rem;
  text-decoration: none;
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  body.single nav.key2-event-navigation a,
  body.single nav.post-navigation .nav-links a {
    font-size: 1.5rem;
    padding: 3rem;
  }
}
@media only screen and (min-width: 1440px) {
  body.single nav.key2-event-navigation a,
  body.single nav.post-navigation .nav-links a {
    padding: 4rem;
  }
}
body.single nav.key2-event-navigation a:hover, body.single nav.key2-event-navigation a:active, body.single nav.key2-event-navigation a:focus-within, body.single nav.key2-event-navigation a:focus,
body.single nav.post-navigation .nav-links a:hover,
body.single nav.post-navigation .nav-links a:active,
body.single nav.post-navigation .nav-links a:focus-within,
body.single nav.post-navigation .nav-links a:focus {
  background: #00B4B8;
}
body.single nav.key2-event-navigation a:hover small, body.single nav.key2-event-navigation a:active small, body.single nav.key2-event-navigation a:focus-within small, body.single nav.key2-event-navigation a:focus small,
body.single nav.post-navigation .nav-links a:hover small,
body.single nav.post-navigation .nav-links a:active small,
body.single nav.post-navigation .nav-links a:focus-within small,
body.single nav.post-navigation .nav-links a:focus small {
  color: #02205F;
}
body.single nav.key2-event-navigation .nav-previous,
body.single nav.key2-event-navigation .nav-next,
body.single nav.post-navigation .nav-links .nav-previous,
body.single nav.post-navigation .nav-links .nav-next {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  height: 100%;
}
body.single nav.key2-event-navigation .nav-previous small,
body.single nav.key2-event-navigation .nav-next small,
body.single nav.post-navigation .nav-links .nav-previous small,
body.single nav.post-navigation .nav-links .nav-next small {
  transition: all 0.2s ease-in-out;
  color: #666;
  font-weight: 400;
  font-size: 0.875rem;
}
@media only screen and (min-width: calc(1290px + 8rem)) {
  body.single nav.key2-event-navigation .nav-previous a,
  body.single nav.post-navigation .nav-links .nav-previous a {
    padding-left: calc((100vw - (1290px + 8rem)) / 2 + 8em);
  }
}
body.single nav.key2-event-navigation .nav-previous a:before,
body.single nav.post-navigation .nav-links .nav-previous a:before {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  content: "\e802";
  transform: rotate(180deg);
}
body.single nav.key2-event-navigation .nav-next,
body.single nav.post-navigation .nav-links .nav-next {
  border-top: 1px solid #000;
}
@media only screen and (min-width: 1024px) {
  body.single nav.key2-event-navigation .nav-next,
  body.single nav.post-navigation .nav-links .nav-next {
    border-top: none;
    border-left: 1px solid #000;
  }
}
body.single nav.key2-event-navigation .nav-next a,
body.single nav.post-navigation .nav-links .nav-next a {
  justify-content: flex-end;
}
@media only screen and (min-width: calc(1290px + 8rem)) {
  body.single nav.key2-event-navigation .nav-next a,
  body.single nav.post-navigation .nav-links .nav-next a {
    padding-right: calc((100vw - (1290px + 8rem)) / 2 + 8em);
  }
}
body.single nav.key2-event-navigation .nav-next a:after,
body.single nav.post-navigation .nav-links .nav-next a:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  content: "\e802";
}
body.single nav.key2-event-navigation:not(:has(.nav-previous)):before,
body.single nav.post-navigation .nav-links:not(:has(.nav-previous)):before {
  content: "";
  position: relative;
}

body.single-key2_event h1,
body.single-vacancy h1 {
  margin-top: 0;
}

body.single-team div.details span {
  display: inline-block;
  margin-right: 0.5rem;
  width: 1rem;
}
body.single-team div.details .linkedin:after {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 2rem;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  content: "";
  font-size: 1.25rem;
}

body.search-results article,
body.search-no-results article {
  width: 100%;
}
body.search-results article a,
body.search-no-results article a {
  transition: all 0.2s ease-in-out;
  background: none;
  border-bottom: 1px solid #02205F;
  box-sizing: border-box;
  padding: 2rem;
  text-decoration: none;
  width: 100%;
}
body.search-results article a:hover, body.search-results article a:active, body.search-results article a:focus-within, body.search-results article a:focus,
body.search-no-results article a:hover,
body.search-no-results article a:active,
body.search-no-results article a:focus-within,
body.search-no-results article a:focus {
  background: #E7E3DD;
}
body.search-results article a:hover .secondary-button:after, body.search-results article a:active .secondary-button:after, body.search-results article a:focus-within .secondary-button:after, body.search-results article a:focus .secondary-button:after,
body.search-no-results article a:hover .secondary-button:after,
body.search-no-results article a:active .secondary-button:after,
body.search-no-results article a:focus-within .secondary-button:after,
body.search-no-results article a:focus .secondary-button:after {
  background: #E7E3DD;
  color: #02205F;
}
body.search-results article img,
body.search-no-results article img {
  aspect-ratio: 4/3;
  border-radius: 0.5rem;
  object-fit: cover;
}
@media only screen and (max-width: 767px) {
  body.search-results article img,
  body.search-no-results article img {
    display: none;
  }
}

body.error404 .content .search-form input {
  background: transparent;
  border: 1px solid #02205F;
}
body.error404 .content .search-form button {
  transition: all 0.2s ease-in-out;
  background: #02205F;
  border: 1px solid #02205F;
  border-radius: 0.5rem;
  color: #FFF;
  cursor: pointer;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
  padding: 1.5rem;
  position: relative;
  text-decoration: none;
  z-index: 1;
}
body.error404 .content .search-form button:before {
  transition: all 0.2s ease-in-out;
  background: #62D0D2;
  content: "";
  height: 100%;
  left: -1px;
  position: absolute;
  top: 0;
  transform: translateX(-100%);
  width: calc(100% + 1px);
  z-index: -1;
}
body.error404 .content .search-form button:hover, body.error404 .content .search-form button:active, body.error404 .content .search-form button:focus-within, body.error404 .content .search-form button:focus {
  color: #02205F;
  text-decoration: none;
}
body.error404 .content .search-form button:hover:before, body.error404 .content .search-form button:active:before, body.error404 .content .search-form button:focus-within:before, body.error404 .content .search-form button:focus:before {
  transform: translateX(0);
}
body.error404 .content .search-form button {
  flex-shrink: 0;
  gap: 1rem;
}
