/**
Theme Name: Monty
Author: Blue Winds Media
Author URI: https://www.bluewindsmedia.com
Description: A custom theme for Monty\'s Public House, built on the Astra framework.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: monty
Template: astra
*/


/* ======= Common CSS: Start ======= */
*,
::before,
:after {
    box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    box-sizing: border-box;
}

p {
    margin: 0px 0px 20px;
}

p:last-child {
    margin: 0px 0px 0px;
}

a {
    text-decoration: none;
    color: inherit;
}

a:hover,
a:focus {
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
}

ul,
ol,
li {
    list-style: none;
}

ul+ul,
ul+ol,
ol+ul,
ol+ol {
    margin: 20px 0px 0px;
}

a:focus,
a:focus-within,
a:focus-visible,
a:target,
a:visited,
a:active,
button:focus,
button:focus-within,
button:focus-visible,
button:target,
button:visited,
button:active,
input:focus,
input:focus-within,
input:focus-visible,
input:target,
input:visited,
input:active,
select:focus,
select:focus-within,
select:focus-visible,
select:target,
select:visited,
select:active,
textarea:focus,
textarea:focus-within,
textarea:focus-visible,
textarea:target,
textarea:visited,
textarea:active {
    outline: none;
    box-shadow: none;
    font-family: inherit;
}

::-webkit-input-placeholder,
:-moz-placeholder,
::-moz-placeholder,
:-ms-input-placeholder,
::-ms-input-placeholder,
::placeholder {
    color: inherit;
    opacity: 1;
    font-family: inherit;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* ======= Common CSS: End ======= */



/* ======= Hover Button CSS: Start ======= */


.hover-btn a:before,
.hover-btn button.elementor-button.elementor-size-sm:before {
    content: "";
    width: 93px;
    height: 100px;
    display: block;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="93" height="100" viewBox="0 0 93 100" fill="none"><path d="M89.6354 79.6524C83.2912 88.1323 74.3947 94.3539 64.2528 97.4033C54.1109 100.453 43.2584 100.169 33.2897 96.5938C23.321 93.0187 14.7617 86.3407 8.86936 77.5409C2.97699 68.7411 0.0622007 58.2835 0.553237 47.7045C1.04427 37.1255 4.91525 26.9829 11.5974 18.7668C18.2796 10.5506 27.4207 4.6942 37.6777 2.05788C47.9347 -0.578434 58.7669 0.144358 68.5827 4.12007C78.3985 8.09577 86.6804 15.1148 92.2118 24.1459" stroke="%23D67D00"/></svg>');
    position: absolute;
    background-repeat: no-repeat;
    left: -36px;
    top: 50%;
    transform: translateY(-50%);
    background-size: 93px;
}

.hover-btn .elementor-button {
    position: relative;
}

/* ======= Hover Button CSS: End ======= */



/* ======= Heading Text Anim CSS: Start ======= */
span.word {
    display: inline-flex;
    overflow: hidden;
}

.text-anim span.word span.char {
    opacity: 0;
    transition: all 1.2s cubic-bezier(0.17, 0.17, 0, 0.79) !important;
}

.text-anim.split-is h1 span.word span.char,
.text-anim.split-is h2 span.word span.char,
.text-anim.split-is h3 span.word span.char,
.text-anim.split-is h4 span.word span.char {
    opacity: 1;
    transition-delay: calc(30ms * var(--char-index)) !important;
    display: inline-flex;
}

/* ======= Heading Text Anim CSS: End ======= */



/* ======= Header Section CSS: Start ======= */

.header-main-sec .elementor-widget-icon .elementor-icon {
    width: 60px;
    height: 60px;
    border: 1px solid rgba(214, 125, 0, 1);
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: anchor-center;
}


/* ======= Header Section CSS: End ======= */



/* ======= Footer Section CSS: Start ======= */

.footer-top-sec .elementor-widget-google_maps {
    mix-blend-mode: luminosity;
}

.footer-top-sec .elementor-widget-google_maps iframe {
    border-radius: 20px;
}

/* ======= Footer Section CSS: End ======= */



/* =======  Banner Section CSS: Start ======= */

.about-textarea h3 {
    text-indent: 300px;
}

.offer-inner-sec h4 span {
    width: 130px;
    display: flex;
}

.offer-inner-sec h4 {
    display: flex;
    gap: 30px;
}

.review-slider .elementor-testimonial .elementor-testimonial__footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.review-slider .elementor-testimonial cite.elementor-testimonial__cite {
    margin-left: 0 !important;
}

.review-slider .elementor-testimonial .elementor-testimonial__text:before {
    content: "";
    width: 60px !important;
    height: 55px !important;
    display: block;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="60" height="55" viewBox="0 0 60 55" fill="none"><path d="M0 37.5322C0 29.2704 2.8125 20.7725 8.67188 12.5107C14.5312 4.24891 18.75 0 21.5625 0H21.7969C22.9688 0 23.4375 0.472097 23.4375 1.65235C23.4375 2.59656 19.4531 6.13733 15.9375 10.8584C10.0781 17.7039 7.26562 24.0773 7.26562 29.9785C7.26562 33.9914 9.60938 35.8798 14.2969 35.8798C19.6875 35.8798 22.5 38.7124 22.5 44.6137C22.5 50.515 18.5156 55 12.8906 55C4.45312 55 0 46.7382 0 37.5322ZM36.5625 37.7682C36.5625 31.867 38.2031 25.7296 41.25 19.5923C47.5781 7.31759 55.3125 0 58.125 0H58.3594C59.5312 0 60 0.708145 60 1.8884C60 2.59656 56.0156 6.60944 52.5 10.8584C46.6406 17.9399 43.8281 24.3133 43.8281 29.9785C43.8281 33.9914 46.1719 35.8798 50.8594 35.8798C56.25 36.1159 59.0625 39.1846 59.0625 44.6137C59.0625 50.515 55.0781 55 49.4531 55C41.0156 55 36.5625 46.5021 36.5625 37.7682Z" fill="%23D67D00"/></svg>');
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 11;
    background-size: 60px;
}

.review-slider .elementor-testimonial .elementor-testimonial__text {
    padding-top: 80px;
}


.review-slider .elementor-main-swiper {
    width: 165vw !important;
    margin-left: -33vw;
    margin-right: -33vw;
}

.review-slider .elementor-main-swiper .swiper-slide-next .elementor-testimonial__text {
    color: #fff !important;
}

.contact-form .elementor-form-fields-wrapper .elementor-field-group input,
.contact-form .elementor-form-fields-wrapper .elementor-field-group textarea,
.contact-form .elementor-form-fields-wrapper .elementor-field-group select {
    padding: 20px 30px !important;
    box-shadow: none;
}

.contact-form .elementor-form-fields-wrapper .elementor-field-group select option {
    color: rgba(8, 17, 25, 1);
}

.contact-form .elementor-form-fields-wrapper .elementor-field-group input:focus,
.contact-form .elementor-form-fields-wrapper .elementor-field-group textarea:focus,
.contact-form .elementor-form-fields-wrapper .elementor-field-group select:focus {
    box-shadow: none !important;
    border-style: solid !important;
}

.contact-form .elementor-form-fields-wrapper .elementor-field-group label {
    margin-left: 30px;
}

.contact-form .elementor-form-fields-wrapper .elementor-field-group input::placeholder,
.contact-form .elementor-form-fields-wrapper .elementor-field-group textarea::placeholder {
    color: rgba(255, 255, 255, 0.3);
    font-family: "Evanston", Sans-serif;
    font-size: 30px;
    font-style: normal;
    font-weight: normal;
    line-height: 0.66em;
    text-transform: uppercase;
}

.contact-form .elementor-form-fields-wrapper .elementor-field-type-upload input {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.event-form .elementor-field-type-checkbox span.elementor-field-option input {
    width: 0px;
    height: 0px;
    position: absolute;
    opacity: 0;
}

.event-form .elementor-field-type-checkbox span.elementor-field-option label {
    position: relative;
    display: flex;
    font-family: "DIN", Sans-serif;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.11em;
    color: #fff !important;
    padding-left: 30px;
}

.event-form .elementor-field-type-checkbox span.elementor-field-option label:before {
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    border: 1.5px solid #ffffff33;
    opacity: 0.6;
}

.event-form .elementor-field-type-checkbox span.elementor-field-option label:after {
    content: "";
    width: 7px;
    height: 13px;
    display: block;
    position: absolute;
    top: 2px;
    left: 7px;
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    opacity: 0;
    transform: rotate(42deg);
}

.event-form .elementor-field-type-checkbox span.elementor-field-option input:checked+label:after {
    opacity: 1;
}

.event-form .elementor-field-type-submit {
    margin-top: 60px !important;
}


.menu-slider .e-n-carousel.swiper {
    width: 62.7vw;
}

.menu-slider .elementor-swiper-button:hover svg path {
    stroke: rgba(214, 125, 0, 1) !important;
    stroke-opacity: 1 !important;
    opacity: 1 !important;
}

.menu-slider .elementor-swiper-button svg path {
    stroke: rgba(255, 225, 255, 0.5) !important;
    stroke-opacity: 1 !important;
    opacity: 1 !important;
}

/* =======  Banner Section CSS: End ======= */



/* ======= Responsive CSS: Start ======= */

/*
    Elementor Breakpoint For Responsive Screen : 
    Mobile Portrait   : 767
    Mobile Landscape  : 1024
    Tablet Portrait   : 1200
    Tablet Landscape  : 1400
    Laptop            : 1600
    */

@media screen and (min-width: 1600px) and (max-width: 1780px) {}

@media screen and (min-width: 1600px) and (max-width: 1700px) {
    .footer-right-sec {
        gap: 60px !important;
    }
}

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

@media screen and (min-width: 1600px) and (max-width: 1680px) {

    .heading-text h2 {
        font-size: 62px !important;
    }
}

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

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

    .menu-slider .e-n-carousel.swiper {
        width: 74vw !important;
    }
}

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

    .footer-right-sec ul li a,
    .footer-right-sec ul li span {
        font-size: 20px !important;
    }

    .menu-left-sec {
        width: 41% !important;
    }

    .menu-slider {
        width: 59% !important;
    }

    .footer-right-sec {
        gap: 40px !important;
    }

    .about-textarea h3 {
        text-indent: 180px !important;
    }
}

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

    .hover-btn a:before {
        top: 40% !important;
        transform: translateY(-40%) !important;
        background-size: 80px !important;
    }

    .hover-btn button.elementor-button.elementor-size-sm:before {
        top: 50% !important;
        transform: translateY(-40%) !important;
        background-size: 80px !important;
    }

    .review-slider .elementor-testimonial .elementor-testimonial__text:before {
        background-size: 50px !important;
    }

    /* .review-slider .elementor-testimonial .elementor-testimonial__text {
        padding-top: 60px !important;
    } */

    .contact-form .elementor-form-fields-wrapper .elementor-field-group input::placeholder,
    .contact-form .elementor-form-fields-wrapper .elementor-field-group textarea::placeholder {
        font-size: 24px !important;
    }

    .contact-form .elementor-form-fields-wrapper .elementor-field-group label {
        margin-left: 20px !important;
    }

    .contact-form .elementor-form-fields-wrapper .elementor-field-group input,
    .contact-form .elementor-form-fields-wrapper .elementor-field-group textarea {
        padding: 20px 20px !important;
    }

    .offer-inner-sec h4 span {
        width: 140px !important;
        display: flex;
        max-width: 106px !important;
    }

    .about-textarea h3 {
        text-indent: 150px !important;
    }

    .event-form .elementor-field-type-checkbox span.elementor-field-option label {
        font-size: 16px !important;
    }
}

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

    .contact-form .elementor-form-fields-wrapper .elementor-field-group input::placeholder,
    .contact-form .elementor-form-fields-wrapper .elementor-field-group textarea::placeholder {
        font-size: 20px !important;
    }

    .contact-form .elementor-field-group {
        margin-bottom: 40px !important;
        padding-right: calc(40px / 2) !important;
        padding-left: calc(40px / 2) !important;
    }

    .contact-form .elementor-field-type-submit {
        padding-top: 30px;
    }

    .header-main-sec .elementor-widget-icon .elementor-icon {
        width: 50px !important;
        height: 50px !important;
    }

    .review-slider .elementor-testimonial .elementor-testimonial__text:before {
        background-size: 40px !important;
    }

    .about-textarea h3 {
        text-indent: 100px !important;
    }
}

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

    .menu-slider .e-n-carousel.swiper {
        width: 100vw !important;
    }

    .contact-form .elementor-form-fields-wrapper .elementor-field-group input::placeholder,
    .contact-form .elementor-form-fields-wrapper .elementor-field-group textarea::placeholder {
        font-size: 20px !important;
    }

    .contact-form .elementor-form-fields-wrapper .elementor-field-group label {
        margin-left: 0px !important;
    }

    .contact-form .elementor-form-fields-wrapper .elementor-field-group input,
    .contact-form .elementor-form-fields-wrapper .elementor-field-group textarea,
    .contact-form .elementor-form-fields-wrapper .elementor-field-group select {
        padding: 20px 0px !important;
    }

    .review-slider .elementor-testimonial .elementor-testimonial__text:before {
        background-size: 30px !important;
    }

    .review-slider .elementor-testimonial .elementor-testimonial__footer {
        gap: 10px !important;
    }

    .review-slider .elementor-testimonial .elementor-testimonial__text {
        padding-top: 60px !important;
    }

    .offer-inner-sec h4 span {
        max-width: 84px !important;
    }

    .review-slider .elementor-main-swiper {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .hover-btn a:before {
        top: 10% !important;
        transform: translateY(-30%) !important;
        background-size: 70px !important;
        left: -30px !important;
    }

    .hover-btn button.elementor-button.elementor-size-sm:before {
        top: 45% !important;
        transform: translateY(-30%) !important;
        background-size: 70px !important;
        left: -30px !important;
    }

    br {
        display: none;
    }


    .review-slider .elementor-main-swiper .swiper-slide .elementor-testimonial__text {
        color: #fff !important;
    }

    .about-textarea h3 {
        text-indent: 0px !important;
    }

}

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

    .menu-slider .e-n-carousel.swiper {
        width: 100% !important;
    }



    .footer-right-sec nav ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .offer-inner-sec h4 {
        display: flex;
        gap: 10px !important;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .offer-inner-sec h4 span {
        justify-content: center;
    }

    .header-main-sec .elementor-widget-icon .elementor-icon {
        width: 45px !important;
        height: 45px !important;
    }
}

/* ======= Responsive CSS: End ======= */