/*
Theme Name: WS-theme
Theme URI: https://www.watsonsolutions.it/
Author: Watson Solutions
Author URI: https://www.watsonsolutions.it/
Description: Watson solutions starter theme based on Underscore.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wstheme
This theme, like WordPress, is licensed under the GPL.
*/

/* Inter */

@font-face {
    font-family: 'Inter';
    src: url('fonts/inter/Inter18pt-Thin.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/inter/Inter18pt-ThinItalic.woff2') format('woff2');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/inter/Inter18pt-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/inter/Inter18pt-LightItalic.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/inter/Inter18pt-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/inter/Inter18pt-Italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/inter/Inter18pt-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/inter/Inter18pt-MediumItalic.woff2') format('woff2');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/inter/Inter18pt-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/inter/Inter18pt-SemiBoldItalic.woff2') format('woff2');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/inter/Inter18pt-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/inter/Inter18pt-BoldItalic.woff2') format('woff2');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

/* Denton Condensed */

@font-face {
    font-family: 'Denton Condensed';
    src: url('fonts/denton/DentonCondensed-Thin.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Denton Condensed';
    src: url('fonts/denton/DentonCondensed-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Denton Condensed';
    src: url('fonts/denton/DentonCondensed-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Denton Condensed';
    src: url('fonts/denton/DentonCondensed-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Denton Condensed';
    src: url('fonts/denton/DentonCondensed-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Denton Condensed';
    src: url('fonts/denton/DentonCondensed-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Denton Condensed';
    src: url('fonts/denton/DentonCondensed-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Denton Condensed';
    src: url('fonts/denton/DentonCondensed-ThinItalic.woff2') format('woff2');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Denton Condensed';
    src: url('fonts/denton/DentonCondensed-LightItalic.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Denton Condensed';
    src: url('fonts/denton/DentonCondensed-RegularItalic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Denton Condensed';
    src: url('fonts/denton/DentonCondensed-MediumItalic.woff2') format('woff2');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Denton Condensed';
    src: url('fonts/denton/DentonCondensed-BoldItalic.woff2') format('woff2');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Denton Condensed';
    src: url('fonts/denton/DentonCondensed-ExtraBoldItalic.woff2') format('woff2');
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Denton Condensed';
    src: url('fonts/denton/DentonCondensed-BlackItalic.woff2') format('woff2');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/* ANIMATIONS */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

body,
html {
    height: 100%;
    background-color: #F3F1EB;
    font-family: 'Inter', sans-serif;
    font-weight: 400;    
    font-size: 1.075rem;
    line-height: 1.2;
    color: #2B2B2B;
    animation: fadeIn .8s ease-in-out;
}

.skip-link {
    display: none;
}

img.cf-rounded {
    width: 100%;
    height: auto;
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    border-radius: 25px;
}

a:link {
    color: #2B2B2B;
    text-decoration: none;
}
  
a:visited {
    color: #2B2B2B;
    text-decoration: none;
}
  
a:hover {
    color: #2B2B2B;    
    text-decoration: none;
}
  
a:active {    
    color: #2B2B2B;
    text-decoration: none;
}

/* CONTAINERS */
.cf-containers-large {
    position: relative;
    padding-left: 10%;
    padding-right: 10%;
}

.cf-containers-medium {
    position: relative;
    padding-left: 15%;
    padding-right: 15%;
}

@media (max-width: 767px) {
    .cf-containers-large {
        padding-left: 5%;
        padding-right: 5%;
    }

    .cf-containers-medium {
        padding-left: 10%;
        padding-right: 10%;
    }
}

/* GRID */
.cf-align-center {
    align-items: center;
}

/* ==========================================================================
   Layout
   ========================================================================== */

.cf-layout-1col {
    display: flex;
}

.cf-layout-1col .cf-layout-col {
    width: 100%;
}


/* 50 / 50 */
.cf-layout-2col {
    display: flex;
    gap: 75px;
}

.cf-layout-2col .cf-layout-col {
    width: 50%;
}


/* 40 / 60 */
.cf-layout-2col-40-60 {
    display: flex;
    gap: 75px;
}

.cf-layout-2col-40-60 .cf-layout-col:first-child {
    width: 40%;
}

.cf-layout-2col-40-60 .cf-layout-col:last-child {
    width: 60%;
}


/* 60 / 40 */
.cf-layout-2col-60-40 {
    display: flex;
    gap: 75px;
}

.cf-layout-2col-60-40 .cf-layout-col:first-child {
    width: 60%;
}

.cf-layout-2col-60-40 .cf-layout-col:last-child {
    width: 40%;
}


/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 767px) {

    .cf-layout-1col,
    .cf-layout-2col,
    .cf-layout-2col-40-60,
    .cf-layout-2col-60-40 {
        flex-direction: column;
    }

    .cf-layout-1col .cf-layout-col,
    .cf-layout-2col .cf-layout-col,
    .cf-layout-2col-40-60 .cf-layout-col,
    .cf-layout-2col-60-40 .cf-layout-col,
    .cf-layout-2col-40-60 .cf-layout-col:first-child,
    .cf-layout-2col-40-60 .cf-layout-col:last-child,
    .cf-layout-2col-60-40 .cf-layout-col:first-child,
    .cf-layout-2col-60-40 .cf-layout-col:last-child {
        width: 100%;
    }

    .cf-layout-2col {
        gap: 35px;
    }        

}

/* Padding left / right on single element */
.cf-pl-0percent {
    padding-left: 0;
}

.cf-pr-0percent {
    padding-right: 0;
}

.cf-pl-5percent {
    padding-left: 15%;
}

.cf-pr-5percent {
    padding-right: 15%;
}

/* Padding top + bottom */

.cf-py-25 {
    padding-top: 25px;
    padding-bottom: 25px;
}

.cf-py-50 {
    padding-top: 50px;
    padding-bottom: 50px;
}

.cf-py-75 {
    padding-top: 75px;
    padding-bottom: 75px;
}

.cf-py-100 {
    padding-top: 100px;
    padding-bottom: 100px;
}

.cf-py-125 {
    padding-top: 125px;
    padding-bottom: 125px;
}

.cf-py-150 {
    padding-top: 150px;
    padding-bottom: 150px;
}

.cf-py-200 {
    padding-top: 200px;
    padding-bottom: 200px;
}

.cf-py-250 {
    padding-top: 250px;
    padding-bottom: 250px;
}

/* Padding top */

.cf-pt-25 {
    padding-top: 25px;
}

.cf-pt-50 {
    padding-top: 50px;
}

.cf-pt-75 {
    padding-top: 75px;
}

.cf-pt-100 {
    padding-top: 100px;
}

.cf-pt-125 {
    padding-top: 125px;
}

.cf-pt-150 {
    padding-top: 150px;
}

.cf-pt-200 {
    padding-top: 200px;
}

.cf-pt-250 {
    padding-top: 250px;
}

/* Padding bottom */

.cf-pb-25 {
    padding-bottom: 25px;
}

.cf-pb-50 {
    padding-bottom: 50px;
}

.cf-pb-75 {
    padding-bottom: 75px;
}

.cf-pb-100 {
    padding-bottom: 100px;
}

.cf-pb-125 {
    padding-bottom: 125px;
}

.cf-pb-150 {
    padding-bottom: 150px;
}

.cf-pb-200 {
    padding-bottom: 200px;
}

.cf-pb-250 {
    padding-bottom: 250px;
}


/* ==========================================================================
   Mobile (< 768px)
   ========================================================================== */

@media (max-width: 767px) {

    /* Padding left / right on single element */
    .cf-pl-5percent {
        padding-left: 0;
    }

    .cf-pr-5percent {
        padding-right: 0;
    }

    /* Padding top + bottom */

    .cf-py-25 {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .cf-py-50 {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .cf-py-75 {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .cf-py-100 {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .cf-py-125 {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .cf-py-150 {
        padding-top: 75px;
        padding-bottom: 75px;
    }

    .cf-py-200 {
        padding-top: 100px;
        padding-bottom: 100px;
    }

    .cf-py-250 {
        padding-top: 125px;
        padding-bottom: 125px;
    }


    /* Padding top */

    .cf-py-25 {
        padding-top: 15px;
    }

    .cf-pt-50 {
        padding-top: 30px;
    }

    .cf-pt-75 {
        padding-top: 40px;
    }

    .cf-pt-100 {
        padding-top: 50px;
    }

    .cf-pt-125 {
        padding-top: 60px;
    }

    .cf-pt-150 {
        padding-top: 75px;
    }

    .cf-pt-200 {
        padding-top: 100px;
    }

    .cf-pt-250 {
        padding-top: 125px;
    }


    /* Padding bottom */

    .cf-pb-25 {
        padding-bottom: 15px;
    }

    .cf-pb-50 {
        padding-bottom: 30px;
    }

    .cf-pb-75 {
        padding-bottom: 40px;
    }

    .cf-pb-100 {
        padding-bottom: 50px;
    }

    .cf-pb-125 {
        padding-bottom: 60px;
    }

    .cf-pb-150 {
        padding-bottom: 75px;
    }

    .cf-pb-200 {
        padding-bottom: 100px;
    }

    .cf-pb-250 {
        padding-bottom: 125px;
    }    

}

/* TITLE */
.cf-subtitle,
p.cf-subtitle {
    font-size: .9rem;
    text-transform: uppercase;
    color: #8B0203;
}

h1.cf-title,
h2.cf-title,
h3.cf-title {
    font-family: 'Denton Condensed', sans-serif;
    font-size: 3.5rem;
    font-weight: 100;
    line-height: 1;
}

h1.cf-title span,
h2.cf-title span,
h3.cf-title span {
    font-weight: 400;
    font-style: italic;
}

p.cf-text-big {
    font-family: 'Denton Condensed', sans-serif;
    font-size: 3.5rem;
    font-weight: 100;
    line-height: 1;
}

p.cf-text-big span {
    font-weight: 400;
    font-style: italic;
}

span.cf-text-red {
    color: #8B0203;
}

/* BTN */
a.cf-btn-basic {
    display: inline-block;
    color: #8B0203;
    font-weight: 700;
    text-transform: uppercase;
    border: 2px solid #8B0203;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;    
    padding: 10px 45px;
}

a.cf-btn-basic span {
    display: inline-block;
    font-weight: 300;
    margin-right: 10px;
}

a.cf-btn-basic-white {
    display: inline-block;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    border: 2px solid #fff;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;    
    padding: 10px 45px;
}

a.cf-btn-basic-white span {
    display: inline-block;
    font-weight: 300;
    margin-right: 10px;
}

/* BG */
img.cf-generic-bg-left {
    position: absolute;
    left: 15%;
    top: 50%;
    transform: translateY(-50%);
    height: 100%;
    width: auto;
    z-index: -1;
}

img.cf-generic-bg-right {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 100%;
    width: auto;
    z-index: -1;
}

img.cf-generic-bg-center {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 100%;
    height: auto;
    z-index: -1;
}

/* HEADER */
.site-header {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    background-color: transparent;
    width: 100%;
    height: 100px;
    padding-right: 50px;
    z-index: 10;
}

img.logo-header {
    height: 75px;
    position: absolute;
    left: 50px;
    top: 35px;
}

.hamburger {
    display: none;
}

nav#site-navigation {
    margin-right: 100px;
}

nav#site-navigation ul {
    padding: 0;
    margin: 0;
}

nav#site-navigation ul li {
    position: relative;
    display: inline-block;
    letter-spacing: .5px;
    margin-right: 40px;
}

nav#site-navigation ul li:before {
    content: '. ';
    position: absolute;
    left: -10px;
    bottom: 0;
    color: #fff;
}

nav#site-navigation ul li a {
    color: #fff;
}

.single-product nav#site-navigation ul li:before {
    color: #2B2B2B;
}

.single-product nav#site-navigation ul li a {
    color: #2B2B2B;
}

.header-cta {
    display: flex;
}

.header-cta img {
    height: 30px;
    margin-bottom: 10px;
}

/* GALLERY SLIDER 1 */
.swiper-wrapper {
    align-items: center;
}

.cf-slider-mod-1 {
    overflow: hidden;
}

.cf-slider-mod-1 .swiper-slide {
    opacity: .6;
    transition: opacity .4s ease;
}

.cf-slider-mod-1 .swiper-slide-active {
    opacity: 1;
}

.cf-slider-mod-1__inner {
    transform: scale(.9);
    transition: transform .4s ease;
    transform-origin: center center;
}

.cf-slider-mod-1 .swiper-slide-active .cf-slider-mod-1__inner {
    transform: scale(1);
}

.cf-slider-mod-1__image {
    display: block;
    width: 100%;
    height: auto;
}

.cf-slider-scrollbar-container {
    margin: 0 auto;
    width: 200px;
}

.cf-slider-scrollbar-container-2 {
    margin: 0 auto !important;
} 

.cf-slider-mod-1__scrollbar {
    position: static !important;
    margin-top: 30px;
    height: 5px !important;
    background: #ddd;
}

.cf-slider-mod-1__scrollbar .swiper-scrollbar-drag {
    background: #000;
    border-radius: 0;
}

/* 2 */
.cf-slider-mod-2 {
    overflow: hidden;
}

.cf-slider-mod-2 .swiper-slide {
    opacity: .6;
    transition: opacity .4s ease;
}

.cf-slider-mod-2 .swiper-slide-active {
    opacity: 1;
}

.cf-slider-mod-2__inner {
    transform: scale(.85);
    transform-origin: center center;
    transition: transform .4s ease;
}

.cf-slider-mod-2 .swiper-slide-active .cf-slider-mod-2__inner {
    transform: scale(1);
}

.cf-slider-mod-2__image {
    display: block;
    width: 100%;
    height: auto;
}

.cf-slider-mod-2__scrollbar {
    position: static !important;
    margin-top: 30px;
    height: 5px !important;
    background: #ddd;
}

.cf-slider-mod-2__scrollbar .swiper-scrollbar-drag {
    background: #000;
    border-radius: 0;
}


/* 3 */
.cf-slider-mod-3 {
    overflow: hidden;
}

.cf-slider-mod-3 .swiper-slide {
    opacity: .6;
    transition: opacity .4s ease;
}

.cf-slider-mod-3 .swiper-slide-active,
.cf-slider-mod-3 .swiper-slide-next {
    opacity: 1;
}

.cf-slider-mod-3__inner {
    transform: scale(.85);
    transform-origin: center center;
    transition: transform .4s ease;
}

.cf-slider-mod-3 .swiper-slide-active .cf-slider-mod-3__inner {
    transform: scale(.85);
}

.cf-slider-mod-3 .swiper-slide-next .cf-slider-mod-3__inner {
    transform: scale(1);
}

.cf-slider-mod-3__image {
    display: block;
    width: 100%;
    height: auto;
}

.cf-slider-mod-3__scrollbar {
    position: static !important;
    margin-top: 30px;
    height: 5px !important;
    background: #ddd;
}

.cf-slider-mod-3__scrollbar .swiper-scrollbar-drag {
    background: #000;
    border-radius: 0;
}

/* 4 */

.cf-slider-mod-4 {
    position: relative;
    overflow: hidden;
}

.cf-slider-mod-4 .swiper-slide {
    opacity: .6;
    transition: opacity .4s ease;
}

.cf-slider-mod-4 .swiper-slide-active {
    opacity: 1;
}

.cf-slider-mod-4__inner {
    transform: scale(.9);
    transition: transform .4s ease;
    transform-origin: center center;
}

.cf-slider-mod-4 .swiper-slide-active .cf-slider-mod-4__inner {
    transform: scale(1);
}

.cf-slider-mod-4__image {
    display: block;
    width: 100%;
    height: auto;
}

/* Navigation */
.cf-slider-4-navigation {
    position: absolute;
    top: 0;
    right: 10%;
    z-index: 10;

    display: flex;
    align-items: center;
    gap: 15px;
}

.cf-slider-mod-4__prev,
.cf-slider-mod-4__next {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cf-slider-mod-4__prev img,
.cf-slider-mod-4__next img {
    display: block;
    width: 40px;
    height: auto;
}

/* Background */
.cf-background-white {
    background-color: #fff;
}

.cf-background-image {
    color: #fff;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.cf-background-image .cf-layout-col {
    position: relative;
    z-index: 2;
}

.cf-background-image p.cf-subtitle {
    color: #fff;
}

.cf-shape-image {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 1;
}

.cf-shape-image-gradient {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 75%;
    background: #858585;
    background: linear-gradient(180deg, rgba(133, 133, 133, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
    z-index: 1;
}

/* HOME */
.hp-hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    height: 100%;
    width: 100%;
    color: #fff;
    overflow: hidden;
}

.hp-hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.hp-hero-content {
    position: relative;
    z-index: 2;
}

.hp-hero-content h1 {
    font-family: 'Denton Condensed', sans-serif;
    font-size: 3.5rem;
    font-weight: 100;
    line-height: 1;
    margin: 0;
}

.hp-hero-content h1 span {
    font-weight: 400;
    font-style: italic;
}

/* PAGE */
.pp-hero {
    display: flex;
    align-items: flex-end;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    color: #fff;
}

.pp-hero-content {
    position: relative;
    z-index: 2;
}

.pp-hero-content h1 {
    font-family: 'Denton Condensed', sans-serif;
    font-size: 3.5rem;
    font-weight: 100;
    line-height: 1;
    margin: 0;
}

.pp-hero-content h1 span {
    font-weight: 400;
    font-style: italic;
}

/* OSPITALITY */
.pp-hero-camere {
    height: 400px;
}

.cf-filtri {
    display: flex;
    justify-content: space-between
}

.cf-filtro-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cf-filtri-container {
    display: flex;
    gap: 10px;
}

.cf-filtro-container h3 {
    font-size: 1rem;
    color: #8B0203;
}

.cf-filtro {
    color: #8B0203;
    font-size: .9rem;
    border: 2px solid #8B0203;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;    
    padding: 7.5px 15px;
    cursor: pointer;
}

.cf-filtri .active {
    background-color: #8B0203;
    color: #fff;
}

.cf-filtri-divider {
    height: 80px;
    border-right: 1px solid #D9CFC3;
}

.cf-rooms-images {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.cf-rooms-images img.cf-rounded {
    width: 100%;
    height: auto;
    display: block;
}

/* TERRITORY */
.cf-terrotory-grapes {
    display: flex;
    align-items: center;
    gap: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.cf-terrotory-grapes::-webkit-scrollbar {
    display: none;
}

.cf-territory-grape {
    flex: 0 0 520px;
    display: flex;
    align-items: center;
    gap: 40px;
}

.cf-territory-grape-content {
    display: flex;
    flex-direction: column;
}

.cf-territory-grape-content h3 {
    color:#8B0203;
    font-family: 'Denton Condensed', sans-serif;
    font-size: 1.75rem;
    line-height: 1;
    font-weight: 100;    
    margin-bottom: 10px;
}

.cf-territory-grape-content p {
    font-size: .9rem;
    line-height: 1.3;
    max-width: 280px;
    margin: 0;
}

.cf-territory-grape img {
    flex-shrink: 0;
    width: 220px;
    height: auto;
}

.cf-territory-divider {
    flex: 0 0 1px;
    width: 1px;
    height: 250px;
    margin: 0 40px;
    background: rgba(0,0,0,.15);
}

/* CONTACTS */
#cf-map {
    width: 100%;
    height: 350px;
}

.leaflet-tile {
    filter: grayscale(100%) contrast(120%) brightness(85%);
}

/* Form */
.cf-input {
    height: 80px;
    width: 100%;
    background-color: #4f474509;
    color: #fff;
    border: none;
    font-size: 1rem;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    padding: 0 15px;
}

.cf-input-textarea {
    height: 175px;
    padding: 15px;
}

.wpcf7-list-item {
    margin: 0;
}

span.wpcf7-list-item-label {
    font-size: .9rem;
    font-weight: 300;
    color: #85868A;
}

span.wpcf7-list-item-label a {
    font-weight: 600;   
    color: #85868A;
}

.cf-submit {
    height: 70px;
    width: 100%;
    background-color: #8B0203;
    color: #fff;
    font-weight: 400;
    font-size: 1rem;
    letter-spacing: 1px;
    border: none;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    margin-top: 25px;
}

.wpcf7 form .wpcf7-response-output {
    border: none;
	margin: 0;
    padding: 0;
}

.wpcf7-response-output {
    text-align: center;
}

/* WINES SLIDER */
.cf-wines-slider-wrapper {
    overflow-x: hidden;
}

.cf-wines-slider,
.cf-wines-slider-2 {
    width: 100%;
}

.cf-wines-slide {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

.cf-wines-slide__image {
    flex: 0 0 35%;
}

.cf-wines-slide__img {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: -30px;
}

.cf-wines-slide__content {
    flex: 1;
}

.cf-wines-slide__badge {
    margin-bottom: 20px;
}

.cf-wines-slide__title {
    font-family: 'Denton Condensed', sans-serif;
    font-size: 2rem;
    text-transform: uppercase;
    line-height: 1;
    font-weight: 500;    
    margin-bottom: 30px;
}

.cf-wines-slide__subtitle {
    font-family: 'Denton Condensed', sans-serif;
    font-size: 2rem;
    line-height: 1;
    font-weight: 100;    
    margin-bottom: 30px;
}

.cf-wines-slide__excerpt {
    font-size: .8rem;
    line-height: 1;
    margin-bottom: 40px;
}

.cf-wines-slide__cta {
    display: inline-flex;
    align-items: flex-end;
    gap: 12px;
    font-size: .9rem;
    text-decoration: none;
}

a.cf-wines-slide__cta {
    color: #8B0203;
}

.cf-wines-slide__cta img {
    display: block;
}

.cf-wines-slider-wrapper .cf-slider-scrollbar-container {
    margin: 0;
}

.cf-wines-slider__scrollbar {
    position: static !important;
    margin-top: 30px;
    height: 5px !important;
    background: #ddd;
}

.cf-wines-slider__scrollbar .swiper-scrollbar-drag {
    background: #000;
    border-radius: 0;
}

/* SINGLE PRODUCT */
.cf-single-product {
    position: relative;
    padding-top: 200px;
}

img.cf-single-product-bg {
    position: absolute;
    z-index: 0;
    left: -15%;
    top: 50px;
    width: 75%;
    height: auto;
}

.woocommerce-notices-wrapper {
    position: relative;
    z-index: 9999;
}

.woocommerce div.product div.images img {
    width: 75%;
    margin: 0 auto;
}

.woocommerce div.product div.images a {
    pointer-events: none;
    cursor: default;
}

.woocommerce div.product div.summary {
    padding-top: 150px;
}

.woocommerce div.product .product_title {
    font-family: 'Denton Condensed', sans-serif;
    font-size: 2rem;
    text-transform: uppercase;
    line-height: 1;
    font-weight: 500;    
    margin-bottom: 40px;
}

h2.cf-product-subtitle {
    font-family: 'Denton Condensed', sans-serif;
    font-size: 2rem;
    line-height: 1;
    font-weight: 100;    
    margin-bottom: 30px;
}

.cf-product-limited-edition {
    display: flex;
    align-items: center;
    gap: 25px;
    margin-bottom: 25px;
}

.cf-product-limited-edition span {
    background-color: #8B0203;
    color: #DBC124;
    text-align: center;
    text-transform: uppercase;
    font-size: .9rem;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
    padding: 8px 20px;
}

.cf-product-limited-edition img {
    height: 50px;
}

.cf-product-technical-sheet {
    display: flex;
    align-items: flex-end;
    margin-top: 75px;
    margin-bottom: 50px;
}

.cf-product-technical-sheet img {
    width: 60px;
    margin-right: 20px;
}

span.cf-product-technical-sheet__text {
    text-transform: uppercase;
    line-height: 1.1;
    padding-bottom: 5px;
}

.cf-product-technical-sheet__text span {
    color: #8B0203;
    font-weight: 700;
}

.woocommerce-product-details__short-description p {
    line-height: 1.3;
}

.single-product .woocommerce-Price-amount {
    color: #2B2B2B;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 45px;
    border: 0;
    border-radius: 30px;
    background-color: #3AAA5C;
    color: #fff;
    font-weight: 400;
    font-size: .9rem;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .2s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
    background-color: #32914e;
    color: #fff;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background-color: #3AAA5C;
    color: #fff;
}

.cf-product-content {
    clear: both;
    width: 100%;   
    padding-top: 100px; 
    padding-bottom: 300px;
}

h2.cf-product-section-title {
    font-family: 'Denton Condensed', sans-serif;
    font-size: 2rem;
    font-weight: 100;
    line-height: 1;
    margin:  0 0 50px 0;
}

.cf-product-description {

}

.cf-product-item {
    margin-bottom: 30px;
}

h3.cf-product-item-title {
    font-size: 1rem;
    text-transform: uppercase;
    font-weight: 400;
    margin: 0;
}

.cf-product-item-text {
    font-size: 1rem;
    font-weight: 300;
}

.cf-product-divider {
    display: block;
    width: 100%;
    border: 1px dotted #707070;
    margin: 75px 0;
}

.cf-product-columns {
    display: flex;
    gap: 60px;
}

.cf-product-item:last-child {
    margin-bottom: 0;
}

.cf-product-column {
    flex: 1;
    min-width: 0;
}

@media (max-width: 768px) {

    .cf-product-columns {
        flex-direction: column;
        gap: 30px;
    }

}

.cf-product-navigation {
    position: absolute;
    display: flex;
    gap: 15px;
    right: 5%;
    bottom: 50px;
}

.cf-product-navigation img {
    width: 50px;
    cursor: pointer;
}

/* SHOP */
.products {
    padding-top: 50px;
}

li.product {
    text-align: center;
}

.woocommerce ul.products li.product .button {
    display: inline-block;
    padding: 10px 45px;
    color: #8B0203;
    font-weight: 700;
    text-transform: uppercase;
    background: transparent;
    border: 2px solid #8B0203;
    border-radius: 30px;
}

.woocommerce ul.products li.product .button:hover {
    color: #fff;
    background: #8B0203;
}

/* CARRELLO */
.cf-cart-button a {
    display: inline-block;
    color: #8B0203;
    background-color: transparent;
    font-weight: 700;
    text-transform: uppercase;
    border: 2px solid #8B0203;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;    
    padding: 10px 45px;
}


/* CHECKOUT */
.cf-checkout-button button {
    color: #8B0203;
    background-color: transparent;
    font-weight: 700;
    text-transform: uppercase;
    border: 2px solid #8B0203;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;    
    padding: 10px 45px;  
}


/* 404 */
.container-404 {
    padding-top: 150px;
    padding-bottom: 150px;
}

/* FOOTER */
.cf-footer {
    background-color: #837E73;
    color: #fff;
}

.cf-footer a {
    color: #fff;
}

ul.cf-footer-menu {
    font-weight: 300;
    font-size: 1.2rem;
    text-transform: uppercase;
    line-height: normal;
    list-style-type: none;
    padding-left: 10px; 
}

ul.cf-footer-menu li {
    position: relative;
}

ul.cf-footer-menu li:before {
    content: '.';
    position: absolute;
    left: -10px;
    bottom: 0;
    color: #fff;
}

.cf-footer-social {
    display: flex;
    gap: 10px;
}

.cf-footer-social img {
    width: 30px;
}

img.logo-footer {
    height: 75px;
    margin-top: -40px;
    margin-bottom: 25px;
}

img.logo-agri-italia {
    height: 100px;
    margin-top: 15px;
    border: 5px solid #fff;
}

.cf-copy {
    background-color: #837E73;
    color: #fff;
    text-align: center;
    padding-bottom: 40px;
}

.cf-copy p {
    text-transform: uppercase;
    font-size: .75rem;
    margin: 0;
}

.cf-copy p span {
    display: inline-block;
    margin: 0 15px;
}

.cf-copy a {
    color: #fff;
}

/* Newsletter */
.cf-newsletter-form {
    display: flex;
    margin-top: 50px;
}

.cf-newsletter-form p {
    margin: 0;
}

input.cf-nl-email {
    border: none;
    border-bottom: 1px solid #fff;
    color: #ffffff97;
    background-color: #837E73;
    padding: 10px 0;
}

input.cf-nl-send {
    text-transform: uppercase;
    color: #fff;
    background-color: #837E73; 
    border: none;
    border-bottom: 1px solid #fff;    
    padding: 10px 0;    
}

.cf-nl-privacy + span.wpcf7-list-item-label {
    color: #fff !important; 
}

/* hide element on desktop */
.cf-mobile {
    display: none;
}

/* MOBILE */
@media only screen and (max-width: 1100px) {
    .site-header {
        padding-right: 25px;
    }

    img.logo-header {
        height: 65px;
        left: 25px;
        top: 40px;
    }

    nav#site-navigation {
        margin-right: 0;
    }

    nav#site-navigation ul li {
        letter-spacing: .2px;
        margin-right: 25px;
    }    

    .header-cta img {
        margin-bottom: 0;
    }    
}

@media only screen and (max-width: 767px) {
    .cf-mobile {
        display: block;
    }

    h1.cf-title,
    h2.cf-title,
    h3.cf-title {
        font-size: 2.75rem;
    }

    p.cf-text-big {
        font-size: 2.75rem;
    }    

    a.cf-btn-basic {
        padding: 10px 25px;
    }

    a.cf-btn-basic-white {   
        padding: 10px 25px;
    }    

    .hamburger {
        display: block;
        position: absolute;
        right: 50px;
        top: 62px;
        cursor: pointer;
        color: #fff;
        z-index: 99;
    }

    .hamburger span {
        display: none;
    }

    .hamburger .cf-is-visible {
        display: block;
    }

    img.logo-header {
        z-index: 10;
    }    

    nav#site-navigation {
        display: none;
        position: fixed;
        left: 0;
        top: 0;
        height: 100%;
        width: 100%;
        background-color: rgba(131, 126, 115, 0.9);
    }

    nav#site-navigation.is-open {
        display: block;
    }

    .menu-menu-1-it-container {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding-left: 25px;
        height: 100%;
    }

    nav#site-navigation ul li {
        font-weight: 100;
        text-align: left;
        text-transform: uppercase;
        font-size: 2rem;
    }   

    nav#site-navigation ul li:before {
        display: none;
    }    

    nav#site-navigation ul li {
        display: block;
        margin-right: 0;
    }    

    nav#site-navigation ul li a {
        font-weight: 300;
    }    

    .cf-menu-mobile-contacts {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 0;
        padding-left: 25px;
        padding-right: 25px;
        padding-bottom: 25px;
    }

    .cf-menu-mobile-contacts p {
        color: #fff;
        font-size: 1rem;
        font-weight: 300;
        margin: 0;
    }   
    
    .cf-menu-mobile-contacts p a {
        color: #fff;
    }     
    
    .pp-hero {
        position: relative;
        justify-content: flex-end;
    }    

    .pp-hero h1 {
        padding-bottom: 100px;
    }  

    .pp-hero-content h1 {
        font-size: 2.75rem;
    }

    .hp-hero-content h1 {
        font-size: 2.75rem;
    }    

    .cf-hero-sroll-down {
        display: flex;
        align-items: center;
        position: absolute;
        right: 30px;
        bottom: 30px;
        z-index: 99;
    }

    .cf-hero-sroll-down span {
        font-size: .9rem;
        line-height: 1.2;
        margin-right: 10px;
    }    

    .cf-hero-sroll-down img {
        height: 50px;
    }  
    
    .cf-wines-slide__excerpt {
        display: none;
    }    

    .cf-territory-grape {
        gap: 20px;
    }

    .cf-territory-grape img {
        width: 150px;
    }

    .cf-filtri {
        flex-wrap: wrap;
        justify-content: flex-start;
    }    

    .cf-filtro-container {
        align-items: flex-start;
        margin-bottom: 15px;
    }    

    .cf-filtri-container {
        gap: 10px;
        flex-wrap: wrap;
    }   
    
    .cf-filtri-divider {
        display: none;
    }    
    
    .cf-rooms-images {
        grid-template-columns: auto;
        gap: 15px;
    }    

}