/* =====================================================
   ROUTE TRACE - HEADER.CSS
   Color Scheme:
  --primary:#479422;
    --secondary:#2b764b;
 
====================================================== */

/*:root{*/
/*    --primary:#479422;*/
/*    --primary-hover:#3B7F1C;*/
/*    --primary-light:#EAF5E4;*/
/*    --primary-extra-light:#F6FBF3;*/

/*    --secondary:#2B764B;*/
/*    --secondary-hover:#225F3C;*/
/*    --secondary-light:#E7F3EC;*/

/*    --dark:#252C34;*/
/*    --dark-hover:#1C2229;*/

/*    --light:#F8FAF8;*/
/*    --white:#FFFFFF;*/
/*    --black:#000000;*/

/*    --text:#3F4741;*/
/*    --text-white:#FFFFFF;*/
/*    --heading:#252C34;*/

/*    --border:#D7E3D8;*/
/*}*/

:root{

    /* Primary Brand */
    --primary:#1E4B3A;
    --primary-hover:#173A2D;
    --primary-light:#E8F2EE;
    --primary-extra-light:#F6FAF8;

    /* Secondary Accent */
    --secondary:#7A1F5C;
    --secondary-hover:#65184C;
    --secondary-light:#F5EAF1;

    /* Neutral */
    --dark:#1F2933;
    --dark-hover:#151D24;

    --light:#F8FAF9;
    --white:#FFFFFF;
    --black:#000000;

    /* Typography */
    --text:#4B5563;
    --text-white:#FFFFFF;
    --heading:#1E4B3A;

    /* Borders */
    --border:#D9E4DE;

}

*,
*::before,
*::after{
    box-sizing:border-box;
}
/* =========================================
   STICKY BOOK A VISIT CTA
   ========================================= */

.sticky-book-visit {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 99999;
}

/* Button */
.sticky-book-visit__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    min-width: 175px;
    padding: 15px 24px;

    background: #7A1F5C;
    color: #FFFFFF !important;

    border: 2px solid #FFFFFF;
    border-radius: 50px;

    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;

    cursor: pointer;

    /* Purple glow */
    box-shadow:
        0 0 0 3px rgba(122, 31, 92, 0.15),
        0 0 18px rgba(122, 31, 92, 0.55),
        0 8px 25px rgba(0, 0, 0, 0.18);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background-color 0.25s ease;
}

/* Icon */
.sticky-book-visit__icon {
    font-size: 17px;
    line-height: 1;
}

/* Hover */
.sticky-book-visit__button:hover {
    background: #7A1F5C;
    color: #FFFFFF !important;

    transform: translateY(-3px);

    box-shadow:
        0 0 0 4px rgba(122, 31, 92, 0.18),
        0 0 28px rgba(122, 31, 92, 0.75),
        0 12px 30px rgba(0, 0, 0, 0.22);
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .sticky-book-visit {
        right: 12px;
        left: 12px;
        bottom: 12px;
    }

    .sticky-book-visit__button {
        width: 100%;
        min-height: 54px;

        padding: 15px 20px;

        border-radius: 12px;

        font-size: 16px;

        box-shadow:
            0 0 0 3px rgba(122, 31, 92, 0.15),
            0 0 20px rgba(122, 31, 92, 0.60),
            0 6px 25px rgba(0, 0, 0, 0.20);
    }

    .sticky-book-visit__button:hover {
        transform: none;
    }
}


/* =========================================
   VERY SMALL PHONES
   ========================================= */

@media (max-width: 380px) {

    .sticky-book-visit {
        right: 8px;
        left: 8px;
        bottom: 8px;
    }

    .sticky-book-visit__button {
        min-height: 52px;
        font-size: 15px;
    }
}
.et-header{
    position:relative;
    width:100%;
    z-index:999;
    font-family:inherit;
}

.container{
    max-width:1280px;
    margin:0 auto;
    padding:0 20px;
}

/* ==========================
   TOP HEADER
========================== */

.et-top-header{
    background:var(--primary);
    color:#fff;
    font-size:14px;
}

.et-top-header .container{
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.et-top-left{
    display:flex;
    align-items:center;
    gap:35px;
    flex-wrap:wrap;
}

.top-item{
    display:flex;
    align-items:center;
    gap:12px;
}

.top-item i{
    width:38px;
    height:38px;
    border-radius:50%;
    background:rgba(255,255,255,.1);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:16px;
}

.top-item .title{
    display:block;
    font-size:14px;
    font-weight:700;
    color:#fff;
    line-height:1.2;
}

.top-item .subtitle{
    display:block;
    font-size:12px;
    color:rgba(255,255,255,.75);
}

.et-top-right{
    display:flex;
    align-items:center;
    gap:12px;
}

.et-top-right a{
    width:38px;
    height:38px;
    border-radius:50%;
    background:rgba(255,255,255,.1);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    transition:.3s;
}

.et-top-right a:hover{
    background:var(--secondary);
    transform:translateY(-2px);
}

/* ==========================
   MAIN HEADER
========================== */

.et-main-header{
    background:#fff;
    border-bottom:1px solid var(--border);
}

.et-main-header .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:100px;
    gap:10px;
}

.et-logo img{
    display:block;
    max-height:80px;
    width:auto;
}

.et-navigation{
    flex:1;
    display:flex;
    justify-content:center;
}

.et-menu{
    list-style:none;
    display:flex;
    align-items:center;
    gap:34px;
    margin:0;
    padding:0;
}

.et-menu li{
    position:relative;
}

.et-menu li a{
    text-decoration:none;
    color:var(--primary);
    font-size:14px;
    font-weight:600;
    transition:.3s;
}

.et-menu li a:hover,
.et-menu li.current-menu-item>a{
    color:var(--secondary);
}

/*.et-menu li::after{*/
/*    content:"";*/
/*    position:absolute;*/
/*    left:0;*/
/*    bottom:-6px;*/
/*    width:0;*/
/*    height:2px;*/
/*    background:var(--secondary);*/
/*    transition:.3s;*/
/*}*/

.et-menu > li::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:2px;

    background:var(--secondary);

    transition:.3s;

}

.et-menu > li:hover::after{

    width:100%;

}

.et-menu li:hover::after{
    width:100%;
}

/* ==========================
   CTA BUTTON
========================== */

/*.btn-primary{*/
/*    display:inline-flex;*/
/*    align-items:center;*/
/*    justify-content:center;*/
/*    min-width:170px;*/
/*    height:50px;*/
/*    padding:0 28px;*/
/*    border-radius:10px;*/
/*    background:var(--secondary);*/
/*    color:#fff;*/
/*    text-decoration:none;*/
/*    font-weight:700;*/
/*    transition:.3s;*/
/*}*/

/*.btn-primary:hover{*/
/*    background:var(--secondary-hover);*/
/*    transform:translateY(-2px);*/
/*    color:#fff;*/
/*}*/

/* ==========================
   HEADER CTA BUTTON
========================== */
.btn-primary i{
    padding-right:10px;
}

.btn-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:240px;
    height:64px;
    padding:0 25px;

    background:linear-gradient(135deg,var(--secondary),#922A71);
    color:var(--light) !important;

    border-radius:14px;
    border:2px solid rgba(255,255,255,.15);

    font-size:20px;
    font-weight:700;
    letter-spacing:.3px;
    text-decoration:none;

    transition:all .35s ease;

    /* Glow */
    box-shadow:
        0 8px 24px rgba(122,31,92,.35),
        0 0 0 2px rgba(255,255,255,.08),
        0 0 20px rgba(122,31,92,.45);

    position:relative;
    overflow:hidden;
}

/* Shine Animation */

.btn-primary::before{
    content:"";
    position:absolute;
    top:0;
    left:-100%;
    width:55%;
    height:100%;
    background:linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.45),
        transparent
    );
    transition:.7s;
}

.btn-primary:hover::before{
    left:140%;
}

/* Hover */

.btn-primary:hover{
    background:linear-gradient(135deg,#922A71,var(--secondary-hover));
    transform:translateY(-4px) scale(1.04);

    box-shadow:
        0 15px 35px rgba(122,31,92,.45),
        0 0 35px rgba(122,31,92,.65),
        0 0 60px rgba(122,31,92,.25);
}

/* Pulse */

.btn-primary{
    animation:pulseGlow 2.2s infinite;
}

@keyframes pulseGlow{
    0%{
        box-shadow:
            0 8px 24px rgba(122,31,92,.35),
            0 0 10px rgba(122,31,92,.25);
    }

    50%{
        box-shadow:
            0 12px 30px rgba(122,31,92,.55),
            0 0 28px rgba(122,31,92,.7);
    }

    100%{
        box-shadow:
            0 8px 24px rgba(122,31,92,.35),
            0 0 10px rgba(122,31,92,.25);
    }
}

/* ==========================
   MOBILE BUTTON
========================== */

/* ==========================
   MOBILE HAMBURGER BUTTON
========================== */

.mobile-toggle{

    width:52px;
    height:52px;

    background:var(--dark);

    border:none;

    border-radius:12px;

    display:flex;

    align-items:center;

    justify-content:center;

    cursor:pointer;

    position:relative;

}

.mobile-toggle span,
.mobile-toggle span::before,
.mobile-toggle span::after{

    content:"";

    position:absolute;

    width:22px;

    height:2.5px;

    background:#fff;
    right:7px;

    border-radius:50px;

    transition:.35s;

}

.mobile-toggle span::before{

    transform:translateY(-7px);

}

.mobile-toggle span::after{

    transform:translateY(7px);

}

.mobile-toggle.active span{

    background:transparent;

}

.mobile-toggle.active span::before{

    transform:rotate(45deg);

}

.mobile-toggle.active span::after{

    transform:rotate(-45deg);

}

/* Desktop */

@media(min-width:992px){

    .mobile-toggle{

        display:none;

    }

}

/* Mobile */

@media(max-width:991px){

    .mobile-toggle{

        display:flex;

    }

}

/* ==========================
   TABLET
========================== */

@media(max-width:1100px){

.et-top-left{
    gap:20px;
}

.et-menu{
    gap:15px;
}

}

/* ==========================
   MOBILE
========================== */

@media(max-width:991px){

.et-top-header{
    display:none;
}

.et-main-header .container{
    min-height:75px;
}

.et-navigation{
    display:none;
}

.et-header-btn{
    display:none;
}

.mobile-toggle{
    display:block;
}

.et-logo img{
    max-height:80px;
}

}

/* ==========================
   SMALL MOBILE
========================== */

@media(max-width:575px){

.container{
    padding:0 15px;
}

.et-main-header .container{
    min-height:68px;
}

.et-logo img{
    max-height:90px;
}

.mobile-toggle{
    width:44px;
    height:44px;
}

}
/* ==========================
OFF CANVAS MENU
========================== */

.et-mobile-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.5);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:998;

}

.et-mobile-menu{

    position:fixed;

    top:0;

    right:-340px;

    width:320px;

    max-width:90%;

    height:100vh;

    background:#ffffff;

    box-shadow:-5px 0 20px rgba(0,0,0,.15);

    transition:.35s;

    z-index:999;

    overflow-y:auto;

    padding:30px;

}

.et-mobile-menu.active{

    right:0;

}

.et-mobile-overlay.active{

    opacity:1;

    visibility:visible;

}

.close-menu{

    border:none;

    background:none;

    font-size:34px;

    color:var(--dark);

    cursor:pointer;

    float:right;

}

.mobile-logo{

    margin:40px 0;

    text-align:center;

}

.mobile-logo img{

    max-width:170px;

}

.mobile-menu{

    list-style:none;

    padding:0;

    margin:0;

}

.mobile-menu li{

    border-bottom:1px solid #e5e5e5;

}

.mobile-menu li a{

    display:block;

    padding:16px 0;

    color:var(--dark);

    text-decoration:none;

    font-size:18px;

    font-weight:600;

}

.mobile-menu li a:hover{

    color:var(--secondary);

}

.mobile-social{

    display:flex;

    justify-content:center;

    gap:15px;

    margin-top:40px;

}

.mobile-social a{

    width:42px;

    height:42px;

    border-radius:50%;

    background:var(--dark);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    transition:.3s;

}

.mobile-social a:hover{

    background:var(--secondary);

}

/*====================================================
=            DESKTOP DROPDOWN MENU
====================================================*/

/* Parent */

.et-menu > li{

    position:relative;

}

/* Arrow */

.et-menu .menu-item-has-children > a::after{

    content:"\f078";

    font-family:"Font Awesome 6 Free";

    font-weight:900;

    font-size:11px;

    margin-left:8px;

    transition:.3s;

}

.et-menu .menu-item-has-children:hover > a::after{

    transform:rotate(180deg);

}

/* Dropdown */

.et-menu .sub-menu{

    position:absolute;

    top:calc(100% + 22px);

    left:0;

    min-width:270px;

    margin:0;

    padding:14px 0;

    list-style:none;

    background:#ffffff;

    border-radius:16px;

    box-shadow:0 18px 45px rgba(37,44,52,.12);

    border:1px solid var(--border);

    opacity:0;

    visibility:hidden;

    transform:translateY(12px);

    transition:all .3s ease;

    z-index:9999;

}

/* Show */

.et-menu li:hover > .sub-menu{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

/* Items */

.et-menu .sub-menu li{

    display:block;

    width:100%;

}

.et-menu .sub-menu li::after{

    display:none;

}

/* Links */

.et-menu .sub-menu li a{

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:14px 22px;

    color:var(--dark);

    font-size:15px;

    font-weight:600;

    text-decoration:none;

    transition:.25s;

}

/* Hover */

.et-menu .sub-menu li a:hover{

    background:var(--primary-light);

    color:var(--secondary);

    padding-left:28px;

}

/* Divider */

.et-menu .sub-menu li:not(:last-child){

    border-bottom:1px solid var(--border);

}

/* Current */

.et-menu .sub-menu .current-menu-item > a{

    background:var(--primary-light);

    color:var(--secondary);

}

/* Second Level */

.et-menu .sub-menu .sub-menu{

    top:0;

    left:100%;

    margin-left:12px;

}
/*====================================================
=            MOBILE DROPDOWN MENU
====================================================*/

@media(max-width:991px){

.mobile-menu .menu-item-has-children{
    position:relative;
}

.mobile-menu .menu-item-has-children > a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    padding:18px 0;
}

/* Arrow */

.mobile-menu .menu-item-has-children > a::after{
    content:"\f078";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:13px;
    transition:.3s;
}

/* Rotate */

.mobile-menu .menu-item-has-children.active > a::after{
    transform:rotate(180deg);
}

/* Submenu */

.mobile-menu .sub-menu{

    list-style:none;
    margin:0;
    padding:0;

    max-height:0;
    overflow:hidden;

    background:var(--primary-extra-light);

    transition:max-height .35s ease;
}

/* Open */

.mobile-menu .menu-item-has-children.active > .sub-menu{
    max-height:800px;
}

/* Items */

.mobile-menu .sub-menu li{
    border-bottom:1px solid var(--border);
}

/* Links */

.mobile-menu .sub-menu li a{

    padding:14px 20px 14px 35px;

    font-size:15px;

    color:var(--dark);

    font-weight:500;

    display:block;
}

.mobile-menu .sub-menu li a:hover{

    background:var(--primary-light);

    color:var(--secondary);
}

}

/*booking CSS*/
/* Main booking form */
.booking {
    width: 100%;
    height: 150vh;
   
    max-width: 700px;
    margin: 0 auto;
    padding: 20px;
    border-radius: 16px;
    box-sizing: border-box;
}
html body, html body.md-theme-default, html .book-day button.md-whiteframe.selectable, html .book-day button.md-whiteframe.disabled, html .book-day button.md-whiteframe.selectable, html .book-day button.md-whiteframe.disabled{
     background: #FAFAF6 !important;
}
/* Labels */
.booking label {
    display: block;
    margin-bottom: 5px;
    font-size: 15px;
    font-weight: 600;
    color: #204B3A;
}

/* Inputs, select and textarea */
.booking input,
.booking select,
.booking textarea {
    width: 100%;
    height: 42px;
    padding: 8px 12px;
    margin-bottom: 10px;
    border: 1px solid #D9DFDC;
    border-radius: 8px;
   background: #FAFAF6 !important;
    font-size: 14px;
    box-sizing: border-box;
}

/* Textarea */
.booking textarea {
    height: 80px;
    resize: vertical;
}

/* Focus */
.booking input:focus,
.booking select:focus,
.booking textarea:focus {
    outline: none;
    border-color: #204B3A;
    box-shadow: 0 0 0 2px rgba(32, 75, 58, 0.1);
}

/* Buttons */
.booking button {
    min-height: 42px;
    padding: 9px 20px;
    border: none;
    border-radius: 8px;
    background: #204B3A;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.booking button:hover {
    background: #173A2D;
}

/* Mobile */
@media (max-width: 767px) {
    .booking {
        padding: 15px;
        
    }

    .booking input,
    .booking select {
        height: 42px;
    }
}