*,
*::after,
*::before {
    padding: 0;
    margin: 0;
    box-sizing: border-box
}

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:wght@100;200;300;400;500;600;700;800;900&display=swap');

@font-face {
    font-family: "Generica";
    src: url('../font/Generica.otf');
}

@font-face {
    font-family: "Generica Bold";
    src: url('../font/Generica Bold.otf');
}
@font-face {
    font-family: "FuturaBold";
    src: url('../font/FuturaBold.ttf');
}

@font-face {
    font-family: "FuturaMedium";
    src: url('../font/FuturaMedium.ttf');
}


body {
    font-family: 'Montserrat', sans-serif;
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
    font-weight: 500;
}

.dynalight-regular {
    font-family: "Dynalight", cursive;
}
:root {
      /* Color Palette */
    --primary-accent: #000000; /* Pure Black */
    --background-light: #F5F5F5; /* Off White */
    --grey-light: #E0E0E0; /* Light Grey */
    --grey-mid: #B0B0B0; /* Medium Grey */
    --grey-dark: #707070; /* Dark Grey */
    --highlight-bg: #1A1A1A; /* Charcoal */
    --text-light: #FFFFFF; /* White */
    --text-dark: #000000; /* Black */
    --cta-button: #707070; /* Mid Grey */
    --cta-text: #FFFFFF; /* White */
   
    --f1: 1px;
    --f2: 2px;
    --f3: 3px;
    --f4: 4px;
    --f5: 5px;
    --f6: 6px;
    --f7: 7px;
    --f8: 8px;
    --f9: 9px;
    --f10: 10px;
    --f11: 11px;
    --f12: 12px;
    --f13: 13px;
    --f14: 14px;
    --f15: 15px;
    --f16: 16px;
    --f17: 17px;
    --f18: 18px;
    --f19: 19px;
    --f20: 20px;
    --f21: 21px;
    --f22: 22px;
    --f23: 23px;
    --f24: 24px;
    --f25: 25px;
    --f26: 26px;
    --f27: 27px;
    --f28: 28px;
    --f29: 29px;
    --f30: 30px;
    --f31: 31px;
    --f32: 32px;
    --f33: 33px;
    --f34: 34px;
    --f35: 35px;
    --f36: 36px;
    --f37: 37px;
    --f38: 38px;
    --f39: 39px;
    --f40: 40px;
    --f41: 41px;
    --f42: 42px;
    --f43: 43px;
    --f44: 44px;
    --f45: 45px;
    --f46: 46px;
    --f47: 47px;
    --f48: 48px;
    --f49: 49px;
    --f50: 50px;
    --f51: 51px;
    --f52: 52px;
    --f53: 53px;
    --f54: 54px;
    --f55: 55px;
    --f56: 56px;
    --f57: 57px;
    --f58: 58px;
    --f59: 59px;
    --f60: 60px;
    --f70: 70px;
    --f75: 75px;
    --f80: 80px;
    --f85: 85px;
    --f90: 90px;
    --p1: 1px;
    --p2: 2px;
    --p3: 3px;
    --p4: 4px;
    --p5: 5px;
    --p6: 6px;
    --p7: 7px;
    --p8: 8px;
    --p9: 9px;
    --p10: 10px;
    --p11: 11px;
    --p12: 12px;
    --p13: 13px;
    --p14: 14px;
    --p15: 15px;
    --p16: 16px;
    --p17: 17px;
    --p18: 18px;
    --p19: 19px;
    --p20: 20px;
    --p21: 21px;
    --p22: 22px;
    --p23: 23px;
    --p24: 24px;
    --p25: 25px;
    --p26: 26px;
    --p27: 27px;
    --p28: 28px;
    --p29: 29px;
    --p30: 30px;
    --p31: 31px;
    --p32: 32px;
    --p33: 33px;
    --p34: 34px;
    --p35: 35px;
    --p36: 36px;
    --p37: 37px;
    --p38: 38px;
    --p39: 39px;
    --p40: 40px;
    --p41: 41px;
    --p42: 42px;
    --p43: 43px;
    --p44: 44px;
    --p45: 45px;
    --p46: 46px;
    --p47: 47px;
    --p48: 48px;
    --p49: 49px;
    --p50: 50px;
    --p51: 51px;
    --p52: 52px;
    --p53: 53px;
    --p54: 54px;
    --p55: 55px;
    --p56: 56px;
    --p57: 57px;
    --p58: 58px;
    --p59: 59px;
    --p60: 60px;
    --p61: 61px;
    --p62: 62px;
    --p63: 63px;
    --p64: 64px;
    --p65: 65px;
    --p66: 66px;
    --p67: 67px;
    --p68: 68px;
    --p69: 69px;
    --p70: 70px;
    --p71: 71px;
    --p72: 72px;
    --p73: 73px;
    --p74: 74px;
    --p75: 75px;
    --p76: 76px;
    --p77: 77px;
    --p78: 78px;
    --p79: 79px;
    --p80: 80px;
    --p81: 81px;
    --p82: 82px;
    --p83: 83px;
    --p84: 84px;
    --p85: 85px;
    --p86: 86px;
    --p87: 87px;
    --p88: 88px;
    --p89: 89px;
    --p90: 90px;
    --p91: 91px;
    --p92: 92px;
    --p93: 93px;
    --p94: 94px;
    --p95: 95px;
    --p96: 96px;
    --p97: 97px;
    --p98: 98px;
    --p99: 99px;
    --p100: 100px;
    --p120: 120px;
    --m1: 1px;
    --m2: 2px;
    --m3: 3px;
    --m4: 4px;
    --m5: 5px;
    --m6: 6px;
    --m7: 7px;
    --m8: 8px;
    --m9: 9px;
    --m10: 10px;
    --m11: 11px;
    --m12: 12px;
    --m13: 13px;
    --m14: 14px;
    --m15: 15px;
    --m16: 16px;
    --m17: 17px;
    --m18: 18px;
    --m19: 19px;
    --m20: 20px;
    --m21: 21px;
    --m22: 22px;
    --m23: 23px;
    --m24: 24px;
    --m25: 25px;
    --m26: 26px;
    --m27: 27px;
    --m28: 28px;
    --m29: 29px;
    --m30: 30px;
    --m31: 31px;
    --m32: 32px;
    --m33: 33px;
    --m34: 34px;
    --m35: 35px;
    --m36: 36px;
    --m37: 37px;
    --m38: 38px;
    --m39: 39px;
    --m40: 40px;
    --m41: 41px;
    --m42: 42px;
    --m43: 43px;
    --m44: 44px;
    --m45: 45px;
    --m46: 46px;
    --m47: 47px;
    --m48: 48px;
    --m49: 49px;
    --m50: 50px;
    --m51: 51px;
    --m52: 52px;
    --m53: 53px;
    --m54: 54px;
    --m55: 55px;
    --m56: 56px;
    --m57: 57px;
    --m58: 58px;
    --m59: 59px;
    --m60: 60px;
    --m61: 61px;
    --m62: 62px;
    --m63: 63px;
    --m64: 64px;
    --m65: 65px;
    --m66: 66px;
    --m67: 67px;
    --m68: 68px;
    --m69: 69px;
    --m70: 70px;
    --m71: 71px;
    --m72: 72px;
    --m73: 73px;
    --m74: 74px;
    --m75: 75px;
    --m76: 76px;
    --m77: 77px;
    --m78: 78px;
    --m79: 79px;
    --m80: 80px;
    --m81: 81px;
    --m82: 82px;
    --m83: 83px;
    --m84: 84px;
    --m85: 85px;
    --m86: 86px;
    --m87: 87px;
    --m88: 88px;
    --m89: 89px;
    --m90: 90px;
    --m91: 91px;
    --m92: 92px;
    --m93: 93px;
    --m94: 94px;
    --m95: 95px;
    --m96: 96px;
    --m97: 97px;
    --m98: 98px;
    --m99: 99px;
    --m100: 100px;
}

@font-face {
    font-family: flaticon;
    src: url(../font/Flaticon.woff2) format("woff2");
    font-weight: 400;
    font-style: normal
}


[class^=flaticon-]:before,
[class*=" flaticon-"]:before,
[class^=flaticon-]:after,
[class*=" flaticon-"]:after {
    font-family: Flaticon;
    font-style: normal
}

.flaticon-call:before {
    content: "\f100"
}

.flaticon-play-button:before {
    content: "\f101"
}

.flaticon-next:before {
    content: "\f102"
}

.flaticon-university:before {
    content: "\f103"
}

.flaticon-work:before {
    content: "\f104"
}

.flaticon-room:before {
    content: "\f105"
}

.flaticon-layers:before {
    content: "\f106"
}

.flaticon-security:before {
    content: "\f107"
}

.flaticon-wifi:before {
    content: "\f108"
}

.flaticon-location:before {
    content: "\f109"
}

.flaticon-taxi:before {
    content: "\f10a"
}

.flaticon-calendar:before {
    content: "\f10b"
}

.flaticon-check-mark:before {
    content: "\f10c"
}

.flaticon-right-chevron:before {
    content: "\f10d"
}

.flaticon-left-quote:before {
    content: "\f10e"
}

.flaticon-left-chevron:before {
    content: "\f10f"
}

.flaticon-target:before {
    content: "\f110"
}

.flaticon-award:before {
    content: "\f111"
}

.flaticon-parking:before {
    content: "\f112"
}

.flaticon-breakfast:before {
    content: "\f113"
}

.flaticon-shop:before {
    content: "\f114"
}

.flaticon-facebook:before {
    content: "\f115"
}

.flaticon-twitter:before {
    content: "\f116"
}

.flaticon-linkedin:before {
    content: "\f117"
}

.flaticon-instagram:before {
    content: "\f118"
}

.flaticon-cross-out:before {
    content: "\f119"
}

.flaticon-expand:before {
    content: "\f11a"
}

.flaticon-play-button-1:before {
    content: "\f11b"
}

.flaticon-down-arrow:before {
    content: "\f11c"
}

.flaticon-email:before {
    content: "\f11d"
}


a {
    text-decoration: none;
    color: var(--secondary-color);
    font-family: var(--primary-font);
}

a:hover {
    text-decoration: none;
    color: var(--secondary-color);
    font-family: var(--primary-font);
}

.main-btn {
    font-weight: 700;
    font-size: var(--f15);
    color: var(--white-color);
    background-color: var(--btn-color);
    border: 1px solid var(--btn-color) !important;
    box-shadow: inset 0 0 0 0 #F6F6F9;
    padding: var(--p12) var(--p15);
    -webkit-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
}

.main-btn:hover {
    color: var(--white-color);
    background-color: var(--btn-hover);
    border-color: var(--btn-color);
    box-shadow: inset 0 50px 0 0 var(--btn-hover);
    -webkit-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
    border: 1px solid var(--btn-hover) !important;

}

.row {
    margin-left: 0px;
    margin-right: 0px;
}

ul,
li {
    list-style: none;
    margin-bottom: 0px;
    padding-left: 0px;
    font-family: var(--primary-font);
    font-size: var(--f16);
}

p {
    font-family: var(--primary-font);
    color: var(--para-color);
    font-size: var(--f16);
    line-height: 30px;
    letter-spacing: 0;
}

h1 {
    font-size: var(--f50);
    line-height: 1.3;
    font-weight: 700;
    color: var(--white-color);
    margin-bottom: var(--m30);
    font-family: var(--secondary-font);
}

h2 {
    font-size: var(--f36);
    line-height: 1.3;
    font-weight: 700;
    color: var(--heading-color);
    margin-bottom: var(--m20);
    font-family: var(--secondary-font);
}

h3 {
    font-size: var(--f30);
    line-height: 1.3;
    font-weight: 700;
    color: var(--heading-color);
    margin-bottom: var(--m20);
    font-family: var(--secondary-font);
}

h4 {
    font-size: var(--f26);
    line-height: 1.3;
    font-weight: 700;
    color: var(--heading-color);
    margin-bottom: var(--m20);
    font-family: var(--secondary-font);
}

h5 {
    font-size: var(--f22);
    line-height: 1.3;
    font-weight: 700;
    color: var(--heading-color);
    margin-bottom: var(--m20);
    font-family: var(--secondary-font);
}

h6 {
    font-size: var(--f22);
    line-height: 1.3;
    font-weight: 700;
    color: var(--heading-color);
    margin-bottom: var(--m20);
    font-family: var(--secondary-font);
}

section {
    padding: var(--p30) var(--p12);
}

pre,
sub {
    font-family: var(--primary-font);
    font-size: var(--f12);
}

table {
    font-family: var(--primary-font);
    font-size: var(--f16);
}

.col .col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12 {
    padding: 0px;
}

/* custom scrollbar */

::-webkit-scrollbar {
    width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
    background: var(--secondary-color);
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: #FFFFFD;
}


/* Header/Navigation Styles */
.navbar {
    background-color: var(--highlight-bg);
    padding: 1rem 0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.navbar-brand {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    color: var(--text-dark) !important;
    font-size: 1.6rem;
    letter-spacing: 2px;
}

.navbar-brand img {
    max-height: 80px;
    width: 95px;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.navbar-nav .nav-link {
    color: var(--text-light) !important;
    font-weight: 500;
    margin: 0 6px;
    transition: all 0.3s ease;
    position: relative;
    font-size: 1.25rem;
}

.navbar-nav .nav-link:hover {
    color: var(--grey-dark) !important;
}

.navbar-nav .nav-link:after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 0;
    height: 1px;
    background: var(--grey-dark);
    transition: width 0.3s ease;
}

.navbar-nav .nav-link:hover:after {
    width: 100%;
}

.navbar-collapse {
    flex-basis: 100%;
    flex-grow: 1;
    align-items: center;
    justify-content: center;
    display: flex;
}

.btn-book {
    background-color: var(--cta-button);
    color: var(--cta-text);
    border: none;
    padding: 10px 25px;
    border-radius: 3px;
    font-weight: 500;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.85rem;
}

.btn-book:hover {
    background-color: var(--primary-accent);
    color: var(--text-light);
    transform: translateY(-2px);
}

@media (max-width: 768px) {
    .navbar-brand img {
        max-height: 60px;
        width: 75px;
    }
    
    .navbar-nav .nav-link {
        font-size: 1rem;
        padding: 10px 0;
    }
}





/* footer css start */
/*================================Footer sec css start===============================*/

/* Footer Styles */
.footer {
    background: var(--primary-accent);
    color: var(--text-light);
    padding: 80px 0 30px;
}

.footer-content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 50px;
    margin-bottom: 50px;
}

.footer-logo {
    grid-column: 1;
}

.footer-logo img {
    max-height: 100px;
    margin-bottom: 20px;
}

.footer-logo-text {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    font-size: 1.8rem;
    margin-bottom: 15px;
}

.footer-tagline {
    color: var(--grey-mid);
    margin-bottom: 20px;
    font-size: 0.95rem;
}

.footer-section h4 {
    color: var(--text-light);
    font-weight: 500;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.footer-section ul {
    list-style: none;
    padding-left: 0;
}

.footer-section ul li {
    margin-bottom: 12px;
}

.footer-section ul li a {
    color: var(--grey-mid);
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 0.95rem;
}

.footer-section ul li a:hover {
    color: var(--text-light);
    padding-left: 5px;
}

.footer-social {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}

.footer-social a {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--grey-mid);
    border: 1px solid var(--grey-mid);
    border-radius: 3px;
    transition: all 0.3s ease;
}

.footer-social a:hover {
    color: var(--text-light);
    border-color: var(--text-light);
    transform: translateY(-3px);
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 25px;
    text-align: center;
    color: var(--grey-mid);
    font-size: 0.9rem;
}

@media (max-width: 768px) {
    .footer-content {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .footer-social {
        justify-content: center;
    }
}

/* footer .copyright .container{
    border-top: 1px solid #FFFFFF14;
    padding: 25px 12px;
} */
footer .copyright p {
    color: var(--white-color);
    text-align: left;
    margin-bottom: 0px;
    font-size: 14px;
}

.dropdown-item .nav-link:hover {
    /* background-color: #14264b; */
    color: var(--black-color) !important;
    
}

/*Banner css start*/
/* .banner {
    height: 350px;
    overflow: hidden;
} */
.banner img.img-fluid {
    height: 350px;
    max-height: 350px;
    width: 100%;
    object-fit: cover;
    object-position: bottom;
}

footer form {
    display: flex;
}





/*================================Footer sec css end===============================*/







/*===============================newsletter css Start=============================*/







.news-letter {
    padding-top: 0px;
    padding-bottom: 0px;
    background-color: rgba(0, 0, 0, 0);
}



@media (max-width : 767px) {



    .news-letter {
        padding-bottom: 40px;
    }



}


.newsletter-wrapper {

    background-color: transparent;
}

.news-letter {
    padding-top: 0px;
    padding-bottom: 0px;
    background-color: rgba(0, 0, 0, 0);
}



.newsletter {
    background-color: var(--secondary-color)
}

.news-button-sec {
    text-align: right;
}

.newsletter {
    padding: 39px 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: -61px;
    position: relative;
    z-index: 2;
    border-radius: 21px;
    border: 6px solid #fff;
    /* box-shadow: inset 0 0 10px #000000; */
}



.newsletter .news-title {
    width: 100%;
    display: flex;
    align-items: center;
}



.newsletter .news-title span {
    display: block;
    color: #222;
    font-size: 45px;
    margin-right: 15px;
    line-height: 0;
}



.newsletter .news-title .news-con h2 {
    font-size: 18px;
    color: #222;
    font-weight: 500;
    text-transform: uppercase;
}



.newsletter .news-title .news-con p {
    font-size: 21px;
    color: #ffff;
    font-weight: 500;
    letter-spacing: .5px;
    text-transform: capitalize;
    font-weight: 600;
    margin-bottom: 0;
}



.newsletter .subscribe-content {
    width: 50%;
    text-align: center;
}



.newsletter .subscribe-content .news-content .subscribe-block {
    display: flex;
    position: relative;
}



.newsletter .subscribe-content .news-content .subscribe-block input {
    color: #222;
    width: 100%;
    height: 44px;
    border: 1px solid black;
    border-radius: 0;
    padding: 20px;
}



.newsletter .subscribe-content .news-content .subscribe-block .email-submit {
    position: absolute;
    right: 0;
}



.newsletter .subscribe-content .news-content .subscribe-block .email-submit button {
    color: #fff;
    height: 44px;
    font-size: 16px;
    padding: 8px 15px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px;
    border-radius: 0px;
}



.newsletter .subscribe-content .news-content .subscribe-block .email-submit button {
    background-color: #000000;
}



.news-con p {
    font-weight: 600 !important;
    color: #000;
    font-family: Arial, Helvetica, sans-serif;
    padding-top: 0px;
}



.newsletter .subscribe-content .news-content .subscribe-block .email-submit button:hover {
    background-color: red;
}







.news-con h4 {
    padding-top: 13px;
}



.news-button-sec a {
    color: #000;
    background-color: #fff;
    padding: 12px 29px;
    font-weight: 600;
    font-size: 18px;
    border-radius: 50px;
}







/*===============================Newsletter css End=============================*/







.copyright p {
    margin: auto;
    font-size: var(--f14) !important;
    color: var(--white-color);
}

.right_copyright {
    text-align: right;
}

.copyright {
    background: transparent;
    padding: 20px 0;
    position: relative;
    border-top: 1px solid var(--white-color);
}

.right_copyright p img {
    width: 135px;
}
footer .copyright .right_copyright p{
    text-align:right;
}
/*Banner css start*/
.banner {
    height: 350px;
    overflow: hidden;
}

.banner img.img-fluid {
    height: 350px;
    max-height: 350px;
    width: 100%;
    object-fit: cover;
    object-position: bottom;
}

.banner .guides {
    /*position: absolute;*/
    height: 350px;
    top: 0;
    left: 0px;
    width: 100%;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.banner h1 {
    font-size: var(--f36);
    text-shadow: 0px 0px 3px #000;
    font-family: 'FuturaBold';
}

/*breadcrumb css start*/
.breadcrumb-wrap {
    padding: var(--p20);
    background-color: var(--white-color);
    border-bottom: 1px solid #ececec;
}

.breadcrumb {
    display: inline-block;
    padding: 0;
    text-transform: capitalize;
    color: #111235;
    font-size: 14px;
    font-weight: 600;
    background: none;
    margin: 0;
    border-radius: 0;
    padding-left: var(--p20);
}

.breadcrumb span {
    position: relative;
    text-align: center;
    padding: 0 var(--p10);
}

.breadcrumb i.fa-solid.fa-house {
    margin-right: var(--m5);
}

/*404 page css start*/
section.error h2 {
    color: var(--secondary-color);
    font-size: var(--f90);
    font-weight: bold;
    font-family: var(--primary-font);
    margin-bottom: var(--m20);
    text-align: center;
    line-height: 1;
}

section.error h3 {
    font-size: var(--f36);
    text-align: center;
    color: var(--primary-color);
    margin-bottom: 0;
}

section.error p {
    text-align: center;
}

section.error a.main-btn {
    width: 150px;
    margin: auto;
    text-align: center;
}

header.mob {
    display: none;
}

footer a.main-btn {
    display: inline-block;
    margin-top: 20px;
}


/* top nav */
.top-social-navbar {
    padding: 5px 50px;
    display: flex;
    justify-content: space-between;
    background-color: var(--black-color);
}

.social-icons-top {
    margin-top: 4px;
}

.top-nav-contact p {
    margin-bottom: 0;
    font-size: 14px;
    color: var(--white-color);
}

.top-nav-contact {
    display: flex;
    justify-content: end;
    gap: 15px;
}

.social-icons-top i {
    font-size: 14px;
    color: white;
    margin-right: 10px;
}

.top-nav-contact a {
    color: var(--white-color);
}

.top-nav-contact a {
    color: var(--white-color);
}


.nav-item.dropdown:hover .dropdown-menu {
    display: block;
    background-color: var(--btn-hover);
}

.dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: var(--btn-color);
    list-style-type: none;
    padding: 0;
    margin: 0;
    min-width: 160px;
    border: 0px solid;
    border-radius: 0;
}

.dropdown-item{
    color: var(--white-color);
}