:root{

--primary:#0F3D5E;
--secondary:#D4B15A;
--accent:#7DA27D;
--dark:#102331;
--gray:#f5f7fa;
--white:#ffffff;

}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{

font-family:'Poppins',sans-serif;
background:#fff;
color:#333;
overflow-x:hidden;

}

a{
text-decoration:none;
transition:.4s;
}

img{
max-width:100%;
}

.section-padding{
padding:100px 0;
}

/* NAVBAR */

.custom-navbar{

background:#fff;
box-shadow:0 5px 20px rgba(0,0,0,.05);
transition:.4s;

}

.custom-navbar .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
}

.custom-navbar .navbar-collapse{

    align-items:center;
    justify-content:flex-end;

}

.custom-navbar .navbar-nav{
    flex-wrap:nowrap;
    align-items:center;
    gap:2px;
}

.navbar-toggler {
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:16px;
  border:1px solid rgba(15,61,94,.18);
  background:transparent;
  transition:transform .35s ease, border-color .35s ease, background .35s ease;
  padding:0;
}

.navbar-toggler:hover {
  transform:scale(1.03);
  border-color:rgba(15,61,94,.35);
  background:rgba(15,61,94,.04);
}

.navbar-toggler-icon-custom {
  position:relative;
  width:22px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.navbar-toggler-icon-custom .line {
  position:absolute;
  left:0;
  right:0;
  height:2px;
  border-radius:1px;
  background:var(--primary);
  transition:transform .35s ease, opacity .35s ease;
}

.navbar-toggler-icon-custom .line-1 {
  top:0;
}

.navbar-toggler-icon-custom .line-2 {
  top:50%;
  transform:translateY(-50%);
}

.navbar-toggler-icon-custom .line-3 {
  bottom:0;
}

.navbar-toggler:not(.collapsed) .line-1 {
  transform: translateY(8px) rotate(45deg);
}

.navbar-toggler:not(.collapsed) .line-2 {
  opacity:0;
  transform: scaleX(0);
}

.navbar-toggler:not(.collapsed) .line-3 {
  transform: translateY(-8px) rotate(-45deg);
}





@media (max-width:991.98px){

    .custom-navbar .container{

        flex-wrap:wrap;

    }

    .navbar-collapse{

        width:100%;

        overflow:hidden;

    }

    .navbar-collapse.collapsing{

        transition:
        height .35s ease;

    }

    .navbar-collapse.show{

        margin-top:15px;

        padding:20px;

        background:#fff;

        border-radius:25px;

        box-shadow:
        0 25px 60px rgba(0,0,0,.12);

        animation:
        menuFade .35s ease;
    }

    .navbar-nav{

        width:100%;

        flex-direction:column;

        align-items:stretch;

        gap:10px;
    }

    .nav-link{

        display:block;

        width:100%;

        padding:14px 18px;

        border-radius:15px;

        margin:0;

        background:#f7f9fc;
    }

    .nav-link:hover{

        background:#eef3f8;

    }

    .dropdown-menu{

        position:static !important;

        transform:none !important;

        border:none;

        box-shadow:none;

        background:#f8fafc;

        margin-top:8px;

        padding:8px;

        border-radius:15px;

    }

    .dropdown-item{

        padding:12px 15px;

        border-radius:10px;

    }

    .dropdown-item:hover{

        background:#eef3f8;

    }

    .reservation-mobile-wrapper{

        width:100%;

        margin-top:20px;

        padding-top:20px;

        border-top:
        1px solid #eee;

    }

    .reservation-mobile-wrapper .btn{

        width:100%;

        display:block;

        text-align:center;

        padding:14px;

        font-size:15px;

    }

}






.logo-circle{

width:45px;
height:45px;

border-radius:50%;

background:var(--primary);

color:#fff;

display:flex;
align-items:center;
justify-content:center;

font-weight:700;

}

.logo-main{

display:block;
font-weight:700;
color:var(--primary);

}

.logo-sub{

display:block;
font-size:12px;
color:var(--secondary);

}

.nav-link{

font-weight:500;
margin:0 6px;
font-size:14px;
white-space:nowrap;

}

.nav-link:hover{

color:var(--primary);

}

.btn-reservation{

background: linear-gradient(135deg, #f4e0a5 0%, #dfb15b 100%);
color:#102331;
padding:10px 16px;
border-radius:50px;
font-weight:600;
font-size:14px;
white-space:nowrap;

}

.btn-reservation:hover{

transform:translateY(-3px);

}

/* FOOTER */

.main-footer{

background:var(--dark);
color:#fff;
padding:80px 0 20px;

}

.footer-logo{

font-weight:700;
margin-bottom:20px;

}

.main-footer ul{

list-style:none;
padding:0;

}

.main-footer ul li{

margin-bottom:12px;

}

.main-footer ul li a{

color:#ddd;

}

.main-footer ul li a:hover{

color:#fff;

}

.social-links a{

width:45px;
height:45px;

display:inline-flex;

justify-content:center;
align-items:center;

background:#17384c;

color:#fff;

border-radius:50%;

margin-right:10px;

}

.social-links a:hover{

transform:translateY(-5px);

}

.btn-newsletter{

background:var(--secondary);
color:#fff;

}

.footer-bottom{

display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;

}

.footer-bottom a{

color:#fff;
margin-left:15px;

}





@keyframes menuFade{

    from{

        opacity:0;

        transform:
        translateY(-10px);

    }

    to{

        opacity:1;

        transform:
        translateY(0);

    }

}