@view-transition{
    navigation: auto;
}

.lato-thin {
    font-family: "Lato", sans-serif;
    font-weight: 100;
    font-style: normal;
}

.lato-light {
    font-family: "Lato", sans-serif;
    font-weight: 300;
    font-style: normal;
}

.lato-regular {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.lato-bold {
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.lato-black {
    font-family: "Lato", sans-serif;
    font-weight: 900;
    font-style: normal;
}

.lato-thin-italic {
    font-family: "Lato", sans-serif;
    font-weight: 100;
    font-style: italic;
}

.lato-light-italic {
    font-family: "Lato", sans-serif;
    font-weight: 300;
    font-style: italic;
}

.lato-regular-italic {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
}

.lato-bold-italic {
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-style: italic;
}

.lato-black-italic {
    font-family: "Lato", sans-serif;
    font-weight: 900;
    font-style: italic;
}
.italiana-regular {
    font-family: "Italiana", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.roboto-500 {
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Lato";
    font-size: 17px;
    color: #000000;
    font-weight: 400;
}

a {
    transition: all 0.32s ease-out;
    text-decoration: none;
    cursor: pointer;
}
a:hover {
    color: #697E92;
    text-decoration: none;
}


.fw-bl {
    font-weight: 700;
}

.fw-bo {
    font-weight: bold;
}

strong,
.fw-me {
    font-weight: 500;
}

.fw-re {
    font-weight: 400;
}

.fw-li {
    font-weight: 300;
}

.fs-170 {
    font-size: 170px;
}
.fs-150 {
    font-size: 150px;
}
.fs-130 {
    font-size: 130px;
}
.fs-106 {
    font-size: 106px;
}
.fs-87 {
    font-size: 87px;
}

.fs-82 {
    font-size: 82px;
}
.fs-74 {
    font-size: 74px;
}
.fs-72 {
    font-size: 72px;
}

.fs-65 {
    font-size: 65px;
}

.fs-62 {
    font-size: 62px;
}

.fs-60 {
    font-size: 60px;
}

.fs-58 {
    font-size: 58px;
}

.fs-56 {
    font-size: 56px;
}

.fs-55 {
    font-size: 55px;
}

.fs-52 {
    font-size: 52px;
}

.fs-49 {
    font-size: 49px;
}
.fs-48 {
    font-size: 48px;
}
.fs-43 {
    font-size: 43px;
}

.fs-40 {
    font-size: 40px;
}

.fs-38 {
    font-size: 38px;
}
.fs-36 {
    font-size: 36px;
}
.fs-32 {
    font-size: 32px;
}

.fs-30 {
    font-size: 30px;
}
.fs-28 {
    font-size: 28px;
}
.fs-26 {
    font-size: 26px;
}
.fs-25 {
    font-size: 25px;
}
.fs-24 {
    font-size: 24px;
}
.fs-22 {
    font-size: 22px;
}
.fs-20 {
    font-size: 20px;
}
.fs-19 {
    font-size: 19px;
}

.fs-18 {
    font-size: 18px !important;
}

.fs-16 {
    font-size: 16px;
}
.fs-15 {
    font-size: 15px;
}
.fs-14 {
    font-size: 14px;
}

.fs-13 {
    font-size: 13px;
}

.fs-12 {
    font-size: 12px;
}
.fs-11 {
    font-size: 11px;
}
.fs-10 {
    font-size: 10px;
}

.fs-8 {
    font-size: 8px;
}

.ls-0-4 {
    letter-spacing: 0.4px;
}

.ls-1 {
    letter-spacing: 1px;
}

.ls-2 {
    letter-spacing: 2px;
}

.ls-3 {
    letter-spacing: 3px;
}

.ls-4 {
    letter-spacing: 4px;
}

.ls-6 {
    letter-spacing: 6px;
}

.ls-8 {
    letter-spacing: 8px;
}

.ls-10 {
    letter-spacing: 10px;
}

.ls-13 {
    letter-spacing: 13px;
}

.ls-20 {
    letter-spacing: 20px;
}
.ls-25 {
    letter-spacing: 25px;
}
.ls-40 {
    letter-spacing: 40px;
}
.ls-60 {
    letter-spacing: 60px;
}

.ls-80 {
    letter-spacing: 80px;
}

.lh-1 {
    line-height: 1;
}

.lh-1-1 {
    line-height: 1.1;
}

.lh-1-2 {
    line-height: 1.2;
}

.lh-1-4 {
    line-height: 1.4;
}

.lh-1-7 {
    line-height: 1.7;
}

.lh-2 {
    line-height: 2;
}

.lh-2-4 {
    line-height: 2.4;
}

.lh-4 {
    line-height: 4;
}

.bg-grey {
    background-color: #EEE !important;
}
.bg-light {
    background-color: #E5E5E5 !important;
}
.bg-brand {
    background-color: #697E92 !important;
}
.text-brand {
    color: #a2715c !important;
}


.text-grey {
    color: #bcbcbc !important;
}

.text-black {
    color: black !important;
}

.text-d-grey {
    color: #88888f;
}

.btn-brand {
    background-color: #c3e0ed;
    border: 1px solid #08243d;
    display: inline-block;
    position: relative;
    transition: all 0.32s ease-out;
    color: #08243d;
    font-size: 20px;
    padding: 12px 25px;
    letter-spacing: 1px;
    
}
.btn-brand:hover {
    background-color: #484c4c;
    color: #fff !important;
}
.btn-learnmore {
    border-radius: 18.696px;
    background: #697E92;
    border: 1px solid #697E92;
    display: inline-block;
    position: relative;
    transition: all 0.32s ease-out;
    color: #fff;
    font-size: 11px;
    padding: 6px 20px;
    letter-spacing: 1.5px;
    font-weight: 400;
    font-family: "Lato", sans-serif;
    text-transform: uppercase;
}
.btn-learnmore:hover {
    background-color: #fff;
    color: #697E92;
}

.img-linked {
    transition: all 0.32s ease-out;
}
.img-linked:hover {
    transform: scale(0.96);
    cursor: pointer;
}

.text-linked {
    color: inherit;
}
.text-linked:hover {
    color: inherit;
    text-decoration: underline;
}
.underline {
    text-decoration: underline;
}

footer {
    background-color: #697E92;
}


#topNavigation .nav-link {
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    padding: 0px 20px;
    letter-spacing: 2px;
    text-transform: uppercase;
}
#topNavigation .nav-link:hover,
#topNavigation .nav-link:active {
    color: #a3d5ec;
}
#topNavigation .nav-item {
    display: flex;
    align-items: center;
}

#topNavigation .nav-item a {
    cursor: pointer;
}

#carousel {
    position: relative;  
    margin: 0 auto;
    display: flex;
    height: 750px;
    overflow: hidden;        
  }

  #carousel .slide {
    position: relative;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    transition: transform 0.6s ease, opacity 0.6s ease;
  }

  #carousel .slide.large {
    width: 70%;
  }
  #carousel .slide.small {
    width: 30%;
  }
  #carousel .slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;  /* keep aspect ratio, fill container */
    display: block;
  }
  #carousel .overlay {
    width: 100%;
    z-index: 1;
  }
  #carousel .slide.small .overlay {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    box-sizing: border-box;
    
  }
  #carousel .slide.large .overlay {padding: 25px;}
  /* Semi-transparent black overlay layer behind text */
  #carousel .slide.small .overlay .overlay-bg {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: -1;
    border-radius: inherit; /* optional */
  }
  
  /* Text and button container with solid background */
  #carousel .slide.small .overlay .overlay-content {
    position: relative;
    z-index: 1;
    background-color: #697E92;  
    display: inline-block; /* shrink-wrap */
    padding: 25px;
  }
  #carousel .slide.small .overlay-content h2 {
    white-space: nowrap;       /* prevent wrapping */
    overflow: hidden;          /* hide overflow */
    text-overflow: ellipsis;   /* show ... if too long */
    max-width: 100%;           /* limit to container width */
    margin: 0;                 /* optional cleanup */
  }
  /* Navigation arrows */
  #carousel .nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: white;
    color: #697E92;
    border: none;
    font-size: 21px;
    padding: 0px 12px;
    cursor: pointer;
    border-radius: 50%;
    user-select: none;
    z-index: 10;
    transition: background 0.3s ease;
  }
  #carousel .nav-arrow:hover {
    background: #697E92;
    color:white
  }
  #carousel .nav-arrow.left {
    left: 10px;
  }
  #carousel .nav-arrow.right {
    right: 10px;
  }
  
  

.navbar-toggler {
    display: flex;
    flex-direction: column;
    gap: 5px;
    z-index: 9999;
}
.navbar-toggler div {
    height: 2px;
    min-width: 50px;
    width: 100%;
    background-color: #a2715c;
}
.navbar-toggler.white div {
    background-color: #000;
}

::placeholder {
    color: #827c7c;
    opacity: 1;
}
:-ms-input-placeholder {
    color: #827c7c;
}
::-ms-input-placeholder {
    color: #827c7c;
}

#registrationForm input::placeholder {
    color: #827c7c;
    font-size: 18px;
    font-weight: 400;
}

#registrationForm input::-webkit-input-placeholder {
    color: #827c7c;
    font-size: 18px;
    font-weight: 400;
}

#registrationForm input:-moz-placeholder {
    color: #827c7c;
    font-size: 18px;
    font-weight: 400;
}

#registrationForm input::-ms-input-placeholder {
    color: #827c7c;
    font-size: 18px;
    font-weight: 400;
}
#registrationForm .form-control {
    border-left: none;
    border-right: none;
    border-top: none;
    color: #827c7c;
    border-radius: 0;
    margin-bottom: 40px;
    height: 60px;
    font-size: 18px;
    background-color: white;
    border: 1px solid #827c7c;
}
#registrationForm .form-control:focus {
    box-shadow: none;
}
#registrationForm sup {
    color: #c92e63;
    font-size: 16px !important;
    font-weight: 400;
}
#registrationForm label {
    color: #000;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 15px;
}
#registrationForm select {
    display: block;
    line-height: 1.3;
    padding: 0.6em 1.4em 0.5em 0.8em;
    height: calc(3.5rem + 2px);
    margin: 0;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat, repeat;
    background-position: right 0.7em top 50%, 0 0;
    background-size: 0.65em auto, 100%;
    color: #a2715c;
}

.activeNav,
.navbar-nav .active a,
#mainNav .nav-link .active,
#topNavigation .nav-item .active {
    color: #000 !important;
}

#sharePopUp .modal-header {
    border: none;
}

.nav-wraper {
    max-width: 100%;
    margin: 0 auto;
    background-color: #fff;
    z-index: 9999;
}

#map {
    width: 100%;
    height: 500px;
}



/*animation element*/
.js-scroll {
    opacity: 0;
    transition: opacity 500ms;
}

.js-scroll.scrolled {
    opacity: 1;
}

.scrolled.fade-in {
    animation: fade-in 1s ease-in-out both;
}

.scrolled.fade-in-bottom {
    animation: fade-in-bottom 1s ease-in-out both;
}

.scrolled.slide-left {
    animation: slide-in-left 1s ease-in-out both;
}

.scrolled.slide-right {
    animation: slide-in-right 1s ease-in-out both;
}

@keyframes slide-in-left {
    0% {
        -webkit-transform: translateX(-100px);
        transform: translateX(-100px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slide-in-right {
    0% {
        -webkit-transform: translateX(100px);
        transform: translateX(100px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes fade-in-bottom {
    0% {
        -webkit-transform: translateY(50px);
        transform: translateY(50px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.owl-carousel .owl-item {
    transition: all 0.3s ease-in-out;
}

.owl-carousel .owl-item .card {
    padding: 0px;
    position: relative;
}

.owl-carousel .owl-stage-outer {
    overflow-y: auto !important;
    padding-bottom: 40px;
}

.owl-carousel.owl-drag .owl-item {
    border-right: 0.5px solid black;
}
.owl-carousel .owl-item img {
    width: 73px !important;
}
.owl-carousel .owl-dots {
    display: inline-block;
    width: 100%;
    text-align: center;
}

.owl-theme .owl-dots .owl-dot span {
    height: 20px;
    background: #2a6ba3 !important;
    border-radius: 2px !important;
    opacity: 0.8;
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
    height: 13px;
    width: 13px;
    opacity: 1;
    transform: translateY(2px);
    background: #83b8e7 !important;
}


.gallery-item {
    position: relative;
    display: inline-block;
}

.gallery-item .overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5); /* black overlay */
    opacity: 0;
    transition: opacity 0.3s ease;
    color: white;
    font-size: 2rem;
}

.gallery-item:hover .overlay {
    opacity: 1;
}

.carousel-control-prev-icon {
    background-image: url(../images/prev.png);
    width: 30px;
    height: 30px;
}
.carousel-control-next-icon{
    background-image: url(../images/next.png); 
    width: 30px;
    height: 30px;
}
.carousel-control-next, .carousel-control-prev{opacity: 1;width: 7%;}

.sticky-nav a:hover p{
    color: #697E92!important;
    font-weight: 500!important;
  }

  
/* Masonry layout */
.masonry {
    column-count: 1; /* mobile */
    column-gap: 33px;
}
@media (min-width: 768px) {
    .masonry { column-count: 2; } /* tablet */
}
@media (min-width: 992px) {
    .masonry { column-count: 3; } /* desktop */
}
.masonry-item {
    display: inline-block;
    width: 100%;
    margin-bottom: 20px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}



.video-container {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }
  
  #heroVideo {
    width: 100%;
    height: auto;
    display: block;
  }
  
  #unmuteBtn {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: rgba(0,0,0,0.5);
    color: #fff;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    font-size: 16px;
    border-radius: 5px;
  }






@media (min-width: 992px) and (max-width: 1299px) {
    .fs-170 {
        font-size: 60px;
    }
    .fs-150 {
        font-size: 60px;
    }
    .fs-130 {
        font-size: 60px;
    }
    .fs-106 {
        font-size: 65px;
    }
    .fs-65 {
        font-size: 45px;
    }
    .fs-52 {
        font-size: 40px;
    }
    .fs-49 {
        font-size: 34px;
    }
    .fs-43 {
        font-size: 25px;
    }
    .fs-40 {
        font-size: 27px;
    }
    .fs-38 {
        font-size: 33px;
    }
    .fs-36 {
        font-size: 32px;
    }
    .fs-30 {
        font-size: 25px;
    }
    .fs-26 {
        font-size: 20px;
    }
    .fs-25 {
        font-size: 20px;
    }
    #topNavigation .nav-link {
        padding: 0px 10px;
        letter-spacing: 1px;
    }
    .fs-20 {
        font-size: 15px;
    }
    .fs-82 {
        font-size: 47px;
    }
}

@media screen and (max-width: 991px) {
    #mainLogo{width: 120px;}
    .navbar {
        background-color: #697E92 !important;
    }
    #topNavigation .navbar-toggler-icon {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
    }
    #topNavigation .navbar-toggler {
        border-color: rgba(255, 255, 255, 0);
    }
    #topNavigation .navbar-toggler:focus {
        outline: none;
        box-shadow: none;
    }
    .navbar-toggler:active {
        outline: none;
        box-shadow: none;
    }
    #topNavigation .navbar-collapse {
        width: 100%;
        background-color: #c3e0ed;
        left: 0;
    }
    #topNavigation .nav-link {
        padding: 2px 20px;
        font-size: 10px;
    }
    
    #topNavigation .nav-item .active {
        color: black !important;
    }
    #carousel .slide.large {
        width: 100%;
      }
      #carousel .slide.small {
        width: 0%;
      }
}
@media screen and (max-width: 992px) {
    body {
        padding-top: 0px;
    }
    .fs-170 {
        font-size: 60px;
    }
    .fs-150 {
        font-size: 60px;
    }
    .fs-130 {
        font-size: 60px;
    }
    .fs-106 {
        font-size: 55px;
    }
    .fs-87 {
        font-size: 50px;
    }
    .fs-82 {
        font-size: 38px;
    }
    .fs-74 {
        font-size: 41px;
    }
    .fs-72 {
        font-size: 40px;
    }
    .fs-65,
    .fs-62,
    .fs-60 {
        font-size: 37px;
    }
    .fs-58 {
        font-size: 30px;
    }
    .fs-56 {
        font-size: 50px;
    }
    .fs-55 {
        font-size: 38px;
    }
    .fs-52 {
        font-size: 44px;
    }
    .fs-49,
    .fs-48 {
        font-size: 42px;
    }
    .fs-43 {
        font-size: 20px;
    }
    .fs-40,
    .fs-38 {
        font-size: 30px;
    }
    .fs-36 {
        font-size: 30px;
    }
    .fs-32 {
        font-size: 29px;
    }
    .fs-30 {
        font-size: 21px;
    }
    .fs-26 {
        font-size: 22px;
    }
    .fs-25 {
        font-size: 16px;
    }
    .ls-60 {
        letter-spacing: 40px;
    }
    .ls-40 {
        letter-spacing: 30px;
    }
}
@media screen and (max-width: 767px) {
    .fs-170 {
        font-size: 55px;
    }
    .fs-150 {
        font-size: 50px;
    }
    .fs-130 {
        font-size: 50px;
    }
    .fs-106 {
        font-size: 45px;
    }
    .fs-87 {
        font-size: 40px;
    }
    .fs-82 {
        font-size: 38px;
    }
    .fs-74 {
        font-size: 36px;
    }
    .fs-72 {
        font-size: 35px;
    }
    .fs-65,
    .fs-62,
    .fs-60 {
        font-size: 20px;
    }
    .fs-58 {
        font-size: 22px;
    }
    .fs-56 {
        font-size: 46px;
    }
    .fs-55 {
        font-size: 38px;
    }
    .fs-52 {
        font-size: 30px;
    }
    .fs-49,
    .fs-48 {
        font-size: 30px;
    }
    .fs-43 {
        font-size: 20px;
    }
    .fs-40 {
        font-size: 33px;
    }
    .fs-38 {
        font-size: 24px;
    }
    .fs-36 {
        font-size: 24px;
    }
    .fs-32 {
        font-size: 25px;
    }
    .fs-30 {
        font-size: 20px;
    }
    .fs-28 {
        font-size: 24px;
    }
    .fs-26 {
        font-size: 18px;
    }
    .fs-22 {
        font-size: 20px;
    }
    .fs-14 {
        font-size: 13px;
    }

    .img-logo-light {
        width: 130px;
    }
    .ls-60 {
        letter-spacing: 30px;
    }
    .ls-40 {
        letter-spacing: 20px;
    }
    .ls-6 {
        letter-spacing: 1px;
    }
    
}
@media screen and (max-width: 576px) {
    main{padding-top: 53px;}
    .fs-170 {
        font-size: 44px;
    }
    .fs-150 {
        font-size: 50px;
    }
    .fs-130 {
        font-size: 40px;
    }
    .fs-106 {
        font-size: 35px;
    }
    .fs-87 {
        font-size: 40px;
    }
    .fs-82 {
        font-size: 30px;
    }
    .fs-74 {
        font-size: 31px;
    }
    .fs-72 {
        font-size: 30px;
    }
    .fs-65 {
        font-size: 17px;
    }
    .fs-62,
    .fs-60 {
        font-size: 22px;
    }
    .fs-58 {
        font-size: 18px;
    }
    .fs-56 {
        font-size: 32px;
    }
    .fs-55 {
        font-size: 33px;
    }
    .fs-52 {
        font-size: 30px;
    }
    .fs-49 {
        font-size: 19px;
    }
    .fs-48 {
        font-size: 24px;
    }
    .fs-43 {
        font-size: 25px;
    }
    .fs-40 {
        font-size: 24px;
    }
    .fs-38 {
        font-size: 23px;
    }
    .fs-36 {
        font-size: 22px;
    }
    .fs-32 {
        font-size: 21px;
    }
    .fs-30 {
        font-size: 15px;
    }
    .fs-28 {
        font-size: 19px;
    }
    .fs-26 {
        font-size: 19px;
    }
    .fs-22 {
        font-size: 18px;
    }
    .fs-18 {
        font-size: 12px !important;
    }
    .fs-16 {
        font-size: 12px;
    }
    .fs-14 {
        font-size: 12px;
    }
    .fs-11 {
        font-size: 9px;
    }
    .ls-6 {
        letter-spacing: 0.5px;
    }
    .ls-2 {
        letter-spacing: 0.6px;
    }
    
#mainLogo{width: 100px;}
    
    .btn-brand {
        font-size: 10px;
        padding: 8px 5px;
    }

    .ls-4 {
        letter-spacing: 2px;
    }
    .carousel-control-next, .carousel-control-prev {
        width: 10%;
    }
    #carousel{height: 514px;}
}



@media screen and (max-width: 400px) {
    #mainLogo{width: 65px;}
}



@media (min-width: 992px) {
    .border-left-black {
      border-left: 1px solid #000;
    }
    .sticky-nav {
        position: sticky;
        top: 50px; /* distance from top of viewport; adjust as needed */
        align-self: start; /* ensures sticky behaves properly inside flex/grid */
        z-index: 10; /* keep it above other content */
    }
  }

