/* =====================================
   RESPONSIVE STYLESHEET
   TownePlace Suites Hopkinsville
===================================== */

/* ==========================
   LARGE DEVICES
========================== */

@media screen and (max-width:1200px){

    .hero-content h1,
    .hero-content h2{
        font-size:58px;
    }

    .section-title h2{
        font-size:42px;
    }

    .amenities-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .room-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

/* ==========================
   TABLETS
========================== */

@media screen and (max-width:991px){

    .section-title::before{
    font-size: 44px;
}
    
    .section-title-contact::before {
    font-size: 44px;
}

    .section-title-gallery::before {
    font-size: 44px;
}

    .section-title-attractions::before {
    font-size: 44px;
}

    .about-content .primary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-width: 180px;
    height: 52px;
    padding: 0 28px;
    border-radius: 50px;
    margin: 0 auto;
}

.section-title-attractions::before {
    content: 'ATTRACTION';
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 57px;
    font-weight: 800;
    color: #000;
    opacity: .04;
    z-index: 0;
    white-space: nowrap;
}

    .section{
        padding:80px 0;
    }

    .top-bar{
        display:none;
    }

    .header{
        top:0;
        background:#fff;
        box-shadow:0 5px 20px rgba(0,0,0,.08);
        position: relative;
    }

    .header .container{
        padding:15px 0;
    }

    .logo img{
        max-height:60px;
    }

    .navbar{
        position:fixed;
        top:90px;
        left:-100%;
        width:100%;
        background:#fff;
        padding:30px;
        transition:.4s;
        box-shadow:0 10px 30px rgba(0,0,0,.10);
    }

    .navbar.active{
        left:0;
    }

    .navbar ul{
        flex-direction:column;
        gap:20px;
    }

    .navbar ul li{
        width:100%;
    }

    .navbar ul li a{
        color:#111 !important;
        display:block;
        padding:12px 0;
        border-bottom:1px solid #eee;
    }

    .menu-btn{
        display:block;
        color:#111;
        order:3;
    }

    .book-btn{
        display:none;
    }

    .hero{
        height:85vh;
    }

    .hero img{
        height:85vh;
    }

    .hero-content{
        width:90%;
    }

    .hero-content h1,
    .hero-content h2{
        font-size:48px;
    }

    .hero-content p{
        font-size:18px;
    }

    .booking-bar{
        margin-top:40px;
    }

    .booking-bar form{
        grid-template-columns:1fr;
        padding:25px;
    }

    .grid-2{
        grid-template-columns:1fr;
        gap:40px;
    }

    .about-content{
        text-align:center;
    }

    .section-title h2{
        font-size:38px;
    }

    .amenities-grid{
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }

    .room-grid{
        grid-template-columns:1fr;
    }

    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .parallax{
        background-attachment:scroll;
        height:400px;
    }

    .parallax h2{
        font-size:42px;
    }

}

@media(max-width:991px){

    .booking-form{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:767px){

    .booking-form{
        grid-template-columns:1fr;
    }

}

@media(max-width:991px){

    .booking-form{
        grid-template-columns:repeat(3,1fr);
    }

}

@media(max-width:767px){

    .booking-form{
        grid-template-columns:1fr;
    }

    .booking-bar{
        margin-top:-30px;
    }

}

@media(max-width:767px){

    .hero-slider .swiper-button-prev,
    .hero-slider .swiper-button-next{
        width:45px;
        height:45px;
    }

    .hero-slider .swiper-button-prev{
        left:15px;
    }

    .hero-slider .swiper-button-next{
        right:15px;
    }

    .hero-pagination{
        bottom:15px !important;
    }

}

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

@media screen and (max-width:767px){

    .container{
        width:92%;
    }

    .section{
        padding:113px 0;
    }

    .hero{
        height:75vh;
    }

    .hero img{
        height:75vh;
    }

    .hero-content h1,
    .hero-content h2{
        font-size:34px;
        line-height:1.2;
    }

    .hero-content p{
        font-size:16px;
        margin-bottom:25px;
    }

    .hero-btn{
        padding:14px 28px;
        font-size:14px;
    }

    .booking-bar{
        margin-top:20px;
    }

    .booking-bar form{
        padding:20px;
        gap:15px;
    }

    .booking-bar input,
    .booking-bar select,
    .booking-bar button{
        width:100%;
    }

    .subtitle{
        font-size:13px;
        letter-spacing:1px;
    }

    .about-content h2{
        font-size:32px;
    }

    .section-title{
        margin-bottom:0px;
    }

    .section-title h2{
    font-size: 48px;
    color: #111;
    margin-top: 0px;
    }

    .section-title h2{
        font-size:30px;
    }

    .amenities-grid{
        grid-template-columns:1fr;
    }

    .amenity-card{
        padding:30px 20px;
    }

    .amenity-card i{
        font-size:36px;
    }

    .section-title::before {
    content: 'AMENITIES';
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 60px;
    font-weight: 800;
    color: #000;
    opacity: .04;
    z-index: 0;
    white-space: nowrap;
}

    .section-title-gallery::before {
    content: 'GALLERY';
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 60px;
    font-weight: 800;
    color: #000;
    opacity: .04;
    z-index: 0;
    white-space: nowrap;
}
    .section-title-contact::before {
    content: 'CONTACT';
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 60px;
    font-weight: 800;
    color: #000;
    opacity: .04;
    z-index: 0;
    white-space: nowrap;
}

    .room-info{
        padding:25px;
    }

    .room-info h3{
        font-size:22px;
    }

    .gallery-grid{
        grid-template-columns:1fr;
    }

    .gallery-grid img{
        height:250px;
    }

    .parallax{
        height:320px;
    }

    .parallax h2{
        font-size:30px;
        padding:0 15px;
    }

    .parallax p{
        font-size:15px;
    }

    .contact-box h3{
        font-size:26px;
    }

    .map iframe{
        height:350px;
    }

    footer{
        padding:50px 0;
    }

    footer img{
        max-height:60px;
    }

    #backToTop{
        width:48px;
        height:48px;
        right:15px;
        bottom:15px;
    }

}

@media(max-width:991px){

    .attraction-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:767px){

    .attraction-grid{
        grid-template-columns:1fr;
    }

}

/* ==========================
   ATTRACTIONS RESPONSIVE
========================== */

@media (max-width: 991px){

    .attraction-wrapper{
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }

    .attraction-item{
        height:400px;
    }

    .attraction-overlay{
        padding:25px;
    }

    .attraction-overlay h3{
        font-size:24px;
    }

}

@media (max-width: 767px){

    .attraction-wrapper{
        grid-template-columns:1fr;
        gap:20px;
    }

    .attraction-item{
        height:350px;
    }

    .attraction-overlay{
        padding:20px;
    }

    .attraction-overlay h3{
        font-size:22px;
        margin-bottom:10px;
    }

    .attraction-overlay span{
        font-size:12px;
        padding:5px 12px;
    }

    .attraction-overlay a{
        font-size:14px;
    }

}

@media (max-width: 575px){

    .attraction-item{
        height:300px;
        border-radius:15px;
    }

    .attraction-overlay{
        padding:18px;
    }

    .attraction-overlay h3{
        font-size:20px;
    }

    .attraction-overlay p{
        font-size:14px;
        line-height:1.6;
    }

}

@media screen and (max-width:375px){

    .section-title::before{
    font-size: 44px;
}
    
    .section-title-contact::before {
    font-size: 44px;
}

    .section-title-gallery::before {
    font-size: 44px;
}

.about-content .primary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-width: 180px;
    height: 52px;
    padding: 0 28px;
    border-radius: 50px;
    margin: 0 auto;
}

}


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

@media screen and (max-width:480px){

    .hero-content h1,
    .hero-content h2{
        font-size:28px;
    }

    .hero-content p{
        font-size:15px;
    }

    .section-title h2{
        font-size:26px;
    }

    .about-content h2{
        font-size:28px;
    }

    .amenity-card h3{
        font-size:18px;
    }

    .room-info h3{
        font-size:20px;
    }

    .contact-box h3{
        font-size:24px;
    }

    .copyright{
        font-size:12px;
        line-height:1.6;
        padding:15px;
    }

}

@media(max-width:991px){

    .footer-grid{
        grid-template-columns:1fr 1fr;
    }

}

@media(max-width:767px){

    .footer-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .footer{
        text-align:left;
    }

    .footer h4::after {
        left: 0%;
        /* transform: translateX(-50%); */
    }

    .contact-info li{
        justify-content:left;
    }

    .footer-social{
        justify-content:left;
    }

}

@media(max-width:767px){

    .footer-bottom{
        padding:20px 15px;
    }

    .footer-bottom p{
        font-size:13px;
    }

    .footer-policy-links{
        display:flex;
        justify-content:center;
        flex-wrap:wrap;
        gap:10px;
    }

    .footer-policy-links span{
        display:none;
    }

}

/* Hopkinsville local experience sections */
@media screen and (max-width:1100px){
    .local-experience-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .home-field-to-fork,
    .event-venue-callout{
        grid-template-columns:auto 1fr;
    }

    .home-field-to-fork .experience-btn,
    .event-venue-callout .event-venue-link{
        grid-column:2;
        justify-self:start;
    }
}

@media screen and (max-width:767px){
    .local-experience-grid{
        grid-template-columns:1fr;
    }

    .local-experience-card{
        min-height:0;
    }

    .field-to-fork-callout,
    .home-field-to-fork,
    .event-venue-callout{
        grid-template-columns:1fr;
        text-align:left;
        padding:26px 22px;
    }

    .home-field-to-fork .experience-btn,
    .event-venue-callout .event-venue-link{
        grid-column:1;
        justify-self:start;
    }

    .field-to-fork-icon,
    .event-venue-icon{
        width:64px;
        height:64px;
        font-size:25px;
    }

    .field-to-fork-callout h3,
    .event-venue-content h2{
        font-size:23px;
    }

    .event-venue-section{
        padding-bottom:60px;
    }
}



/* Homepage FAQ and map */
@media screen and (max-width: 991px) {
    .location-map-layout {
        grid-template-columns: 1fr;
    }

    .location-map-content h2 {
        font-size: 36px;
    }

    .location-map-frame,
    .location-map-frame iframe {
        min-height: 480px;
    }
}

@media screen and (max-width: 767px) {
    .hotel-faq-heading {
        margin-bottom: 30px;
    }

    .hotel-faq-item summary {
        min-height: 72px;
        padding: 15px 16px;
        grid-template-columns: 44px 1fr 20px;
        gap: 12px;
        font-size: 16px;
    }

    .hotel-faq-icon {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        font-size: 17px;
    }

    .hotel-faq-answer {
        padding: 0 16px 20px;
        font-size: 15px;
    }

    .hotel-faq-links {
        flex-direction: column;
    }

    .hotel-faq-links a {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .location-map-content {
        padding: 32px 22px;
    }

    .location-map-content h2 {
        font-size: 31px;
    }

    .location-address-card {
        padding: 17px;
    }

    .location-map-actions {
        flex-direction: column;
    }

    .location-primary-btn,
    .location-secondary-btn {
        width: 100%;
    }

    .location-map-frame,
    .location-map-frame iframe {
        min-height: 390px;
    }
}

@media screen and (max-width: 420px) {
    .hotel-faq-item summary {
        grid-template-columns: 1fr 20px;
    }

    .hotel-faq-icon {
        display: none;
    }

    .location-address-card {
        flex-direction: column;
    }
}