/* variables */

::selection {
	color: var(--color-white);
	background: #2041A0;
}
::placeholder {
	color: #5876CC;
}

.mobile-only {
	display:none;
}


/* forms */
fieldset {
    margin: 15px 0;
}
input, select, textarea {
	background:var(--color-white);
	border:1px solid #2041A0;
	padding:10px;
}
input[type=checkbox] {
	appearance: none;
	width:1.2em;
	height:1.2em;
	padding:0;
	text-align:center;
	position:relative;
	cursor:pointer;
	margin:0 5px;
	vertical-align:middle;
}
input[type=checkbox]:checked:before {
	font-family:Fontello;
	content: '\e823'; /* icon-done ✓ */
	position:absolute;
	top:0;
	left:0;
	font-size:1.2em;
	line-height:.8;
}
input[type=radio] {
	appearance: none;
	width:1.2em;
	height:1.2em;
	padding:0;
	border-radius:100px;
	text-align:center;
	position:relative;
	cursor:pointer;
	margin:0 5px;
	vertical-align:middle;
}
input[type=radio]:checked:before {
	font-family:Fontello;
	content: '\e823'; /* icon-done ✓ */
	position:absolute;
	top:0;
	left:0;
	font-size:1.2em;
	line-height:.8;
}
input[type=submit],
input[type=button],
button,
.button,
body.woocommerce a.button,
.wp-block-button__link {
	font-size:1em;
	font-family: 'Raleway';
	font-weight:bold;
	background:#10917D !important;
	color:var(--color-white) !important;
	border: 1.5px solid #10917D !important;
	border-radius:var(--border-radius);
	border:0;
	display:inline-block;
	padding:.8em 2em;
	width:auto;
	cursor:pointer;
	text-decoration:none !important;
	box-shadow:var(--box-shadow);
}
input[type=submit]:hover,
input[type=button]:hover,
button:hover,
.button:hover,
body.woocommerce a.button:hover,
.wp-block-button__link:hover {
	background:#2CB98F !important;
	color:var(--color-white) !important;
	border: 1.5px solid #2CB98F !important;
}
input[type=submit] .icon,
input[type=button] .icon,
button .icon,
.button .icon,
.wp-block-button__link .icon {
	transform:translateX(0);
	transition:transform .3s ease-in-out;
}
input[type=submit]:hover .icon,
input[type=button]:hover .icon,
button:hover .icon,
.button:hover .icon,
.wp-block-button__link:hover .icon {
	transform:translateX(5px);
}
input[type=submit].outline,
input[type=button].outline,
button.outline,
.button.outline,
body.woocommerce a.button.outline,
.wp-block-button.is-style-outline:not(.has-background) .wp-block-button__link {
    background-color: transparent !important;
    color: #10917D !important;
	border: 1.5px solid;
}
input[type=submit].outline:hover,
input[type=button].outline:hover,
button.outline:hover,
.button.outline:hover,
body.woocommerce a.button.outline:hover,
.wp-block-button.is-style-outline:not(.has-background) .wp-block-button__link:hover {
    background-color: transparent !important;
    color: #2CB98F !important;
}



/* main layout */

.main-container {
	min-height:100%;
	padding:0;
	position:relative;
}
.main-container::after {
	right:0;
	left:auto;
	background-position:right center;
}

footer a {
    color: var(--color-white) !important;
}



/* navbar */
.navbar-container .toggle-nav {
	display:none;
}
.main-container > header {
	position:relative;
	z-index:100;
	padding:0 50px;
	max-width: 1500px;
	margin: 0 auto;
}
.navbar-container .sitename-container {
	width: 250px;
	display: block;
	margin:0 auto;
	height:0;
	position:relative;
	z-index:100;
}
.navbar-container .sitename-container a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	display:block;
	box-shadow: var(--box-shadow);
	background:var(--color-white);
	padding: 30px 20px;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

nav ul {
	list-style:none;
	padding:0;
	margin:0;
}
nav ul li {
	padding:0;
	margin:0;
}
nav.main-menu-container {
	padding:30px 0;
	display:flex;
	font-size: 1.2rem;
}
nav.main-menu-container .menu-menu-sinistra-container {
	min-width: 50%;
	padding-right: 170px;
}
nav.main-menu-container .menu-menu-destra-container {
	flex-grow:2;
	padding-left: 170px;
}
nav.main-menu-container .menu-menu-secondario-container {
	padding-left: 30px;
}
nav.main-menu-container .menu-menu-sinistra-container ul,
nav.main-menu-container .menu-menu-destra-container ul {
	border-bottom: var(--border) var(--color-light-grey);
}

nav.main-menu-container .main-menu,
nav.main-menu-container .secondary-menu {
    display: flex;
    justify-content: space-between;
}
nav.main-menu-container li {
	padding:10px 0;
	position:relative;
	display:inline-block;
}
nav.main-menu-container li.menu-item-has-children:after {
	content: '\f105';
	font-family:Fontello;
	position:absolute;
	top:15px;
	right:0;
	left:60px !important;
	color:#000000;
	pointer-events:none;
	transition:right .3s ease-in-out, transform .3s ease-in-out;
}

nav.main-menu-container ul.sub-menu {
	overflow: hidden;
	height: 0;
	transition: height .3s ease-in-out;
	position: absolute;
	top: 100%;
	right: 0;
	left: 0px;
	background: var(--color-white);
	font-size: 1.2rem;
	min-width:200px !important;
	box-shadow: var(--box-shadow);
	padding: 0;
}

nav.main-menu-container li.menu-item-has-children:hover::after {
	color:#5876CC;
	right:-.5em;
}
nav.main-menu-container li.menu-item-has-children.open::after {
	transform:rotate(90deg);
}
nav.main-menu-container a {
	color:var(--color-black);
	text-decoration:none;
	display:block;
	padding:5px 0;
}
nav.main-menu-container .current-menu-item a {
	color:#2041A0;
}
nav.main-menu-container a:hover {
	color:#5876CC;
}

nav.main-menu-container ul.sub-menu li {
	display: block;
	padding: 0px 20px;
}
nav.main-menu-container ul.sub-menu li:first-child {
	padding-top:20px;
}
nav.main-menu-container ul.sub-menu li:last-child {
	padding-bottom:20px;
}

nav.main-menu-container li.cart,
nav.main-menu-container li.vegburger {
    font-size: 1.6em;
    width: 2em;
    white-space: nowrap;
    height: 2em;
	padding: 0 0 0 .45em;
	border: 1px solid var(--color-light-grey);
	border-radius: var(--border-radius);
	margin-left: .5em;
	text-align: center;
}
nav.main-menu-container li.cart > a,
nav.main-menu-container li.vegburger > a {
	width:1em;
	overflow:hidden;
}
.navbar-container .cart > a::before,
nav.main-menu-container li.cart > a::before {
    content: '\e85c'; /* basket */
    font-family: fontello;
	margin-right:1em;
}
.secondary-menu .cart .counter {
    position: absolute;
    top: -3px;
    right: -3px;
    font-size: 1rem;
    background: #2041A0;
    color: var(--color-white);
    padding: 0 .5em;
    border-radius: var(--border-radius);
}

nav.main-menu-container li.vegburger > a::before {
    content: '\f008'; /* menu */
    font-family: fontello;
	margin-right:1em;
}
nav.main-menu-container li.vegburger::after {
	display:none;
}


.sidebar-footer {
	padding:0 30px 30px;
	text-align:center;
	color:#2041A0;
	font-size:.7em;
	line-height:1.2;
}



/* social */

.social-menu li.facebook a:before {
	content:'\f30e';
	font-family:Fontello;
	display:inline-block;
	margin-right:.3em;
}
.social-menu li.twitter a:before {
	content:'\f309';
	font-family:Fontello;
	display:inline-block;
	margin-right:.3em;
}
.social-menu li.instagram a:before {
	content:'\e822';
	font-family:Fontello;
	display:inline-block;
	margin-right:.3em;
}
.social-menu li.youtube a:before {
	content:'\f16a';
	font-family:Fontello;
	display:inline-block;
	margin-right:.3em;
}
.social-menu li.linkedin a:before {
	content:'\f318';
	font-family:Fontello;
	display:inline-block;
	margin-right:.3em;
}
.social-menu li.spreaker a:before {
	content:'\e82b';
	font-family:Fontello;
	display:inline-block;
	margin-right:.3em;
}


/* home */

.home .page-content.nopadding {
	padding-top:0;
}

.home .page-header .main {
    display: flex;
    align-items: center;
	position:relative;
	padding: 0 0 50px 0;
}
.home .page-header .main::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50vw);
    height: 10%;
    background: linear-gradient(var(--color-white), var(--color-light-grey));
    z-index: -1;
}
.home .page-title {
	width: 50%;
}
.home .page-title h2 {
	margin:0;
}
.home .page-cover {
	flex-grow: 2;
}
.bodymovin {
	width:100%;
	height:100%;
}

.home .wp-block-cover {
	z-index: -2;
	margin-bottom: -150px;
	min-height:300px;
}

.main-news {
	background: #FDCD09;
    padding: 20px;
	display:flex;
	align-items:center;
	margin-top: 4rem;
	font-size: 1.2rem;
}
.main-news h2 {
	margin:0;
	font-weight:bold;
	font-size:1.3rem;
}
.main-news .cta {
	white-space: nowrap;
    transform: translateX(3rem);
}

.home .slider .slide {
	padding:0;
	font-size: 1.2rem;
}
.home .slider .slide a {
	color:#2041A0;
	text-decoration:none;
	border-top:5px solid #5876CC;
	display:block;
	padding: 15px 2px;
}
.home .slider .slide a:hover h2,
.home .slider .slide a:hover {
	color:#2CB98F;
}
.home .slider .slide h2 {
	margin:0;
	font-weight:bold;
	font-size:1.3rem;
}

.home .post-archive .post-preview {
	margin-bottom:0;
}

.home .wp-block-columns.abbonamento {
	margin:4rem auto;
	width:calc(100% - 300px);
	position:relative;
}
.home .wp-block-columns.abbonamento .membership-status {
	margin:0;
	font-size:1em;
}
.home .wp-block-columns.abbonamento .membership-status .cta-subscribe {
	padding:0;
}
.home .wp-block-columns.abbonamento::before, .home .wp-block-columns.abbonamento::after {
    content: '';
    position: absolute;
    top: -3rem;
    left: -150px;
    width: calc(100% + 300px);
    border-top: 2px solid #10917D;
}
.home .wp-block-columns.abbonamento::after {
	top: auto;
    bottom: -4rem;
}
.home .wp-block-columns.abbonamento > .wp-block-column:first-of-type {
    border-right: 2px solid #E2B500;
    padding-right: 2rem;
}

#aziende {
	padding: 55px;
	box-shadow: 700px 0 #FDCD09, -700px 0 #FDCD09;
}
#aziende:last-child {
	margin-bottom:-55px;
}
#aziende .wp-block-group {
    padding: 40px;
}
#aziende h3 {
	font-size:1.3rem;
	margin:2em 0 0;
}


/* generic page */

.page-container {
	border-right:1px solid #ffffff;
	min-height:100vh;
	position:relative;
	max-width: 1500px;
	padding: 0 50px;
	margin: 0 auto;
}
.padding {
	padding:50px;
}
.padding-top {
	padding-top:50px;
}

.page-container a {
	color:#10917D;
	text-decoration:underline;
}
.page-container a:hover {
	color:#2CB98F;
}

.page-thumbnail {
	width:100%;
	height:200px;
	overflow:hidden;
	position:relative;
	z-index:5;
}
.page-thumbnail figure:before {
	content:'';
	position:absolute;
	left:0;
	width:100%;
	height:80%;
	background: linear-gradient(180deg, #2041A0 0%, #2041A0 100%);
	z-index:10;
}
.page-thumbnail figure img {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

.page-title {
    padding: 55px;
	background:transparent;
	color:#2041A0;
}
.page-title h1 {
	/*margin:0 0 .5em auto;*/
	font-weight:bold;
	line-height: 1.2;
	/*max-width: 600px;*/
}
.page-title h2 {
    margin-top: -1em;
}
.page-content {
	padding: 55px;
	font-size: 1.2em;
	line-height: 1.6;
}
.page-content.nopadding {
	padding: 55px 0;
}
.page-content h1 {
	font-size:4rem;
}

.suggested {
	background:var(--color-xlight-grey);
	margin-top:60px;
	box-shadow:-600px 0 0 0 var(--color-xlight-grey), 600px 0 0 0 var(--color-xlight-grey);
	padding:50px 0;
}
.suggested h2 {
    text-align: center;
    border-bottom: 1px solid var(--color-grey);
    padding-bottom: 20px;
}

/* authors */

.page-authors {
    padding: 55px;
    border-top: 1px solid var(--color-light-grey);
}
.page-authors .author {
	display: flex;
	margin-bottom:4rem;
}
.page-authors .author:last-child {
	margin-bottom:0;
}
.page-authors .author .thumbnail {
	min-width: 30%;
	padding-bottom: 30%;
	position: relative;
	margin-right: 40px;
	height: 0;
}
.page-authors .author .thumbnail img {
	border-radius: 1000px;
	border: 6px solid var(--color-light-grey);
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.author-preview {
    padding: 20px;
}
.author-preview h3 {
	text-align:center;
	margin:.5em 0;
}
.author-preview .avatar {
    text-align: center;
	min-height:4rem;
}
.author-preview .avatar img {
	width: 4rem;
    height: 4rem;
    object-fit: cover;
    border-radius: 50%;
	border:3px solid var(--color-light-grey);
}
.author-preview .author-permalink {
	text-align:center;
}


/* comments and reviews */
.page-comments {
    padding: 55px;
    border-top: 1px solid var(--color-light-grey);
}
.comment_container {
    padding: 20px;
	border-top: 1px solid var(--color-light-grey);
	margin-top: 20px;
}
.comment-text::before {
    content: '“';
    font-family: 'Raleway';
    font-size: 7rem;
    color: #5876CC;
    line-height: 0rem;
    display: block;
	margin-bottom: -1rem;
	margin-top: .6rem;
}
.comment-author {
	font-weight: bold;
    text-align: right;
}
.comment-author::before {
	content: '– ';
}


/* blog posts */

.blog .page-title,
.category .page-title {
    padding: 0;
    text-align: center;
    margin-top: -3em;
}

.category-list {
	text-align:center;
}
.category-list ul {
	list-style: none;
    padding: 0 1em;
    display: inline-block;
	border-radius:5em;
	background: var(--color-xlight-grey);
}
.category-list li {
	display:inline-block;
	padding:.5em 1.2em;
}
.category-list li a {
	text-decoration:none;
}

.category-list .search label {
	cursor:pointer;
	white-space:nowrap;
	color:#10917D;
}
.category-list .search input {
	padding:0;
	border:0;
	border-bottom:1px solid var(--color-dark-grey);
	background:transparent;
	width:0;
	transition:width .3s ease-in-out;
}
.category-list .search input:focus {
	width:10em;
}
.category-list .search input[type="submit"] {
    display: none;
}


.post-archive .post-preview {
	margin-bottom:55px;
}
.post-preview {
    width: 100%;
	display: grid;
	grid-template-columns: repeat(2, 50%);
	grid-template-rows: 3.5fr 1fr;
}
.post-preview figure {
	width:100%;
	height:0;
	position:relative;
	padding-bottom:100%;
}
.post-preview figure img {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
	border-radius:var(--border-radius);
}
.post-preview a {
	display:block;
	text-decoration:none;
}
.post-preview > a {
	grid-row: 1 / 3;
}
.post-preview h3 {
	padding: 25px;
	margin-top:0;
	margin-bottom:0;
	hyphens:none;
	font-size: 1.3em;
}
.post-preview .date {
	grid-column: 2;
	padding: 10px 25px;
	border-top: var(--mid-border) var(--color-light-grey);
}

.pagination {
	margin: 3em 0;
    text-align: center;
}
.pagination ul {
	padding:0;
	list-style:none;
	display:inline-block;
	background:var(--color-xlight-grey);
	padding:0 1em;
	border-radius:5em;
}
.pagination ul li {
	display:inline-block;
	padding: .5em 1.2em;
}
.pagination ul li a {
	text-decoration:none;
}

.post-thumbnail {
	margin-top: 30px;
	left: 50%;
	transform: translateX(-50vw);
	width: 100vw;
	position:relative;
	height: 150px;
}
figure.stripe {
    position: relative;
    top: -125px;
    left: 0;
    height: 200px;
    width: 100vw;
    overflow: hidden;
    margin-top: 100px;
    box-shadow: inset 0 10px 20px -10px var(--color-black);
    z-index: 1;
    background: #2041A0;
    max-width: 100vw;
    left: 50%;
    transform: translateX(-50%);
}
.post-thumbnail figure.stripe {
	position: absolute;
	top: -155px;
	width:100%;
	margin-top: 100px;
}
figure.stripe.second {
	left:50%;
	top:150px;
	display:none;
}
figure.stripe img {
	width: 120%;
	height: 120%;
	object-fit: cover;
	filter: blur(.5em) brightness(80%) saturate(0);
	mix-blend-mode: screen;
	top: -10%;
	position: relative;
	left: -10%;
	max-width: 120%;
}
figure.main {
	position: relative;
	z-index: 2;
	max-width: 500px;
	border-radius:var(--border-radius);
	overflow: hidden;
	margin-top:-60px;
	margin-bottom:-60px;
}
.post-header {
	box-shadow:var(--box-shadow);
	width:100vw;
	position:relative;
	left:50%;
	transform: translateX(-50vw);
}
.post-header .wp-block-columns {
	max-width:1400px;
	margin:0 auto;
}
.post-header .post-title {
	color: #2041A0;
    position: relative;
	font-size: 1.3em;
	padding:55px;
}
.post-header .post-title h1 {
	margin:.3em 0;
	hyphens:none;
}

.the-author a {
	text-decoration:none;
}
.the-author img {
    width: 2em;
    height: 2em;
    border-radius: 50%;
    border: 3px solid var(--color-light-grey);
}

.sticky .social-share {
	padding-top:60px;
	text-align:center;
}
.sticky .social-share button {
	width:100%;
}

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

/* footer */

footer {
	position:relative;
	left:0px;
	width:100%;
	padding:50px 120px;
	/*background:#2041A0;*/
    background:#3B3B3B !important;
	color:var(--color-white);
	font-size:.9em;
}
footer a {
	color:var(--color-white);
	text-decoration:none;
}
footer > div {
	display: flex;
	gap: 20px;
	max-width: 1400px;
	margin: 0 auto;
	justify-content: center;
}
footer > div .menu-container ul.footer-menu {
	display:flex;
	margin:0 auto;
	text-align:left;
	justify-content: center;
	gap:40px;
}
footer > div .menu-container ul.footer-menu > li > a {
	font-weight:bold;
}
footer > div .social-container {
	margin-left:80px;
}
footer .credits {
	display:block;
	width:100%;
	text-align:center;
	font-size:.8em;
	margin-top:20px;
}

.wt-cli-manage-consent-link {
  margin-top: 1em;
  display: block;
  text-align: left;
  max-width: 152px;
  float: right;
	line-height: 1.2;
	cursor: pointer;
}

.sticky .social-share button{
    font-weight: 700;
    color: #FFFFFF !important;
    background-color: #10917D !important;
    box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.5);
    border-radius: 5px 5px 5px 5px;
    padding: 15px 20px 15px 20px;
}

.sticky .social-share button:hover {
    font-weight: 700;
    color: #FFFFFF !important;
    background-color: #2CB98F !important;
    box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.5);
    border-radius: 5px 5px 5px 5px;
    padding: 15px 20px 15px 20px;
}
