@charset "UTF-8";
/* MIXIN SNIPPETS
re-usable css snippets that are often used in the design
NOT tied to a certain element.
Used to make the css more clean.
 */
.section_hero {
  filter: saturate(80%);
  height: 41rem;
  font-size: 5rem;
  position: relative;
  font-size: 4.3rem;
  color: White;
  text-transform: uppercase;
}
.section_hero .hero_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.section_hero .hero_overlay .text {
  text-align: center;
}
.section_hero .hero_overlay .text .heading-container:first-child {
  margin-bottom: 2.5rem;
}
.section_hero .hero_overlay .text .heading, .section_hero .hero_overlay .text .subheading {
  background-color: rgba(255, 255, 255, 0.8);
  line-height: 1.8em;
  display: inline;
  word-break: break-word;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  background-color: #c86700ba;
  background-color: #6a5f53ba;
  background-color: #665644ba;
  border-radius: 5rem;
}
.section_hero .hero_overlay .text .heading {
  font-size: 1em;
  padding: 0.2em 0.4em 0.12em;
  padding: 0.2em 0.8em 0.2em;
  font-weight: bold;
  text-shadow: 0rem 0rem 1rem #00000057;
}
.section_hero .hero_overlay .text .subheading {
  font-size: 0.8em;
  padding: 0.2em 0.4em 0.05em;
  padding: 0.2em 0.7em 0.1em;
  text-shadow: 0rem 0rem 0.7rem #000000b8;
}
.section_hero img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .section_hero {
    font-size: 3.5rem !important;
    height: 30rem !important;
  }
}
@media screen and (max-width: 640px) {
  .section_hero {
    font-size: 3rem !important;
    height: 30rem !important;
  }
  .section_hero .hero_overlay .text .heading-container:first-child {
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 550px) {
  .section_hero {
    font-size: 2.2rem !important;
  }
}
.section_hero.template_text-left .hero_overlay .text {
  text-align: left;
}
.section_hero.template_text-left .hero_overlay .text .heading, .section_hero.template_text-left .hero_overlay .text .subheading {
  display: inline-block;
  max-width: 65%;
}
.section_hero.template_text-bottom {
  font-size: 2.2rem !important;
}
.section_hero.template_text-bottom .site-width {
  max-width: 100% !important;
}
.section_hero.template_text-bottom .text {
  margin-top: 12rem;
  background-color: rgba(132, 124, 124, 0.8);
  background-color: #c86700c4;
  background-color: #4a4642c4;
  width: 100%;
  position: absolute;
  bottom: 0;
  padding: 0.5rem 0;
}
.section_hero.template_text-bottom .text .heading-container {
  margin-bottom: 0rem !important;
}
.section_hero.template_text-bottom .text .heading, .section_hero.template_text-bottom .text .subheading {
  background-color: transparent !important;
}

.section_text .heading {
  margin-bottom: 2rem;
}

.section_grid .the_grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
  grid-gap: 4rem;
}
.section_grid h3 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.section_grid .desc {
  font-size: 1.6rem;
  line-height: 1.6em;
}
.section_grid img {
  width: 100%;
  box-shadow: 0px 7px 28px -10px rgba(0, 0, 0, 0.2);
  border-radius: 8px 8px 8px 8px;
}
.section_grid.alignment_center {
  text-align: center;
}

.section_grid.template_2-columns .the_grid {
  grid-template-columns: repeat(auto-fit, minmax(35rem, 1fr));
}
@media screen and (max-width: 40rem) {
  .section_grid.template_2-columns .the_grid {
    grid-template-columns: 1fr;
  }
}

.section_grid.template_4-columns .the_grid {
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  grid-gap: 3rem;
}

.section_grid.template_4-columns-profile-photos .the_grid {
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  grid-gap: 3rem;
}
.section_grid.template_4-columns-profile-photos .the_grid .desc {
  font-size: 1.4rem;
  line-height: 1.4em;
}
.section_grid.template_4-columns-profile-photos .the_grid h3 {
  margin-bottom: 0.5rem;
}

.section_accordion h1 {
  margin-bottom: 2rem;
}
.section_accordion .main-text {
  margin-bottom: 3rem;
}
.section_accordion .accordion-item .accordion-item-heading {
  color: #444;
  cursor: pointer;
  padding: 1.8rem 3rem 1.8rem 1.5rem;
  width: 100%;
  text-align: left;
  background-color: var(--soft-background-color, #f9f9f9);
  border: 1px solid var(--soft-background-color-border, lightGray);
  border-radius: 0.5rem;
  outline: none;
  font-size: 1.7rem;
  margin-bottom: 2rem;
  position: relative;
}
.section_accordion .accordion-item .accordion-item-heading:hover {
  filter: brightness(97%);
  font-weight: bold;
}
.section_accordion .accordion-item .accordion-item-heading:before {
  content: "+";
  color: #777;
  font-weight: bold;
  position: absolute;
  right: 1rem;
  top: 50%;
  margin-top: -1rem;
}
.section_accordion .accordion-item.active .accordion-item-heading {
  filter: brightness(95%);
  font-weight: bold;
}
.section_accordion .accordion-item.active .accordion-item-heading:before {
  content: "−";
}
.section_accordion .accordion-item .accordion-item-body {
  background-color: white;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.4s ease-out;
}
.section_accordion .accordion-item .accordion-item-body .grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(35rem, 1fr));
  grid-gap: 4rem;
  padding: 1.5rem 0 4rem 4rem;
}
@media screen and (max-width: 40rem) {
  .section_accordion .accordion-item .accordion-item-body .grid {
    grid-template-columns: 1fr;
  }
}

.section_accordion.template_minimal .accordion-item {
  border-bottom: 1px solid #ccc;
}
.section_accordion.template_minimal .accordion-item .accordion-item-heading {
  background-color: transparent;
  border: none;
  margin: 0;
  padding-left: 0;
}

.section_accordion.template_rounded .accordion-item {
  max-width: 80rem;
}
.section_accordion.template_rounded .accordion-item .accordion-item-heading {
  margin: 1rem 0;
  border-radius: 2rem;
  font-weight: bold;
}

.section_divider {
  margin-top: -1.75rem;
  margin-bottom: -1.75rem;
}
.section_divider .container {
  position: relative;
  overflow: hidden;
  text-align: center;
  z-index: 1;
}
.section_divider .container .line {
  position: absolute;
  top: 50%;
  left: 0;
  border-bottom: 1px solid lightGray;
  margin-top: -0.5px;
  width: 100%;
  z-index: -1;
}
.section_divider .container .middle_icon {
  display: inline-block;
  padding: 1rem 2rem;
  background-color: White;
  z-index: 1;
  color: lightGray;
  font-size: 1.5rem;
  line-height: 1em;
  font-style: normal;
}

.section_divider.template_hidden .container {
  opacity: 0;
}

.section_divider.template_wide .container .middle_icon {
  opacity: 0;
}

.section_postcard {
  display: flex;
  align-items: left;
  min-height: 50rem;
}
.section_postcard .image-container {
  width: 50%;
  position: relative;
}
.section_postcard .image-container img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.section_postcard .image-container .swiper-container {
  overflow: hidden;
  height: 100%;
}
.section_postcard .image-container .swiper-container .swiper-button-prev, .section_postcard .image-container .swiper-container .swiper-button-next {
  color: White;
}
.section_postcard .text-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 50%;
  padding: 5rem 5rem;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
.section_postcard.section_after_postcard .text-container {
  border-bottom: none;
}
.section_postcard.section_before_postcard .text-container {
  border-top: none;
}
.section_postcard.reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 700px) {
  .section_postcard {
    position: relative;
    flex-direction: column !important;
    gap: 0;
  }
  .section_postcard .image-container {
    width: 100%;
  }
  .section_postcard .text-container {
    width: 100%;
    height: auto;
    padding: 2rem 2rem 7rem;
    border-top: none;
  }
  .section_postcard .text-container .heading-2 {
    margin-bottom: 2rem;
  }
}

.section_postcard.template_small {
  max-width: var(--site-width);
  width: 100%;
  margin: 0 auto;
  padding: 0 1.8rem;
  padding: var(--section-padding);
  gap: 8rem;
  min-height: 37rem;
}
.section_postcard.template_small .text-container {
  border: none;
}
.section_button {
  text-align: center;
}
.section_button h1 {
  margin-bottom: 2rem;
}
.section_button .button {
  margin-top: 2rem;
}

.section_carousel .carousel-container {
  width: 100%;
}
.section_carousel .carousel-container .swiper-container {
  height: 45.5rem;
}
.section_carousel .carousel-container .swiper-container img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}
.section_carousel .carousel-container .swiper-container .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.section_carousel .carousel-container .swiper-container .overlay a {
  text-decoration: none;
}
.section_carousel .carousel-container .swiper-container .overlay .text {
  text-align: center;
  font-size: 4rem;
  max-width: 70rem;
  margin: 0 auto;
  padding: 0 5rem;
}
.section_carousel .carousel-container .swiper-container .overlay .text .heading-container:first-child {
  margin-bottom: 2.5rem;
}
.section_carousel .carousel-container .swiper-container .overlay .text h2, .section_carousel .carousel-container .swiper-container .overlay .text .description {
  background-color: rgba(255, 255, 255, 0.8);
  line-height: 1.5em;
  display: inline;
  word-break: break-word;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.section_carousel .carousel-container .swiper-container .overlay .text h2 {
  font-size: 1em;
  padding: 0.2em 0.4em 0.12em;
}
.section_carousel .carousel-container .swiper-container .overlay .text .description {
  font-size: 0.45em;
  line-height: 2.5em;
  padding: 0.4em 0.4em;
}
.section_carousel .carousel-container .swiper-container .swiper-button-prev, .section_carousel .carousel-container .swiper-container .swiper-button-next {
  color: White;
  opacity: 0.75;
}
.section_carousel .carousel-container .swiper-container .swiper-button-prev:before, .section_carousel .carousel-container .swiper-container .swiper-button-prev:after, .section_carousel .carousel-container .swiper-container .swiper-button-next:before, .section_carousel .carousel-container .swiper-container .swiper-button-next:after {
  font-size: 3rem;
}
.section_carousel .carousel-container .swiper-container .swiper-button-prev:focus, .section_carousel .carousel-container .swiper-container .swiper-button-next:focus {
  outline: none;
}
.section_carousel .carousel-container .swiper-container .swiper-button-prev.swiper-button-disabled, .section_carousel .carousel-container .swiper-container .swiper-button-next.swiper-button-disabled {
  display: none;
}
@media screen and (max-width: 768px) {
  .section_carousel .carousel-container .swiper-container {
    height: 35rem;
  }
  .section_carousel .carousel-container .swiper-container .overlay .text {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 550px) {
  .section_carousel .carousel-container .swiper-container {
    height: 25rem;
  }
  .section_carousel .carousel-container .swiper-container .overlay .text {
    font-size: 3.5rem;
  }
  .section_carousel .carousel-container .swiper-container .overlay .text h2 {
    padding: 0 0.2em 0.1em;
  }
  .section_carousel .carousel-container .swiper-container .overlay .text .heading-container:first-child {
    margin-bottom: 1.5rem;
  }
  .section_carousel .carousel-container .swiper-container .overlay .text .description {
    padding: 0.15em;
    line-height: 1.4em;
    font-size: 0.45em;
  }
}

.section_images .images {
  display: flex;
  gap: 3rem;
}
.section_images .images figure img {
  max-height: 30rem;
}

.section_contact .section_desc {
  margin: 1rem 0 2rem 0;
}
.section_contact .heading {
  margin-bottom: 2rem;
}
.section_contact .confirmation_email_will_be_sent {
  margin: 1rem 0;
}

.section_reviews {
  text-align: center;
}
.section_reviews .reviews-container {
  width: 100%;
  position: relative;
}
.section_reviews .reviews-container .swiper-container {
  overflow: hidden;
  margin: 0 3rem;
}
.section_reviews .reviews-container .swiper-container img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
  display: none;
}
.section_reviews .reviews-container .swiper-container .text {
  text-align: left;
  font-size: 3.5rem;
  display: flex;
  gap: 2rem;
  height: 22rem;
}
.section_reviews .reviews-container .swiper-container .text img {
  width: 7rem;
}
.section_reviews .reviews-container .swiper-container .text .text-container {
  text-align: left;
  background-color: var(--soft-background-color, #eee);
  padding: 4rem 2rem;
  flex-grow: 1;
  border-radius: 2rem;
}
.section_reviews .reviews-container .swiper-container .text .text-container .quotes {
  font-family: Times;
  font-size: 5rem;
}
.section_reviews .reviews-container .swiper-container .text .text-container .description {
  line-height: 1.2em;
  display: inline;
  word-break: break-word;
  font-size: 0.45em;
  line-height: 1.3em;
}
.section_reviews .reviews-container .swiper-button-prev, .section_reviews .reviews-container .swiper-button-next {
  color: #e8dfd7;
  top: 46%;
}
.section_reviews .reviews-container .swiper-button-next {
  right: 0;
}
.section_reviews .reviews-container .swiper-button-prev {
  left: 0;
}
.section_big_section {
  text-align: center;
  background-color: var(--soft-background-color, #eee);
}
.section_big_section .heading {
  margin-bottom: 2rem;
}
.section_big_section .desc {
  font-size: 1.7rem !important;
  max-width: 80rem;
  margin: 0 auto;
  line-height: 1.5em;
}
.section_big_section .rows {
  margin: 0 auto;
  max-width: 60rem;
  text-align: left;
}
.section_big_section .rows .row {
  display: flex;
}
.section_big_section .rows .row .icon_box {
  color: var(--primary-color, gray);
  padding-right: 3rem;
}
.section_big_section .rows .row .icon_box .icon {
  width: 4rem;
  height: 4rem;
}
.section_big_section .rows .row .text_box {
  position: relative;
}
.section_big_section .rows .row .text_box .vertical-line {
  border-left: 1px solid var(--primary-color, gray);
  height: calc(100%);
  width: 1px;
  position: absolute;
  display: block;
  left: 1rem;
  top: 4rem;
}
.section_big_section .rows .row .text_box svg {
  width: 2rem;
  height: 2rem;
  color: var(--primary-color, gray);
  position: absolute;
  top: 3rem;
  background-color: var(--soft-background-color, #eee);
}
.section_big_section .rows .row .text_box .heading {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 1rem;
  margin-top: 3rem;
  margin-left: 4rem;
}
.section_big_section .rows .row .text_box .text {
  margin-left: 4rem;
}
.section_big_section .rows .row:last-child .vertical-line {
  height: 0;
}

.section_script {
  margin-top: -1.75rem;
  margin-bottom: -1.75rem;
}
.section_script .container {
  position: relative;
  overflow: hidden;
  text-align: center;
  z-index: 1;
}
.section_script .container .line {
  position: absolute;
  top: 50%;
  left: 0;
  border-bottom: 1px solid lightGray;
  margin-top: -0.5px;
  width: 100%;
  z-index: -1;
}
.section_script .container .middle_icon {
  display: inline-block;
  padding: 1rem 2rem;
  background-color: White;
  z-index: 1;
  color: lightGray;
  font-size: 1.5rem;
  line-height: 1em;
  font-style: normal;
}

.section_script.template_hidden .container {
  opacity: 0;
}

.section_script.template_wide .container .middle_icon {
  opacity: 0;
}

.section_alert {
  padding: 2rem 0;
  background-color: #f0ece7;
  text-align: center;
}
.section_alert h1 {
  margin-bottom: 2rem;
}
.section_alert .alert {
  margin-top: 2rem;
}
