:root {
  --fontMain: "Libre Franklin", sans-serif;
  --white: #ffffff;  
  --black: #000000;
  --light-grey: #F4F6F1;
  --gray:#888888;
  --blue: #1E3148;
  --blue-xxlight:#dfe6ef;
  --gold: #8A642D;

 --transition3s:  0.3s ease-in-out;
  interpolate-size: allow-keywords;

  --step--2: clamp(0.8681rem, 0.7915rem + 0.3405vw, 1.2rem);
  --step--1: clamp(1.0417rem, 0.9359rem + 0.4701vw, 1.5rem);
  --step-0: clamp(1.25rem, 1.1058rem + 0.641vw, 1.875rem);
  --step-1: clamp(1.5rem, 1.3053rem + 0.8654vw, 2.2rem);
  --step-2: clamp(1.8rem, 1.5393rem + 1.1587vw, 2.6rem);
  --step-3: clamp(2.16rem, 1.8134rem + 1.5406vw, 3rem);
  --step-4: clamp(2.592rem, 2.1338rem + 2.0366vw, 4.5776rem);
  --step-5: clamp(3.1104rem, 2.5077rem + 2.6786vw, 5.722rem);
}

.bg-gray {
  background-color:var(--light-grey);
}



.form-control:focus,
.form-select:focus,
button:focus,
a:focus {
  outline: none;
  box-shadow: none;
}
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html,
body,
ul,
ol {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
   scroll-behavior: smooth;
}
button {
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
a,
a:hover {
  color: var(--gold);
  text-decoration: none;
}

a:hover {
  color: var(--gold);
}

/**START OF BODY AND HEADINGS
=====================================**/
body {
    font-family: var(--fontMain);
    color: var(--black);
    font-size: 18px;
    font-weight: 300;
    line-height: 1.6;
    background: #ffffff;
    text-align: left;
    padding-top:120px;
}
@media (max-width: 1199px) {
    body {
        padding-top: 110px;
    }
}
@media (max-width: 991px) {
    body {
        padding-top: 100px;
    }
}
@media (max-width: 575px) {
    body {
        padding-top: 90px;
    }
}

/**START OF HEADINGS
=====================================**/
h1, .h1,
h2, .h2,
h3, .h3 {
  font-family: var(--fontMain);
  margin-bottom: 30px;
  line-height: 1.2;
  color: var(--blue);
  font-weight: 200;
  word-wrap: break-word
}

h1, .h1 {
  font-size:var(--step-3);
}
h2, .h2 {
  font-size:var(--step-2);
}
h3, .h3 {
  font-size:var(--step-1);
}
h4, .h4 {
  font-size:var(--step-1);
}

/**START OF BUTTONS
=====================================**/
.button{
    position: relative;
    display: inline-block;
    font-family: var(--fontMain);
    text-align: center;
    background: transparent;
    font-size: 12px;
    font-weight: 500;
    border-radius: 10px!important;
    padding: 15px 30px;
    color: var(--blue);
    background: var(--blue);
    border: 1px solid var(--blue);
    background: transparent;
    transition: .5s linear;
    line-height: normal;
}
.button:hover {
  background: var(--blue);
  color: var(--white);
  transition: .5s linear;
}
.header .button{
    padding: 15px 20px 15px 45px;
    font-size: 14px;
    font-weight: 600;
    border: solid 1px var(--gold) !important;
    background: var(--gold);
      color: var(--white);
   
}
.header .button:before{
  content:"";
    background: url(/images/calendar.svg) no-repeat 0px center;
    background-size: 18px !important;
    left: 15px;
    width: 18px;
    position: absolute;
    height: 18px;
    transition: .5s linear;
    filter:brightness(0) invert(1);
}
.header .button:hover{
    color: var(--gold)!important;
    background: transparent;
}
.header .button:hover:before{
  filter: brightness(0) saturate(100%) invert(39%) sepia(36%) saturate(771%) hue-rotate(356deg) brightness(93%) contrast(86%);
}
/*
@media (max-width: 991px) {
  .header .button{
    padding: 8px 10px;
    font-size: 12px;
  }
}*/
@media (max-width: 767px) {
  .header .button{
    padding: 10px 12px 10px 32px;
    font-size:12px;
  }
  .header .button:before{
    content:"";
    background: url(/images/calendar.svg) no-repeat 0px center;
    background-size: 15px !important;
    left: 8px;
    width: 15px;
    height: 15px;
  }
}
.btn-more {
  color: var(--black);
  border: none;
  padding: 0;
  font-size: 14px;
  font-weight: 600;
    letter-spacing: 0.06em;
      
}
.btn-more:hover {
  color:var(--blue);
}
.btn-more:after {
  content:"";
 /* background: url(/images/arrow-line.svg) no-repeat center center;
  display: inline-block;
  width:34px;
  height: 24px;*/
  position: relative;
  top: 2px;
  font-size: 25px;
  margin-top: 12px;
  padding-left: 6px;
  content: "\2192";
      -webkit-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;

}
.btn-more:hover:after {
    padding-left: 16px;
}

/** START OF MARGIN  
============================== **/
.container-spacing {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
}
.container-spacing-left {
  padding-left: 1rem !important;
}
@media (min-width: 1200px) {
    .container-spacing {
        padding-left:3rem!important;  
        padding-right:3rem!important;  
    }  
    .container-spacing-left {
      padding-left: 3rem !important;
    }
}
@media (min-width: 1400px) {
    .container-spacing {
        padding-left:4rem!important;  
        padding-right:4rem!important;  
    }  
    .container-spacing-left {
      padding-left: 4rem !important;
    }
}
@media (min-width: 1600px) {
    .container-spacing {
        padding-left:7rem!important;  
        padding-right:7rem!important;  
    }  
    .container-spacing-left {
      padding-left: 7rem !important;
    }
}

.mt-offset{
    margin-top:120px;
}
.py-offset {
  padding: 80px 0px;
}
@media (max-width: 1199px) { 
    .mt-offset{
        margin-top:90px;
    }
  .py-offset {
    padding: 60px 0px;
  } 
}
@media (max-width: 767px) {
    .mt-offset{
        margin-top:80px;
    }
    .py-offset {
      padding: 50px 0px;
    }
}
/* START OF HEADER  
============================*/
.header {
  background-color: var(--blue);
  -webkit-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  font-size:14px;
  font-weight: 500;
}
/*
.scrolled .header{
    -webkit-box-shadow: 0px 0px 11px 0px rgba(216, 216, 216, 1);
    -moz-box-shadow: 0px 0px 11px 0px rgba(216, 216, 216, 1);
    box-shadow: 0px 0px 11px 0px rgba(216, 216, 216, 1);
}*/
.header-container {
    display:flex;
    justify-content: space-between;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    align-items: center;

}
.header-col {
    position:relative;
}

@media (min-width: 1200px) {
  .header-container .left-col .menuMobBtn{
      display: none;
  }
  /*.header-container .right-col {
        width:66.666%;
  }*/
  .header-container .left-col,
  .header-container .right-col {
    width: 23%;
  } 
  .header-container .center-col {
    width: 54%;
  }
}
.header-container .left-col {
    display: flex;
    align-items: center;
    justify-content: start;
}
.header-container .right-col {
    display: flex;
    align-items: center;
    justify-content: end;
}
@media (max-width: 1199px) {
  .header-container .left-col{
    width: 66.666%;
  }
  .header-container .right-col {
    width: 33.333%;
  } 
  .header-container .left-col .menuMobBtn,
  .header-container .left-col .logo-holder{
    width: 50%;
  }
  .header-container .left-col .logo-holder{
    text-align: center;
  }

}

/*LOGO
---------------------------------*/
.header .img-logo {
  height: 90px;
  margin:5px 0;
  -webkit-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.scrolled .header .img-logo {
    height: 70px;
}
@media (max-width: 1199px) {
    .header .img-logo {
       height: 80px;
    }
    .scrolled .header .img-logo {
        height: 65px;
    }
}

@media (max-width: 991px) {
    .header .img-logo {
       height: 70px;
    }
    .scrolled .header .img-logo {
        height: 60px;
    }
}
@media (max-width: 575px) {
    .header .img-logo {
       height: 60px;
    }
    .scrolled .header .img-logo {
        height: 50px;
    }
}

@media (min-width: 768px) {
  .header .btn-holder {
    position: relative;
    padding-left: 25px;
  }
  .header .btn-holder:before {
      content:"";
      border-left:1px solid #fff;
      position: absolute;
      left: 0px;
      top: 5px;
      bottom: 5px;
  }
}
.languages {
  margin-right: 15px;
  text-transform: uppercase;
}
.languages a{
    margin-right: 5px;
    color:var(--white);
}
.languages a:hover{
    color:var(--gold);
}
@media (max-width: 991px) {
  .languages {
    font-size:12px;
  }
}
@media (max-width: 767px) {
  /*.languages {
    margin-right: 10px;
  }
  .languages a{
      margin-right: 6px;
  }*/
  .header .languages {
    display: none;
  }
}

.overlay-menu .languages {
  font-size:16px;
  text-align: center;
  margin-top: 30px;
}
.overlay-menu .languages a{
    margin: 0 8px;
    color:var(--blue);
}

/*NAVIGATION OPEN header
---------------------------------*/
.main_menu {
  display: none;
}
@media (min-width: 1200px) {
  .main_menu {
    display: block;
    list-style: none;
    font-size:14px;
    font-weight: 400;
    display: flex;
    justify-content: center;
  }
  .main_menu > li {
    padding-left:10px;
    padding-right:10px;
    position: relative;
  }
  .main_menu > li > a{
    color: var(--white);
    padding: 0px 5px;
    transition: .3s linear;
    text-transform: uppercase;
  }
  .main_menu > li > a.active:after{
      content:"";
      position: absolute;
      bottom: 0px;
      left: 20px;
      right:20px;
      border-bottom:solid 1px var(--gold);
  }
  .main_menu li:hover a,
  .main_menu li a.active{
      color: var(--gold);
      text-decoration: none; 
  }
  .hasDropdown {
      position: relative;
  }
.dropdownMenu {
    position: absolute;
    pointer-events: none;
    opacity: 0;
    transition: opacity .3s ease;
    min-width: max-content;
    background-color: rgba(245,245,245,1);
    padding: 20px;
    top: 100%;
    left: 15px;
    z-index: 10;
    text-align: left;
  }
  .hasDropdown:hover .dropdownMenu {
      pointer-events: all;
      opacity: 1;
  }
  .dropdownMenu ul{
    list-style: none;
    font-size: 14px;
  }
  .dropdownMenu ul li:not(:last-child){
      padding-bottom: 12px;
  }
  .hasDropdown li a:hover,
  .hasDropdown li a.active{
      color: var(--blue);
      text-decoration: underline;
  }
}
@media (min-width: 1400px) {
  .main_menu > li {
    padding-left:15px;
    padding-right:15px;
  }
}
/*NAVIGATION BURGER menu
---------------------------------*/
.overlay-menu {
  display: none;
}
@media (max-width: 1199px) {
  .overlay-menu {
    display: block;
  }
  body.menu-opened {
    overflow: hidden;

  }
  .menuMobBtn {
    margin-right: 20px;
  }
  .menuMobBtn .menu {
    width: 30px;
    height: 30px;
    display: block;
    position: relative;
  }
  .menuMobBtn .menu .hamburger {
    position: absolute;
    top: 50%;
    left: 0px;
    width: 30px;
    height: 2px;
    background: var(--white);
    display: block;
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
  }
  .menuMobBtn .hamburger:after,
  .menuMobBtn .hamburger:before {
    -webkit-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background: var(--white);
  }
  .menuMobBtn .hamburger:before { top: -10px; }
  .menuMobBtn .hamburger:after { bottom: -10px; }

  .menuMobBtn.open .menu .hamburger {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .menuMobBtn.open .menu .hamburger:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
      bottom: 0;
  }
  .menuMobBtn.open .menu .hamburger:before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
      top: 0;
  }
  .overlay-menu .pushy {
    position: fixed;
    width: 300px;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 100000;
    background-color: #ffffff;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
    .overlay-menu .pushy{
          -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
    -moz-transition: -moz-transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
    -o-transition: -o-transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
    transition: transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
    /* improves performance issues on hamburger-menu*/
    -webkit-backface-visibility: hidden;
    backface-visibility:hidden;
    perspective: 1000;
    -webkit-perspective: 1000;
    -webkit-transform: translate3d(300px, 0, 0);
    -moz-transform: translate3d(300px, 0, 0);
    -ms-transform: translate3d(300px, 0, 0);
    -o-transform: translate3d(300px, 0, 0);
    transform: translate3d(300px, 0, 0);
     }
    .overlay-menu.open .pushy{
      -webkit-transform: translate3d(1px, 0, 0);
      -moz-transform: translate3d(1px, 0, 0);
      -ms-transform: translate3d(1px, 0, 0);
      -o-transform: translate3d(1px, 0, 0);
      transform: translate3d(1px, 0, 0); 
    }
    /*
    .overlay-menu.open .site-overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 300px;
    z-index: 9999;
    overflow-x: hidden;
    background-color: rgba(0, 0, 0, 0.5);
    -webkit-animation: fade 500ms;
    -moz-animation: fade 500ms;
    -ms-animation: fade 500ms;
    -o-animation: fade 500ms;
    animation: fade 500ms; }
    */
    .main-nav-links {
      list-style: none;
      padding: 50px 10px 25px 10px;
      
    }
    .main-nav-links li {
    display: block;
     text-align: left;
    margin-bottom: 10px;
    position: relative;
    color: var(--black);
    text-decoration: none;
    padding: 6px 10px;
    font-size: 16px;
    }
    .main-nav-links > li > a {
      text-transform: uppercase;
    }
    .main-nav-links li a{
      color: var(--blue);
    }

  .main-nav-links .plus {
    cursor: pointer;
    display: block;
    height: 25px;
    font-size: 25px;
    line-height: 20px;
    position: absolute;
    text-align: center;
    right: 0;
    top: 0;
    width: 23px;
    margin: 5px;
    border-radius: 50%;
    -webkit-transition: background-color 250ms;
    transition: background-color 250ms;
    color: #000; }
  
  .main-nav-links .plus::after {
    content: '\002B';
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0; 
      font-weight:700;
  }
  .main-nav-links li.opened .plus::after {
    content: '\002D'; 
    font-weight:700;
  }
  
  .main-nav-links li .submenu {
  overflow: hidden;
  transition: max-height 400ms ease;
  }
  .main-nav-links li:not(.opened) .submenu {
     max-height: 0px;
  }
  .main-nav-links li.opened .submenu {
  max-height: 500px;
  }

  .main-nav-links .submenu li {
    padding:0px 10px 5px 20px;
    font-size: 14px;
  }
  .main-nav-links .submenu li:first-child{
    margin-top:20px;
  }
}

/* Hero Section 
======================================== */
.heroSection {
    position: relative;
    text-align: center;
    height: fit-content;
}
@media (min-width: 768px) {
    body:not(.no-hero-slider) .heroSection {
        height: calc(80vh - 90px);
        position: relative; 
    }
}
@media (min-width: 992px) {
    body:not(.no-hero-slider) .heroSection {
        height: calc(100vh - 90px);
        position: relative; 
    }
}
@media (min-width: 1200px) {
    body:not(.no-hero-slider) .heroSection {
        height: calc(100vh - 120px);
    }
}
.heroSection #bigCarousel {
    position: relative;
}
#bigCarousel img {
    width:100%;
}
@media (min-width: 768px) {
    #bigCarousel img{
        height: 100% !important;
        width: 100%;
      object-fit: cover;
    }
    #bigCarousel.carousel,
	#bigCarousel .carousel-inner,
	#bigCarousel .carousel-item {
	  height: inherit;
	}
}
#bigCarousel .carousel-indicators {
  position: absolute;
  left: 5%;
  bottom: 3%;
  right: unset;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  list-style: none;
}

#bigCarousel .carousel-indicators [data-bs-target] {
    background: var(--black);
  width: 10px;
  height: 10px;
  margin-right: 3px;
  margin-left: 3px;
  vertical-align: middle;
}

#bigCarousel .carousel-indicators .active {
  height: 22px;
}

#bigCarousel .carousel-control-next,
#bigCarousel .carousel-control-prev {
  width: 100px;
  z-index:2;
  visibility: hidden;
}
#bigCarousel:hover .carousel-control-prev,
#bigCarousel:hover .carousel-control-next {
    visibility: visible; }

@media screen and (max-width: 575px) {
  #bigCarousel .carousel-control-next,
  #bigCarousel .carousel-control-prev {
    width: 40px;
  }
}
#bigCarousel  .carousel-control-next-icon, 
#bigCarousel  .carousel-control-prev-icon {
    width: 3rem;
    height: 3rem;
}
#bigCarousel .carousel-control-next-icon {
  background-image: url(../images/arrow-right.svg)!important;

}
#bigCarousel .carousel-control-prev-icon {
  background-image: url(../images/arrow-right.svg)!important;
    transform:          rotate(180deg);
  -ms-transform:      rotate(180deg);
  -moz-transform:     rotate(180deg);
  -webkit-transform:  rotate(180deg);
  -o-transform:       rotate(180deg);
}


.heroSection .content-over-hero {
    position: absolute;
    z-index: 9;
    color: white;
    top: 0;
    width: 100%;
    font-weight: 200;
    color: var(--white);
    text-align: center;
    /* background: rgba(0, 0, 0, 0.001); */
    margin-top: 150px;
    bottom: 50px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}
.heroSection .content-over-hero h1 {
    color: var(--white)!important;
}
@media (max-width: 575px) {
    .heroSection .content-over-hero {
        position: relative;
        margin-top: 0;
        padding-top: 150px;
    }
}

/* Carousels
============================*/
.arrows-bullets-below{
  padding-bottom:80px;
}
.swiper-pagination-bullet {
    background: var(--light-grey);
    width: 10px;
    height: 10px;
}
.swiper-pagination-bullet-active {
    background: var(--gold);
}
.swiper-button-next, 
.swiper-button-prev{
    top: unset!important;
    bottom: 10px;
}
.swiper-button-next {
      right:10%!important;
}
.swiper-button-prev {
    left:unset!important;
    right:calc(10% + 75px)!important;
}

.swiper-button-next svg, 
.swiper-button-prev svg{
    display:none;
}
.swiper .swiper-button-next,
.swiper .swiper-button-prev{
    background:url(/images/arrow-right.svg) no-repeat center center !important;
    width: 60px !important;
    height: 60px !important;
   /* filter: brightness(0) invert(1);*/
}
.swiper .swiper-button-prev{
    transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    -moz-transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
    -o-transform: rotate(-180deg);
}

.simpleSectionSwiper.swiper .swiper-button-next,
.simpleSectionSwiper.swiper .swiper-button-prev{
  filter: brightness(0) invert(1)!important;
}
/* FOOTER
============================*/
footer {
  font-size: 14px;
  color:var(--gray);
}
footer a{
  color:var(--blue);
}
.partners {
  text-align: center;
  margin-bottom: 60px;
}
.partners .heading {
  font-size: 25px; 
  color: #000;
  margin-bottom:10px;
}
.partners-logos {
  display: flex;
  align-items: center;
    justify-content: center;
}
.footer-nav ul{
  list-style: none;
  text-transform: uppercase;
}
.footer-nav a:hover,
.footer-nav a.active{
  color:var(--black);
}
@media (min-width: 768px) {
  .footer-cols > div:not(:last-child) {
    margin-bottom: 30px;
  }
}
.footer-cols .social img,
.info-holder img{
  height:25px;
}
.footer-cols .f-icons img{
  height:68px;
}
.copyright {
  background:var(--white);
  padding:15px 0;
  color:var(--black);
font-size: 14px;

}
.copyright a {
  color: #1E3148;
  text-decoration: none;
  -webkit-transition: 0.5s linear;
  transition: 0.5s linear;
}
.cookie-icon {
    position:fixed;
    left:10px;
    bottom:10px;
    opacity: 1;
    width:46px;
    height:46px;
    border-radius: 50%;
    background: rgba(255,255,255,.8);
    padding:6px;
    font-size:8px;
    z-index: 10;
}
 /*=========== To Top =========== */
.toTop {
  text-align: right; }
      
a.scrollup {
    background:var(--blue);
    display: none;
    position: fixed;
    bottom: 20px;
    right: 1px;
    bottom: 15px !important;

    width: 50px;
    height: 50px;
    text-decoration: none;
    padding: 0px 0px 0;
    z-index: 10000;
    transition: height 350ms ease-in-out, opacity 750ms ease-in-out;
   /* transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
        text-indent: -9999px;*/
    background-size: 100% auto;
    border-radius: 30px;
    border: 2px solid var(--white);

 }
 a.scrollup:after {
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    right:0;
    content: "\2191";
    text-align: center;
    color:#fff;
    /*background:url(/images/arrow-left.svg) center center no-repeat!important;
    filter:brightness(0) invert(1);*/
    z-index: 10001;
        font-size: 28px;
    line-height: 1.4;
 }
.scrollup.is-visible {
	display: inline;
  	opacity: 1;
}

@media (min-width: 992px){
    a.scrollup {
         bottom: 90px;
    }
}

/*BREADCRUM
========================================*/
.breadcrumb {
    color: var(--black);
    font-size: 14px;
    font-weight: 200;
    padding-left:15px;
    padding-right:15px;
    margin:0px;
    background: #f8f8f8;
    padding:30px 0;
    text-align: center;
}
.breadcrumb ul {
  margin: auto;
}
.breadcrumb li+li:before {
    padding: 8px;
    color: var(--black);
    content: "/";
}
.breadcrumb a {
    color: var(--blue);
    text-decoration: none;
 }
.breadcrumb a:hover {
    color: var(--black);
}

/* CATEGORIES BOXES SECTION
============================*/
.boxes-bg {
  background-color: var(--blue-xxlight);
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media (min-width: 1200px) {
    .boxes-bg {
      padding-top: 3rem;
      padding-bottom: 3rem; 
    }  
}
@media (min-width: 1400px) {
    .boxes-bg {
      padding-top: 4rem;
      padding-bottom: 4rem; 
    }  
}
@media (min-width: 1600px) {
    .boxes-bg {
      padding-top: 6rem;
      padding-bottom: 6rem; 
    }  
}

.boxes-row .contentAsBox {
  background-color: #fff;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;

}

@media (min-width: 992px) {
  .boxes-row .contentAsBox {
    height:calc(100vh - 110px - 2rem); 
    --img-ratio: 0.5;
    max-height:720px;
  }

  /* IMAGE HOLDER */
  .boxes-row .img-holder {
    position: relative;
    z-index: 1;
    overflow: hidden;
    width: 100%;
    height: calc(100% * var(--img-ratio));
    padding: 25px 25px 0 25px;
    transition: height 0.8s cubic-bezier(0.22, 1, 0.36, 1), padding 0.4s ease;;
  }

  /* EXPAND IMAGE */
  .boxes-row .contentAsBox:hover .img-holder {
    height: 100%;
      padding: 0;
  }

  /* IMAGE */
  .boxes-row .img-holder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .boxes-row .contentAsBox:hover .img-holder img {
    transform: scale(1.1);
  }
  /* TEXT BOX */
  .boxes-row .box-text {
    position: absolute; /* ALWAYS absolute (no switching!) */
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 25px;
    z-index: 2;

    display: flex;
    flex-direction: column;

    /* smooth overlay effect */
    background: rgba(255, 255, 255, 0);
    transition: all 0.4s ease;
  }
  .boxes-row .contentAsBox:hover .box-text {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(5px);
    color: #fff;
  }
}
@media (min-width: 1200px) {
  .boxes-row .contentAsBox {
    height:calc(100vh - 110px - 6rem); 
     --img-ratio: 0.52;
  }
}

@media (min-width: 1400px) {
  .boxes-row .contentAsBox {
    height:calc(100vh - 110px - 8rem); 
      --img-ratio: 0.5;
  }
}
@media (min-width: 1600px) {
  .boxes-row .contentAsBox {
    height:calc(100vh - 110px - 12rem); 
      --img-ratio: 0.6;
  }
}








@media (max-width: 991px) {
  .boxes-row .img-holder {
    padding: 25px;
  }
  .boxes-row .box-text {
    padding: 25px;
    display: flex;
    flex-direction: column;
    background: rgba(255, 255, 255, 0);
  }
} 
@media (min-width: 768px) and (max-width: 991px) {
  .boxes-row .contentAsBox {
    display:flex;
  }
  .boxes-row .box-column:not(:last-child) {
    margin-bottom:1.2rem;
  }
  .boxes-row .contentAsBox .img-holder{
    width:50%;
  }
  .boxes-row .contentAsBox .box-text {
    width: 50%;
    justify-content: center;
  }
  .boxes-row > div:nth-child(2) .contentAsBox {
    flex-direction: row-reverse;
  }
}
@media (max-width: 767px) {
  .boxes-row .box-column:not(:last-child) {
    margin-bottom:1.2rem;
  }
  /*.boxes-row .img-holder {
    height:auto!important;
  }
  .boxes-row .box-text {
    position: relative;
  }*/
}


.boxes-row .contentAsBox .box-text h2{
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  .boxes-row .contentAsBox:hover .box-text h2,
  .boxes-row .contentAsBox:hover .box-text h2 a{
    color:#fff!important;
  }
}
.boxes-row .btn-holder {
  padding-top: 35px !important;
}
@media (min-width: 992px) {
  .boxes-row .btn-holder {
    margin-top:auto;
    padding-top: 1rem !important;
  }
}
.boxes-row .button {
  width:100%;
}
.boxes-row .contentAsBox:hover .button {
  background: var(--blue);
  color:var(--white);
}


/* CAROUSEL SECTION
============================*/
.contentAsRow {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .contentAsRow {
    flex-direction: column;
  }
  .contentAsRow img{
    padding-bottom: 30px;
  }
}
@media (min-width: 768px) {
  .contentAsRow .box-text{
    padding:25px;
  }
}


/* GRID SECTIONS
============================*/
.section-row {
  background-color:var(--blue-xxlight);
}
.section-row,
.section-row h2 {
    text-align:left;
}
.section-row .row {
    align-items: center;
}

.content-holder {
    padding: 30px;
}
@media (min-width: 576px) {
  .content-holder {
    width: 90%;
    margin: auto;
  }
}
@media (min-width: 768px) {
  .content-holder {
    width: 85%;
    padding: 50px 40px;
  }
}
.section-row-text {
  text-align: center;
}


.section-collage .row{
  align-items: center;
}
.imgs-collage {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}


/* BOXES SECTIONS
============================*/
.listing-boxes .box {
  margin-bottom: 30px;
}
.listing-boxes h2{
  font-size: 24px;
}
.listing-boxes .img-holder,
.listing-boxes h2{
    margin-bottom: 10px;
}
@media (min-width: 768px) {
  .listing-boxes .img-holder,
  .listing-boxes .text-holder{ 
    padding-left:15px;
    padding-right:15px;
  }
  .listing-boxes .text-holder{
      width:90%;
  }
}

.main-text {text-align: center;}
.main-text ul{
  margin-left:30px
}
.main-text ul ul{
  margin-left:30px
}
#page-politique-de-confidentialite .main-text,
#page-privacy-policy .main-text {
  text-align: start!important;
}
#page-politique-de-confidentialite .main-text h1,
#page-privacy-policy .main-text h1 {
  text-align: center!important;
}

/* FORMS
============================*/
.newsletter {
  text-align: center!important;
}
@media (min-width: 992px) {
  .newsletterform {
        max-width: 880px;
        margin:auto;
  }
}
.newsletterform .form-control,
.contactForm .form-control {
    background: #f8f8f8;
    border: 1px solid #ebe9e9;
    border-radius: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    font-style: italic;
    padding: 14px 18px;
    color: var(--black);
}
.newsletterform  .form-control::placeholder,
.contactForm .form-control::placeholder {
    color: var(--gray);
}
/*
.newsletterform .form-control#EmailSec {
    background: #f8f8f8 url(/images/email.svg) no-repeat 10px center;
    background-size: 24px;
    padding-left: 50px;
}
*/
@media (min-width: 992px) {
  .newsletterform .button{
    margin-left:24px;
    align-self: self-start;
  }
}
.newsletterform .button{
    padding: 18px 30px;
}
.newsletterform .v-no {
    display:none;
}
/*
.newsletterform .status-busy img {
    filter: invert(1);
}*/
.field-validation-valid {
    display: none;
    color: red;
}
.field-validation-error {
    display: block;
    color: red;
    text-align: left;
    font-size: 12px;
}
.field-validation-error:empty {
    display: none;
}
.asterisk span {
    display: inline;
    font-size: 14px;
}
.form-agree label {
    display: inline;
}

.form-agree .field-validation-error {
    display: inline-block;
}
.form-agree {
    font-size:16px;
}
.form-agree a {
    text-decoration: underline;
    padding-bottom: 0px;
    border-bottom: 0px solid var(--black);
}
.form-agree a:hover {
    text-decoration: none;
}
#json-msg {
    padding-top: 20px;
}
.status-failure,
.status-busy {
    margin: 6px 0 0 0;
}
.status-busy img {
    height: 10px;
}

/*NEWS
========================*/
.news-section h2{
  text-align: center;
}
.news-section h3 a{
      color: var(--black);
}
.date-holder{
  font-size:16px;
  color: var(--gray);
  padding: 10px 0;
  background: url(/images/calendar.svg) no-repeat left center;
    background-size: 14px;
    padding-left: 20px;
}
.pagination ul {
    display: flex;
    flex-wrap: wrap;
    font-size: 16px;
    margin-top: 15px;
    list-style-type: none;
}

.pagination li {
    padding: 5px;
    background: none;
}

.pagination li a {
    text-decoration: none;
    color: var(--blue);
}

.pagination li a:hover {
    text-decoration: underline;
}

.pagination li.active a {
    color: var(--black) !important;
    text-decoration: underline;
}

.prevNextWrap {
    display: flex;
    justify-content: center;
    padding-top: 30px;

}
.prevNextWrap a {
    color: var(--blue);
    text-decoration: none;
    text-transform: uppercase;
}

.prevNextWrap .next {
    margin-left: 15px;
}
.prevNextWrap .next:after,
.prevNextWrap .prev:before{
    position: relative;
    font-size: 25px;
    margin-top: 12px;
    -webkit-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.prevNextWrap .prev:before {
  padding-left: 10px;
  padding-right: 6px;
  content: "\2190";
}
.prevNextWrap .prev:hover:before {
    padding-left: 0px;
      padding-right: 16px;
}
.prevNextWrap .next:after {
  padding-left: 6px;
  content: "\2192";
}
.prevNextWrap .next:hover:after {
    padding-left: 16px;
}
@media (min-width: 576px) {
    .prevNextWrap .next {
        margin-left: 30px;
    }
}
.prevNextWrap .disabled {
    opacity: .5;
    cursor: default;
}



