@font-face {
  font-family: 'Franklin Gothic URW URW';
  src: url(../fonts/FranklinGothicURWBook.woff);
}
header nav.navbar.white-link .navbar-nav > li > a { color: #000; }

.alt-font { font-family: "Franklin Gothic URW", sans-serif !important; }
        
@media (max-width: 991px) {
    .no-nav {
        display: none !important;
    }
}
@media (max-width: 767px) {
    .mr-cert-up, .mr-cert-down { margin-left: 0 !important; }
}

.mr-cert-up { margin-left: 26px; }
.mr-cert-down { margin-left: 19%; }

.full-width-pull-menu .dropdown .dropdown-toggle:before { width: 2px !important; }

.full-width-pull-menu .dropdown .dropdown-toggle:after { height: 2px !important; }

.separator-line-horrizontal-full-thick { width:100%; height: 3px; }

.title-shadow {
    text-shadow: 2px 2px #000 !important;
}

@media (min-width: 992px){
    .mt-585 {
        margin-top: 585px;
    }
}
        
@media (max-width: 991px) {
    .no-nav {
        display: none !important;
    }
}
@media (max-width: 767px) {
    /*.swiper-full-screen .swiper-pagination { display: none !important; }*/
}

@media (max-width: 480px) {
    .no-mobile { display: none !important; }
}
  
@media (min-width: 481px) and (max-width: 767px) {
    .no-mobile { display: block !important; }
}

.btn.btn-banner {
  font-size: 22px;
  padding: 0.6rem 1rem !important;
  /* font-family: 'Franklin Gothic URW', sans-serif; */
}

.link-glacier { color: #66B5C3; font-weight: 600; }
.link-glacier:hover { color: #28406a; }
.link-catalina-blue { color: #28406a; font-weight: 600; }
.link-catalina-blue:hover { color: #66B5C3; }
.text-glacier { color: #66B5C3; }
.text-catalina-blue { color: #28406a; }
.icon-glacier { color: #66B5C3; }
.icon-glacier:active { color: #000; }

.bg-transparent { background-color: transparent; }

.bg-glacier { background-color: #66B5C3; }

.btn-glacier { color: #000; background-color: #66B5C3; }
.btn-glacier:hover { color: #FFF; border: 2px solid #66B5C3; background-color: transparent !important; }
.btn-catalina-blue { color: #FFF; background-color: #28406a !important; }
.btn-catalina-blue:hover { color: #000; background-color: #66B5C3 !important; }

.bg-catalina-blue { background-color: #28406a; }
.bg-black-pearl { background-color: #0E1821; }

header.sticky nav.navbar.navbar-default.navbar-fixed-top ul.nav > li > a, header.sticky nav.navbar.navbar-default.navbar-top ul.nav > li > a {
  padding: 5px 0;
}

header.header-appear nav.header-dark, header.sticky nav.navbar-fixed-top.header-dark, header.sticky nav.navbar-scroll-fixed-top.header-dark {
    background-color: #0E1821;
}

.navbar-nav > li > a:hover, nav.navbar.bootsnav.white-link ul.nav > li > a:hover { color: #28406a !important; }

.opacity-full-medium { position: absolute; height: 100%; width: 100%; opacity: 0.7; top: 0; left: 0; }
.slider-text-middle-center {display: table; height: 100%; width: 100% }

.opacity-thumbnail { background: rgb(0 0 0 / 39%); padding: 8px; }

.full-width-pull-menu .dropdown .dropdown-toggle:before { width: 2px !important; }
.full-width-pull-menu .dropdown .dropdown-toggle:after { height: 2px !important; }

.feature-box-8:hover .feature-box-overlay { height: 100%; background: #66B5C3; }
.feature-box-8:hover h6, .feature-box-8:hover p { color: #000 !important; }
.feature-box-8:hover .icon-large { color: #000 !important; }
.feature-box-8:hover .icon-medium { color: #000 !important; }

.border-glacier { border: 1px solid #66B5C3 !important; }

.btn.btn-transparent-services {
  background: transparent;
  border-color: #ffffff;
  color: #ffffff;
}

.feature-box-8:hover .btn.btn-transparent-services {
  background: transparent !important;
  border-color: #000;
  color: #000;
}

.list-style-3 li {
  position: relative;
  padding: 0 0 0 22px;
  margin: 0 0 11px 0;
  font-size: 21px;
  color: #232323;
  letter-spacing: 0.8px !important;
  font-family: "Franklin Gothic URW", sans-serif !important;
}
.list-style-3 li:before {
  height: 2px;
  background-color: #66B5C3 !important;
}

.border-color-glacier {border-color:#66B5C3 !important;}

.custom-icon { color: #232323; }
.custom-icon:hover { color: #fff; }

.custom-bg { background-color: #fff; }
.custom-bg:hover { background-color: #66B5C3; }

.reservation-wide {
  font-family: 'Franklin Gothic URW', sans-serif !important;
}

@media (min-width: 992px){
    .mt-585 {
        margin-top: 585px;
    }
}

.commitment {
    font-size: 15px;
    letter-spacing: 0.5px;
    text-transform: capitalize;
}

header a.logo img { max-height: 100px;  }

/*.w-70 { width: 70% !important; }*/

@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl { max-width: 1300px; }
}

@media (max-width: 767px) {
    .sm-p-0 { padding: 0!important; }
    .first-letter { float: left; font-size: 25px !important; }
    .content-text { font-size: 19px !important; }
    .blockquote-wrapper { padding: 0; }
    .blockquote, .blockquote:after, .blockquote > h5, .blockquote > p { color: #000 !important; }
    header a.logo img { max-height: 50px !important; width: 75px; }
    .title-mobile { font-size: 25px !important; }
    .image-icon, .image-icon-2, .image-icon-4 { display: none; }
    .w-60, .w-80 { width: 100%!important; }
    .w50 { width: 35% !important; }
    /*.sm-w-70 { width: 70% !important; }*/
    h6 { font-size: 19px; letter-spacing: 0.8px; }
    .subtitle { line-height: 25px; }
    .banner-btn {
        font-size: 16px !important;
        padding: 8px 31px 13px !important;
        line-height: 12px !important;
    }
    .show-slide { display: none !important; }
}

.w-40 { width: 35%; }
.w-60 { width: 60%; }
.w-80 { width: 80%; }
.text-underline { text-decoration: underline; }

@media (min-width: 992px) and (max-width: 1199.98px) {
    .w-60 { width: 100%; }
    .grid-item.feature-box-4 figure figcaption { top: 53px; width: 93%; }
    .opacity-thumbnail { padding: 0 6px; }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    header a.logo img { max-height: 60px !important; width: 130px; }
}
 
.grid-item.feature-box-4 figure figcaption { padding: 0 10px 0px 10px; z-index: 3; }
.rounded-figure { border-radius: 0.75rem!important; }

.container-icon {
  display: flex;
  align-items: center;
  justify-content: center
}

.image-icon {
  flex-basis: 15%
}

.image-icon-2 { flex-basis: 11.7%; }
.image-icon-4 { flex-basis: 11.1%; }

.text { padding-left: 10px; }

@media screen and ( min-width: 850px ) and ( max-height: 768px )  {
    .no-title { margin-bottom: -8em; }
}

.btn.btn-blue {background:transparent; border-color: #007bff; color: #FFF !important; padding: 5px 10px 5px 7px;}
.btn.btn-blue:hover, .btn.btn-red:focus {background: #007bff; color: #fff !important}

a, a:active, a:focus {
    color: #9f5d24;
    text-decoration: none;
}

.white-link, .white-link:hover {
    color: #FFF !important;
}

.font-italic { font-style: italic; }

p {
  font-size: 21.7px;
  color: #232323;
  letter-spacing: 0.8px !important;
  font-family: "Franklin Gothic URW", sans-serif !important;
}

footer {
    font-size: 15px !important;
    font-family: 'Franklin Gothic URW', sans-serif !important;
}

footer .medium-icon li {
    margin: 0 15px;
}

nav.navbar.navbar-default ul.nav > li > a {
    background: transparent;
    border-color: transparent;
    font-weight: 600;
    font-size: 16px !important;
    /* margin: 20px; */
    padding: 5px 0px 5px;
    text-transform: uppercase;
    letter-spacing: 0.07em;
}

@media (max-width: 991px) {
    nav.navbar.bootsnav.no-full .navbar-collapse {
        max-height: 400px;
        overflow-y: auto !important;
    }
}


.full-width-pull-menu .link-style-2 ul li a {
    background: inherit;
    color: #232323;
    font-size: 35px;
    line-height: 75px;
    position: relative;
    font-family: 'Franklin Gothic URW', sans-serif;
    font-weight: 600;
}


.full-width-pull-menu .link-style-2 .dropdown ul li a {
    font-size: 21px;
    line-height: 35px;
    color: #757575;
    padding: 0px 20px;
    margin: 0;
    display: block;
    font-weight: 400;
    letter-spacing: 0.8px !important;
}

@media (max-width: 767px) {
    .full-width-pull-menu .link-style-2 ul li a {
        line-height: 42px;
        font-size: 22px;
    }
    .full-width-pull-menu .dropdown span.dropdown-toggle {
        right: -100px;
    }
    .full-width-pull-menu .link-style-2 .dropdown ul li a {
        line-height: 16px;
        font-size: 17px;
        padding: 10px 15px;
    }
    header.header-appear nav.header-dark, header.sticky nav.navbar-fixed-top.header-dark, header.sticky nav.navbar-scroll-fixed-top.header-dark {
        background-color: #0E1821;
        height: 60px !important;
        margin-top: -10px;
    }
}

.full-width-pull-menu span.dropdown-toggle {
    right: 80px;
}

.full-width-pull-menu .link-style-2 ul li:hover > a, .full-width-pull-menu .link-style-2 ul li.show > a {
    color: #007bff !important;
}

.full-width-pull-menu .link-style-2 ul li {
    display: table;
    width: 50%;
}

.hover-option8 .grid-item .portfolio-hover-main {
    display: inline-table;
    width: 90%;
    height: 50%;
    margin-top: 25%;
}

.no-border {
    border: 0 !important;
}

.btn.btn-large {
    padding: 6px 34px;
}

.height-50 {height: 50%}
.height-60 {height: 60%}
.height-70 {height: 70%}
.height-80 {height: 80% !important}
.height-90 {height: 90% !important}
.height-100 {height: 100% !important}
.height-auto {height:auto !important}
.max-height-100 {max-height: 100%}
.full-screen {min-height: 980px;}

@media (max-width: 767px) {
  iframe.contact-us-form { height: 620px !important; }

  iframe.map { height: 320px !important; }

  .dropdown-item { color: #FFF !important; }


}

iframe.contact-us-form { height: 446px; }

iframe.map { width: 100%; height: 520px; }

video {
    width: 100%;
    height: auto;
}


.dropdown-item {
  font-size: 18px;
  padding: 0.8rem 1rem;
  font-family: 'Franklin Gothic URW', sans-serif;
}

.white-box {
  background-color: rgb(0 0 0 / 30%);
  line-height: 50px;
  font-weight: 600;
  padding: 2rem;
}

.hero {
position: relative;
min-height: 70vh; /* Adjust height of the banner */
display: grid;
place-items: start;
overflow: hidden;
color: #fff;
isolation: isolate; /* keep overlay stacking clean */
}


/* --- Video background wrapper --- */
.video-bg {
position: absolute;
inset: 0;
z-index: -2; /* behind overlay and content */
overflow: hidden;
background: #000; /* fallback color while video loads */
}


/* Make iframe behave like background-cover */
.video-bg iframe {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
/* Ensure it always covers the container */
min-width: 100%;
min-height: 100%;
width: 177.78vh; /* 16/9 of container height (100 * 16/9) */
height: 56.25vw; /* 9/16 of container width (100 * 9/16) */
pointer-events: none; /* prevent clicks */
border: 0;
}


/* --- Gradient/Color overlay for contrast --- */
.hero::after {
content: "";
position: absolute;
inset: 0;
z-index: -1;
/* tweak the gradient to your brand */
background:
linear-gradient(180deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.35) 40%, rgba(0,0,0,0.55) 100%);
}


/* --- Content --- */
.hero-content {
    text-align: center;
    padding: 3rem 1rem;
    max-width: 960px;
}

.hero h1 { font-size: clamp(2rem, 5vw, 3.25rem); margin: 0 0 0.25rem; }
.hero p { font-size: clamp(1rem, 2.2vw, 1.25rem); margin: 0 0 1.5rem; opacity: 0.95; }

.btn-row { display: inline-flex; gap: .75rem; flex-wrap: wrap; justify-content: center; }
.btn {
appearance: none; border: 0; cursor: pointer;
padding: .85rem 1.15rem; border-radius: 999px; font-weight: 600;
background: #ffffff; color: #111; text-decoration: none; display: inline-block;
}
.btn.secondary { background: rgba(255,255,255,0.12); color: #fff; backdrop-filter: blur(2px); border: 1px solid rgba(255,255,255,0.25); }

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
.video-bg { display: none; }
.hero { background: #000 url('poster.jpg') center/cover no-repeat; }
}


/* Demo section to show content below hero */
.content {
padding: 3rem 1rem; max-width: 860px; margin: 0 auto; line-height: 1.6;
}

@media screen and (max-width: 991px) {
  nav.navbar.bootsnav .navbar-nav {
    padding: 2em;
  }
  nav.navbar.bootsnav .navbar-nav li, nav.navbar.bootsnav li.dropdown ul.mega-menu-full li.dropdown-header { margin-bottom: 1em; }
}

@media screen and (min-width: 768px) {
}

@media (min-width: 576px) { 
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) { 
  .one-second-screen { height: 300px; }

 }

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) { 
  .one-second-screen { height: 600px; }

 }

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) { 
  .one-second-screen { height: 600px; }

 }