 /*
 Theme Name: Geppa
 Description: Geppa
 Author: Geppa
 Author URI: https://www.geppa.it
 Template: twentytwenty
 Version: 1.0
 */

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------

	0.  CSS Reset
    1.  Header
        1.1  Pre Header
    2.  Main content
        2.1 Blog
        2.2 Single post
        2.3 Single wine
    3.  Footer
    4.  Wine list

----------------------------------------------------------------------------- */



/* -------------------------------------------------------------------------- */
/*	0.  CSS Reset
/* -------------------------------------------------------------------------- */

body h1,
body h2,
body h3,
body h4,
body h5,
body .entry-content h1,
body .entry-content h2,
body .entry-content h3,
body .entry-content h4,
body .entry-content h5 {
    font-family: 'Lustria';
    font-weight: normal;
    margin-left: 0;
    margin-right: 0;
}
body .entry-content h1,
body .entry-content h2,
body .entry-content h3,
body .entry-content h4,
body .entry-content h5 {
    margin-top: 0;
}
h1 {
    font-size: 3.6rem;
    line-height: 4.8rem;
}
h2 {
    font-size: 3.2rem;
    line-height: 4.8rem;
}
h3 {
    font-size: 2.6rem;
    line-height: 3.8rem;
}
h4 {
    font-size: 2.2rem;
    line-height: 3.4rem;
}
h5 {
    font-size: 2rem;
    line-height: 3.4rem;
}

p#breadcrumbs {
    font-family: 'Roboto';
    text-transform: uppercase;
    font-weight: 500;
    font-size: 1.2rem;
}
span.breadcrumb_last {
    font-weight: 400;
}

body a,
body a:active,
body a:focus,
body a:visited {
    text-decoration: none !important;
    color: var(--link-color);
    transition: 0.5s all ease;
}
body a:hover,
body .color-accent-hover:hover {
    color: var(--link-color-hover);
}

:root body {
    font-family: var(--body-font-family);
    display: grid;
    grid-template-columns: repeat( 12, 1fr );
    grid-template-rows: auto;
    grid-template-areas:
        "header header header header header header header header header header header header"
        "main main main main main main main main main main main main"
        "footer footer footer footer footer footer footer footer footer footer footer footer";
    font-size: 1.8rem;
    line-height: 3.1rem;
    letter-spacing: 1px;
    background: var(--background-color);
    color: var(--color);
}
body .entry-content {
    font-family: var(--body-font-family);
}

body .color-accent,
body .color-accent-hover:focus,
:root body .has-accent-color,
body .has-drop-cap:not(:focus):first-letter,
body .wp-block-button.is-style-outline {
    color: var(--link-color);
}
body button,
body button:focus {
    outline: 0 !important;
    text-decoration: none !important;
}
body .hidden {
    display: none !important;
    visibility: hidden !important;
}
body.template-full-width .entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide),
body.template-full-width [class*="__inner-container"] > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
    max-width: unset;
}
body .social-icons a,
body #site-footer button:not(.toggle),
body #site-footer .button,
body #site-footer .faux-button,
body #site-footer .wp-block-button__link,
body #site-footer .wp-block-file__button,
body #site-footer input[type="button"],
body #site-footer input[type="reset"],
body #site-footer input[type="submit"] {
	background-color: var(--link-color);
}
:root body:not(.overlay-header) .primary-menu > li > a,
:root body:not(.overlay-header) .primary-menu > li > .icon,
body .modal-menu a,
body .footer-menu a,
body .footer-widgets a,
body #site-footer .wp-block-button.is-style-outline,
body .wp-block-pullquote:before,
body .singular:not(.overlay-header) .entry-header a,
body .archive-header a,
body .header-footer-group .color-accent {
	color: var(--link-color);
}
body .header-footer-group .color-accent-hover:hover {
	color: var(--link-color-hover);
}

:root body .entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
	max-width: unset;
	width: calc(100% - 4rem);
}

a.btn-trasp,
a.btn-trasp:active,
a.btn-trasp:focus,
a.btn-trasp:visited {
    background-color: transparent;
    border: 1px solid var(--link-color);
    font-family: var(--title-font-family);
    font-style: normal;
    font-weight: normal;
    font-size: 1.4rem;
    line-height: 1.8rem;
    text-align: center;
    letter-spacing: 0.3rem;
    padding: 5px 15px !important;
    border-radius: 0px !important;
    display: inline-block;
    width: auto !important;
}
a.btn-trasp:hover {
    background-color: #670037;
    color: #ffffff;
}

.singular .entry-header {
    padding: 2em!important;
}

@media (max-width: 767px) {
    :root body.home .entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
        width: auto;
    }
}

/* -------------------------------------------------------------------------- */
/*	1.  Header
/* -------------------------------------------------------------------------- */
header#site-header {
	top: 0;
    left: 0;
    right: 0;
	z-index: 101;
    grid-area: header;
	background-color: var(--header-background-color);
	color: var(--header-font-color);
	padding: 0 1rem 1rem;
}
header#site-header.sticky {
    position: fixed;
}
header .header-inner {
    padding: 2rem 2rem 1rem!important;
    margin: 0 !important;
    max-width: unset !important;
    width: unset !important;
    align-items: center;
}
header .header-inner .site-logo img {
    height: auto !important;
    max-height: 130px;
}
header.sticky .header-inner .site-logo img {
    max-height: 50px;
}
:root body header .header-inner nav ul.primary-menu > li > a:active,
:root body header .header-inner nav ul.primary-menu > li > a:focus,
:root body header .header-inner nav ul.primary-menu > li > a:visited,
:root body header .header-inner nav ul.primary-menu > li > a:focus-within,
:root body header .header-inner nav ul.primary-menu > li > a {
    color: var(--header-font-color-link);
}
:root body header .header-inner nav ul.primary-menu > li > a:hover {
    color: var(--header-font-color-link-hover);
}
:root body header .header-inner .header-navigation-wrapper {
    width: 100%;
}
:root body header .header-inner .header-navigation-wrapper ul.primary-menu {
    justify-content: center;
    align-items: center;
}
:root body header .header-inner.position-center .header-navigation-wrapper ul.primary-menu li {
    margin: 0;
    padding: 0 15px;
}
.nav-toggle .toggle-icon, .nav-toggle svg {
    height: 70px;
    width: 70px;
}
.nav-toggle .toggle-inner {
   padding: 0;
}
header#site-header button.nav-toggle .toggle-icon i.fas.fa-bars {
    font-weight: 400;
    font-size: 3rem;
}
div.menu-modal.active {
    z-index: 101;
}

@media (min-width: 1000px) {
    :root body header .header-inner.position-center .header-titles-wrapper {
        display: none;
        visibility: hidden;
    }
}

@media (min-width: 700px) {
    .nav-toggle {
        right: 6rem;
    }
}

@media (max-width: 575px) {
    header#site-header {
        padding: 0 2rem 1rem;
    }
    header .header-inner .site-logo img {
        max-height: 80px;
    }
}

/* -------------------------------------------------------------------------- */
/*	1.1  Pre Header
/* -------------------------------------------------------------------------- */
header#site-header .pre-header-inner {
    font-size: 1.3rem;
    display: flex;
    align-items: center;
    padding: 0 2rem;
    justify-content: center;
}
header#site-header.sticky .pre-header-inner {
    display: none;
}
header#site-header .pre-header-inner .wpml-ls-legacy-list-horizontal {
    padding: 0;
    line-height: 0;
    border: 0;
    display: inline-block;
}
header#site-header .pre-header-inner .wpml-ls-legacy-list-horizontal li {
    padding: 0;
    transition: 0.5s all ease;
}
header#site-header .pre-header-inner .wpml-ls-legacy-list-horizontal li a {
    padding: 8px 12px;
}
header#site-header .pre-header-inner .wpml-ls-legacy-list-horizontal li:hover {
    background-color: var(--header-font-color-link);
}
header#site-header .pre-header-inner .wpml-ls-legacy-list-horizontal li:hover a {
    color: #ffffff;
}
header#site-header .pre-header-inner .wpml-ls-legacy-list-horizontal li.wpml-ls-current-language {
    background-color: var(--header-font-color-link);
    color: var(--header-font-color);
}
header#site-header .pre-header-inner .wpml-ls-legacy-list-horizontal li.wpml-ls-current-language {
    background-color: var(--header-font-color-link);
    color: #ffffff;
}
header#site-header .pre-header-inner .wpml-ls-legacy-list-horizontal li.wpml-ls-current-language a,
header#site-header .pre-header-inner .wpml-ls-legacy-list-horizontal li.wpml-ls-current-language a:active,
header#site-header .pre-header-inner .wpml-ls-legacy-list-horizontal li.wpml-ls-current-language a:focus,
header#site-header .pre-header-inner .wpml-ls-legacy-list-horizontal li.wpml-ls-current-language a:visited,
header#site-header .pre-header-inner .wpml-ls-legacy-list-horizontal li.wpml-ls-current-language a:hover {
    color: #ffffff;
}
header#site-header .pre-header-inner ul.pre-header-socials {
    display: inline-block;
    list-style: none;
    margin: 0;
    padding: 0 10px;
    line-height: 0;
}
header#site-header .pre-header-inner ul.pre-header-socials li {
    display: inline-block;
    padding: 0;
    margin: 0;
    font-size: 2.4rem;
    line-height: 0;
}
header#site-header .pre-header-inner ul.pre-header-socials li a {
    padding: 0 7px;
}

@media (min-width: 1000px) {
    header#site-header .pre-header-inner {
        padding-left: 70%;
    }
}


@media (max-width: 575px) {
    header#site-header .pre-header-inner {
        padding-bottom: 0;
    }
}

/* -------------------------------------------------------------------------- */
/*	2.  Main content
/* -------------------------------------------------------------------------- */
#site-content {
	overflow: hidden;
	grid-area: main;
}
/* -------------------------------------------------------------------------- */
/*	2.1 Blog
/* -------------------------------------------------------------------------- */
body.blog main#site-content {
    display: grid;
	grid-template-rows: auto;
    row-gap: 3em;
    align-items: start;
    padding: 3rem 0;
}
body.blog main#site-content.columns-4 {
    grid-template-columns: repeat(4, 25%);
}
body.blog main#site-content.columns-3 {
    grid-template-columns: repeat(3, 33.3%);
}
body.blog main#site-content.columns-2 {
    grid-template-columns: repeat(2, 50%);
}
body.blog main#site-content article {
    grid-column: auto;
    grid-row: auto;
    padding: 0 1.5rem;
}
body.blog main#site-content article .featured-media {
    margin: 0;
}
body.blog main#site-content article .featured-media .featured-media-inner {
    min-height: 250px;
    background-size: cover;
    background-position: center;
    width: 100%;
}
body.blog main#site-content article header.entry-header .entry-header-inner {
    margin: 1em 0;
    padding: 0;
    width: auto;
}
body.blog main#site-content article header.entry-header .entry-header-inner .entry-title {
    margin: 0;
    padding: 0;
    min-height: 80px;
}
body.blog main#site-content article header.entry-header .entry-header-inner .entry-title a,
body.blog main#site-content article header.entry-header .entry-header-inner .entry-title a:active,
body.blog main#site-content article header.entry-header .entry-header-inner .entry-title a:focus,
body.blog main#site-content article header.entry-header .entry-header-inner .entry-title a:visited {
    color: var(--link-color);
}
body.blog main#site-content article header.entry-header .entry-header-inner .entry-title a:hover {
    color: var(--link-color-hover);
}
body.blog main#site-content article .post-inner {
    padding: 0;
}
body.blog main#site-content article .post-inner p {
    padding: 0;
    width: auto;
}
body.blog main#site-content article .post-inner a.btn-trasp {
    margin-top: 2rem;
}
body.blog main#site-content div.ajax-load-more-wrap {
    grid-column: 1 / -1;
    grid-row: auto;
    padding: 0;
}
body.blog main#site-content div.ajax-load-more-wrap div.alm-reveal {
    display: grid;
	grid-template-rows: auto;
    row-gap: 3em;
    align-items: start;
}
body.blog main#site-content.columns-4 div.ajax-load-more-wrap div.alm-reveal {
    grid-template-columns: repeat(4, 25%);
}
body.blog main#site-content.columns-3 div.ajax-load-more-wrap div.alm-reveal {
    grid-template-columns: repeat(3, 33.3%);
}
body.blog main#site-content.columns-2 div.ajax-load-more-wrap div.alm-reveal {
    grid-template-columns: repeat(2, 50%);
}
.bottle-down {
    margin-bottom: 0 !important;
}
@media (max-width: 767px) {
    body.blog main#site-content.columns-4,
    body.blog main#site-content.columns-3,
    body.blog main#site-content.columns-2,
    body.blog main#site-content.columns-4 div.ajax-load-more-wrap div.alm-reveal,
    body.blog main#site-content.columns-3 div.ajax-load-more-wrap div.alm-reveal,
    body.blog main#site-content.columns-2 div.ajax-load-more-wrap div.alm-reveal {
        grid-template-columns: repeat(2, 50%);
    }
}
@media (max-width: 575px) {
    body.blog main#site-content.columns-4,
    body.blog main#site-content.columns-3,
    body.blog main#site-content.columns-2,
    body.blog main#site-content.columns-4 div.ajax-load-more-wrap div.alm-reveal,
    body.blog main#site-content.columns-3 div.ajax-load-more-wrap div.alm-reveal,
    body.blog main#site-content.columns-2 div.ajax-load-more-wrap div.alm-reveal {
        grid-template-columns: auto;
    }
}

/* -------------------------------------------------------------------------- */
/*	2.2 Single post
/* -------------------------------------------------------------------------- */
body.single-post article .post-inner {
    padding: 0;
    width: 90%;
    margin: 0 auto;
}


/* -------------------------------------------------------------------------- */
/*	2.3 Single wine
/* -------------------------------------------------------------------------- */
.wine-container {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-template-rows: 1fr;
    grid-gap: 100px;
}
.wine-image {
    grid-row: 1;
    grid-column: 1;
}
.description {
    grid-row: 1;
    grid-column: 2/4;
}
.wine-image img{
    max-height: 700px;
}
main#site-content {
    padding: 20px;
    margin: 0 0 3em 0;
}
.description {
    padding: 30px 55px 30px 60px;
    background: #eeeeee;
}
.description h1 {
    margin: 15px 0;
    color: #AE0917;
}
.description p {
    font-size: 18px;
    font-weight: 400;
    color: #000000;
    line-height: 22px;
}
hr.wine-separator {
    margin: 5rem 0;
    border-color: #000000;
}
.specs-row{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-gap: 50px;
    grid-template-rows: auto;
}
.wine-detail{
    text-align: center;
}
.buttons-row{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-template-rows: auto;
}
button.button-wine-specs {
    background: #AE0917;
}
.buy-wine {
    grid-row: 1;
    grid-column: 1/3;
}
.fa-shopping-cart{
    padding-right: 7px;
}
.info-wine{
    grid-row: 1;
    grid-column: 4;
}
.wine-detail img {
    max-height: 30px;
    margin-bottom: 10px;
}
p.testo-specs{
    font-family: 'Raleway';
    font-weight: 600;
    font-size: 12px;
    line-height: 14px;
    letter-spacing: 2px;
}
p.contenuto-specs {
    font-family: 'Lustria';
    font-size: 18px;
    font-weight: 400;
    line-height: 23px;
}
@media screen and (max-width:1024px){
    .specs-row, .buttons-row{
        grid-template-columns: repeat(1,1fr);
        grid-template-rows: 2fr;
        grid-gap: 0px;
        text-align: center;
    }
    .buy-wine{
        grid-row: 1;
        grid-column: 1;
    }
    .info-wine{
        padding-top: 20px;
        grid-row: 2;
        grid-column: 1;
    }
}
@media screen and (max-width:768px){
    .buttons-row{
        grid-template-columns: repeat(1,1fr);
        grid-template-rows: 2fr;
    }
    .wine-container {
        grid-template-columns: repeat(1,1fr);
        grid-template-rows: 2fr;
        text-align: center;
        column-gap: 0;
    }
    .wine-image img {
        margin: 0 auto;
    }
    .wine-image {
        grid-row: 1;
        grid-column: 1;
    }
    .description {
        grid-row: 2;
        grid-column: 1;
    }
}
/* -------------------------------------------------------------------------- */
/*	3.  Footer
/* -------------------------------------------------------------------------- */
footer#site-footer {
    grid-area: footer;
    border: 0 !important;
    margin: 0 !important;
    padding: 6rem 0 !important;
	font-size: 1.3rem;
	background-color: var(--footer-background-color);
	color: var(--footer-font-color);
}
footer#site-footer > .section-inner {
    display: grid;
	grid-template-rows: auto;
    column-gap: 1em;
    align-items: start;
}
footer#site-footer > .section-inner.columns-5 {
	grid-template-columns: repeat(5, 20%);
}
footer#site-footer > .section-inner.columns-4 {
	grid-template-columns: repeat(4, 25%);
}
footer#site-footer > .section-inner.columns-3 {
	grid-template-columns: repeat(3, 33.3%);
}
footer#site-footer > .section-inner.columns-2 {
	grid-template-columns: repeat(2, 50%);
}
footer#site-footer > .section-inner .column {
	grid-column: auto;
	grid-row: auto;
}
footer#site-footer > .section-inner .column .footer-column-title {
	margin-bottom: 1.5rem;
    display: block;
}
footer#site-footer a,
footer#site-footer a:active,
footer#site-footer a:focus,
footer#site-footer a:visited {
	color: var(--footer-font-color-link);
}
footer#site-footer a:hover {
	color: var(--footer-font-color-link-hover);
}
@media (min-width: 768px) {
footer .column ul {
    margin-left: 0;
}
footer#site-footer .column {
    padding: 0 10px;
}
}
@media (max-width: 767px) {
    footer#site-footer {
        padding: 3rem 0 0 !important;
    }
    footer#site-footer > .section-inner.columns-5 {
        grid-template-columns: repeat(2, 50%);
    }
    footer#site-footer > .section-inner .column {
        margin-bottom: 3rem;
    }
    footer ul {
        margin-left: 0;
    }
}
@media (max-width: 575px) {
    footer#site-footer > .section-inner.columns-5,
    footer#site-footer > .section-inner.columns-4,
    footer#site-footer > .section-inner.columns-3,
    footer#site-footer > .section-inner.columns-2 {
        grid-template-rows: auto;
        grid-template-columns: auto;
    }
    footer#site-footer > .section-inner.columns-5{
        margin-left:40px;
    }   
}
.grecaptcha-badge{
	display: none !important;
	visibility: hidden !important;
}
.google-recaptcha-v3 p a,
.google-recaptcha-v3 p {
       font-size: 10px !important;
       color: #999 !important;
}

/*
*   4.0 Wines list container
*/
.wines-list-filter {
    text-align: center;
}
body .wines-list-filter a,
body .wines-list-filter a:active,
body .wines-list-filter a:focus,
body .wines-list-filter a:visited {
    display: inline;
    padding: 0 1rem;
    color: #11131C;
    font-family: var(--title-font-family);
    font-weight: 900;
    font-size: 1.8rem;
}
body .wines-list-filter a.active,
body .wines-list-filter a:hover {
    color: var(--link-color);
}

.wines-list-container {
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: auto;
    gap: 2rem;
    padding: 0 2rem;
}
.wines-list-container.columns-4 {
    grid-template-columns: repeat( 4, 1fr );
}
.wines-list-container.columns-3 {
    grid-template-columns: repeat( 3, 1fr );
}
.wines-list-container.columns-2 {
    grid-template-columns: repeat( 2, 1fr );
}
@media screen and (max-width:768px){
    .wines-list-container.columns-3 {
        grid-template-columns: auto;
    }
}
.wines-list-container .wines-list-container-single {
    grid-column: auto;
    grid-row: auto;
    background-color: #ffffff;
    color: var(--color);
    display: grid;
    grid-template-columns: 1fr 6fr 1fr;
    gap: 0;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    position: relative;
    max-height: 550px;
    margin-bottom: 15px;
}
.wines-list-container .wines-list-container-single.swiper-slide {
    max-width: 30rem;
}
.wines-list-container .wines-list-container-single .wines-list-container-single-img {
    grid-row: 1 / -1;
    grid-column: 1 / -1;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 50rem;
}
.wines-list-container .wines-list-container-single h5, .single-wine-list {
    grid-column: 1/4;
    margin: 0;
    background: #F3EEEC;
    color: #26293B;
    text-transform: uppercase;
    align-self: end;
    padding: 1.5rem 2.5rem;
    text-align: center;
}
.wines-list-container-single-img {
    z-index: 2;
}
.single-wine-list {
    padding-top: 50px;
    position: relative;
    bottom: 62px;
}
.single-wine-list h3 {
    font-family: 'Lustria' !important;
    color: #ae0917 !important;
    text-transform: capitalize !important;
    line-height: 2.3rem !important;
    font-size: 1.8rem !important;
    margin-bottom: 0;
}
.wines-list-container .wines-list-container-single .wines-list-container-single-categories {
    display: block;
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
}
.wines-list-container .wines-list-container-single .wines-list-container-single-button {
    grid-row: 2;
    grid-column: 3;
    text-transform: uppercase;
    margin: 0;
    padding: 1rem !important;
    font-weight: 700;
    min-width: 6rem;
    align-self: stretch;
}
.wines-list-filter a {
    font-weight: 700 !important;
    font-family: 'Raleway' !important;
    text-transform: uppercase;
    font-size: 1.4rem !important;
    letter-spacing: 0.30rem;
}
.wines-list-filter {
    margin-bottom: 40px !important;
}
.nostri-vini-text{
    padding: 40px;
    font-family: 'Lustria';
    font-weight: 400 !important;
    font-size: 2.4rem;
    line-height: 3.1rem;
    color: #ae0917;
}
.nostri-vini-titolo{
    color: white;
    font-family: 'Lustria';
    font-weight: 400 !important;
    font-size: 6.4rem;
    line-height: 8.2rem;

}

/**** CSS ANIMATIONS ****/
.hvr-float {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
  }
  .hvr-float:hover, .hvr-float:focus, .hvr-float:active {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }
  

.page-id-108 a{color:#c29436!important;}

