:root {
    --white: #ffffff;
    --off-white: #F4F6EE;
    --primary: #5E7E33;
    --text: #3B2314;
    --body-font: "Roboto Condensed", serif;
    --heading-font: "Baskervville", serif;
}
body {
    font-family: var(--body-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--text);
    background-color: var(--off-white);
}
body *:last-child {
    margin-bottom: 0;
}
ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
a, button, input {
    display: inline-block;
    text-decoration: none;
    -webkit-transition: all 0.33s;
    transition: all 0.33s;
}
img {
    max-width: 100%;
    height: auto;
}
input, textarea {
    outline: none;
    border: 1px solid #D5D9D0;
    border-radius: 2px;
    padding: 11px 15px;
}
textarea {
    height: 90px;
}
h1, h2 {
    font-family: var(--heading-font);
    font-weight: 400;
    font-style: italic;
    margin-bottom: 0;
}
h1 {
    font-size: 80px;
    line-height: 1.07;
}
h2 {
    font-size: 40px;
    line-height: 1.33;
}
.large {
    font-size: 21px;
    line-height: 1.33;
}
.primary-solid, .primary-transparent, .white-transparent, .white-solid {
    border: 1px solid var(--primary);
    text-align: center;
    font-family: var(--heading-font);
    padding: 11px 23px;
    text-transform: uppercase;
    border-radius: 2px;
}
.primary-solid, .primary-transparent:hover {
    color: var(--white);
    background-color: var(--primary);
}
.primary-solid:hover, .primary-transparent {
    color: var(--primary);
    background-color: transparent;
}
.white-solid {
    color: var(--primary);
    border-color: var(--white);
    background-color: var(--white);
}
.white-solid:hover {
    color: var(--white);
    background-color: transparent;
}
.white-transparent {
    color: var(--white);
    border-color: var(--white);
}
.white-transparent:hover {
    color: var(--text);
    background-color: var(--white);
}
.btns-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 16px;
}

/* Header Style */
header.site-header {
    padding: 20px 0;
    background-color: var(--white);
}
.site-logo {
    max-width: 100px;
}
.site-logo .white {
    display: none;
}
.mainmenu {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
nav.navmenu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    text-align: center;
}
nav.navmenu ul li a {
    padding: 4px 8px;
    color: var(--text);
    font-family: var(--heading-font);
    text-transform: uppercase;
}
nav.navmenu ul li a:hover {
    text-shadow: 0 0 1px var(--primary);
    color: var(--primary);
}

/* Footer Style */
.site-footer {
    padding: 64px 0;
    color: var(--white);
    background-color: var(--text);
    background: -webkit-linear-gradient(top, var(--text) 0%, #2C1202 100%);
    background: linear-gradient(180deg, var(--text) 0%, #2C1202 100%);
}
.footer-logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    gap: 8px;
}
.footer-logo .policy {
    color: var(--white);
    text-decoration: underline;
}
.footer-logo .policy:hover {
    color: var(--primary);
}
.footer-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    gap: 16px;
    max-width: 300px;
    margin: 0 auto;
}
ul.social-icons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
/* Hero Section Style */
.hero-section {
    text-align: center;
    background-image: url(../img/hero-bg.jpg);
    background-size: cover;
    background-position: bottom center;
    padding: 64px 0 22%;
}
.hero-section h1 {
    max-width: 780px;
    margin: 0 auto 16px;
}
.hero-section p {
    max-width: 400px;
    margin: 0 auto;
}

/* Food Slider Style */
.carousel-section {
    padding: 120px 0;
    text-align: center;
    background: url(../img/slider-bg.jpg) center / cover;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 64px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.carousel-section h2 {
    max-width: 475px;
    margin: 0 auto;
}
.single-carousel-image {
    background-color: var(--off-white);
    border-radius: 16px;
    max-width: 202px;
}
.single-carousel-image img {
    border-radius: 16px;
}

/* Box Column Style */
.box-column {
    padding: 116px 0;
}
.single-column-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    min-height: 100%;
    padding: 24px;
    background-color: #E8ECDF;
    border-radius: 16px;
}
.single-column-box .single-box-content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 32px 16px;
    background-color: var(--white);
    border-radius: 16px;
    min-height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 45px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
}
ul.card-anchor-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px;
}
ul.card-anchor-list li a {
    font-family: var(--heading-font);
    color: var(--primary);
    text-transform: uppercase;
    padding: 12px 12px 12px 11px;
    border-bottom: 1px solid;
}
ul.card-anchor-list li a:hover {
    color: var(--text);
}

/* Testimonial Section Style */
.testimonial-section {
    padding: 28% 0 64px;
    background: url(../img/testimonial-bg.jpg) center / cover;
}
.testimonial-content {
    max-width: 652px;
    background-color: var(--white);
    padding: 32px;
    border-radius: 16px;
}
.testimonial-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}
.testimonial-title h6 {
    font-family: var(--body-font);
    font-weight: 400;
    text-transform: capitalize;
    margin: 0;
}
span.rating {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 4px;
}
.testimonial-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px;
}
.single-testimonial-item > p {
    margin-bottom: 32px;
}
span.small-divider {
    color: #D5D9D0;
}
#testimonial_carousel .owl-nav {
    position: absolute;
    right: 0;
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    background-color: var(--white);
}
#testimonial_carousel .owl-nav button {
    width: 32px;
    height: 32px;
    background-color: #E8ECDF;
    border-radius: 50%;
    padding: 4px !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
#testimonial_carousel .owl-nav button svg path {
    -webkit-transition: all 0.33s;
    transition: all 0.33s;
}
#testimonial_carousel .owl-nav button:hover svg path {
    fill: #ABB69B;
}

/* Three vector column style */
.vector-column-box {
    padding: 116px 0;
}
.single-vector-box {
    padding: 32px;
    min-height: 485px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    gap: 48px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.single-vector-content h2 {
    margin-bottom: 8px;
}
.green-column {
    border-radius: 16px;
    background-color: var(--primary);
    color: var(--white);
    background-image: url(../img/column-vector-1.png);
    background-repeat: no-repeat;
    background-position: bottom left;
}
.transparent-column {
    background: url(../img/column-vector-2.png) center / cover;
}
.single-vector-content-box {
    background-color: var(--white);
    padding: 16px;
    border-radius: 16px;
    width: 100%;
    color: var(--primary);
}
.single-vector-content-box h2 {
    max-width: 265px;
    margin: 0 auto;
}
.off-white-column {
    background-color: #E8ECDF;
    border-radius: 16px;
    background-image: url(../img/column-vector-3.png);
    background-repeat: no-repeat;
    background-position: bottom right;
}
.full-width-section {
    padding: 0 0 16px;
    background-color: var(--white);
    overflow: hidden;
}
.single-fullwidth-image img {
    width: 100%;
}

/* Contact Us Modal */
#contactUsModal .modal-dialog {
    max-width: 880px;
}
#contactUsModal .modal-content {
    background-color: var(--off-white);
    padding: 24px;
    border-radius: 24px;
}
.contact-form-content {
    padding: 48px 48px 54px;
    background-color: var(--white);
    border-radius: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 16px;
}
.contact-form-content br {
    display: none;
}
.contact-form-content > p {
    margin-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
}
.contact-form-content > p label :is(input, textarea){
    width: 100%;
}
.contact-form-content .form-submit {
    position: relative;
}
.contact-form-content .form-submit .wpcf7-spinner {
    position: absolute;
    left: 0;
    top: calc(100% + 8px);
}
.contact-form-content > :is(label, .form-title) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4px;
}
.contact-image {
    position: relative;
}
.contact-image img {
    width: 100%;
    border-radius: 16px;
}
.contact-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 48px;
    height: 48px;
    border: none;
    background-color: var(--primary);
    padding: 12px;
    border-radius: 50%;
    line-height: 24px;
    text-align: center;
}
.modal span.wpcf7-not-valid-tip {
    display: none;
}
.modal .wpcf7-not-valid {
    border: 1px solid #dc3232;
}