/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/
.header {
	top: 0;
	z-index: 5;
    width: 100%;
	display: flex;
    position: fixed;
	transition: 0.2s linear;
}
.gridHeader{
	margin: auto;
    display: flex;
    align-items: center;
}
ul.listMenu {
    display: flex;
	list-style: none;
	margin-bottom: 0;
	margin-left: auto;
	align-items: center;
    flex-direction: row;
}
li.itemMenu a, li.itemMenu a:hover, li.itemMenu a:focus, a.itemMenu, a.itemMenu:hover, a.itemMenu:focus{
	color: #424242;
}
li.itemMenu a, button.btnMenu, a.itemMenu {
    font-family: 'Dosis', sans-serif;
}
li.itemMenu a, a.itemMenu{
	font-weight: 600;
}
li.itemMenu a, a.itemMenu, .closeMenuBtn {
	cursor: pointer;
	text-decoration: none;
}
button.btnMenu {
	padding: 0;
    border: none;
	display: flex;
    line-height: 1;
    cursor: pointer;
	font-weight: 800;
	position: relative;
	align-items: center;
	justify-content: center;
}
button.btnMenu, button.btnMenu:focus{
	color: white;
}
button.btnMenu::after{
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
}
button.btnMenu:hover::after{
	background: linear-gradient(90deg, #98C770 0%, #F3E213 100%);
	-webkit-mask: linear-gradient(white, white) content-box, linear-gradient(white, white);
    -webkit-mask-composite: destination-out;
    mask-composite: exclude;
}
button.btnMenu, button.btnMenu:focus, button.btnMenu:hover span{
	background: linear-gradient(90deg, #98C770 0%, #F3E213 100%);
}
button.btnMenu:hover, button.btnMenu::after{
	background: transparent;
}
button.btnMenu:hover span{
	-webkit-text-fill-color: transparent;
	-webkit-background-clip: text !important;
}
/* MENU MOBILE */
.menuIcon {
	color: #98C770;
	line-height: 0;
	cursor: pointer;
	font-weight: 500;
}
.sidenav {
	top: 0;
    right: 0;
	z-index: 1;
    height: 100%;
    position: fixed;
	overflow-x: hidden;
	background-color: white;
	background-size: contain;
    transform: translateX(100%);
	background-position: bottom;
	background-repeat: no-repeat;
    transition: transform 0.5s ease;
}
a.itemMenu {
    display: block;
    transition: 0.3s;
}
a.itemMenu {
    position: relative;
}
a.itemMenu:hover, a.itemMenu:focus{
	color: #424242;
}
.closeMenuBtn, .closeMenuBtn:hover, .closeMenuBtn:focus{
	color: #98C770;
}
a.itemMenu:not(:nth-child(4))::after {
	left: 0;
	content: '';
    position: absolute;
    background: linear-gradient(90deg, #98C770 0%, #F3E213 100%);
}
.closeMenuBtn {
	line-height: 1;
    position: absolute;
	text-decoration: none;
}
.closeMenuBtn span {
    font-weight: 600;
}
div#overlay {
	top: 0;
    left: 0;
    right: 0;
    bottom: 0;
	z-index: 1;
	width: 100%;
    height: 100%;
	display: none;
    position: fixed;
    background: rgba(0, 0, 0, 0.7);
}
@media (max-width: 550px) {
	.entry-content{
        margin-top: 17vw !important;
    }
    .header {
        height: 17vw;
    }
    img.logoHeader {
        max-width: 35vw;
    }
	.menuIcon {
    	font-size: 8vw;
	}
	.sidenav#mySidenav {
		padding: 15vw 10vw 10vw;
	}
    a.itemMenu {
        font-size: 4.5vw;
		margin-bottom: 8vw;
    }
	a.itemMenu:not(:nth-child(4))::after {
        width: 18vw;
		height: 2px;
		bottom: -4vw;
    }
    button.btnMenu {
		width: 80vw;
        height: 13vw;
		font-size: 5vw;
    }
	button.btnMenu::after {
    	padding: 2px;
	}
	.closeMenuBtn {
		top: 4.5vw;
		right: 5vw;
    }
	.closeMenuBtn span {
        font-size: 6vw;
    }
}
@media (min-width: 551px){
	a.itemMenu:not(:nth-child(4))::after {
		height: 3px;
	}
}
@media (min-width: 551px) and (max-width: 766.9px) {
	.entry-content{
        margin-top: 15vw !important;
    }
    .header {
        height: 15vw;
    }
    .menuIcon {
        font-size: 7vw;
    }
    img.logoHeader {
        max-width: 30vw;
    }
	.sidenav#mySidenav {
		padding: 10vw;
    }
    a.itemMenu {
        font-size: 2.6vw;
		margin-bottom: 7vw;
    }
	a.itemMenu:not(:nth-child(4))::after {
        width: 15vw;
		bottom: -3.5vw;
    }
    button.btnMenu {
		width: 50vw;
        height: 10.5vw;
		font-size: 3.3vw;
    }
	button.btnMenu::after {
    	padding: 2px;
	}
	.closeMenuBtn {
		top: 3vw;
		right: 5vw;
    }
	.closeMenuBtn span {
        font-size: 4.5vw;
    }
}
@media (max-width: 766.9px) {
    .sidenav {
        width: 100%;
    }
}
@media (min-width: 767px) and (max-width: 899.9px) {
    .entry-content{
        margin-top: 11vw !important;
    }
	.header{
		height: 11vw;
	}
    img.logoHeader {
        max-width: 25vw;
    }
    .menuIcon {
        font-size: 5.5vw;
    }
    .sidenav#mySidenav {
        width: 60vw;
		padding: 8vw 6vw;
    }
    a.itemMenu{
        font-size: 1.89vw;
		margin-bottom: 5vw;
    }
    a.itemMenu:not(:nth-child(4))::after {
        width: 10vw;
        bottom: -2.5vw;
    }
    button.btnMenu {
		width: 38vw;
        height: 7.5vw;
		font-size: 2.34vw;
    }
	button.btnMenu::after {
    	padding: 2px;
	}
	.closeMenuBtn {
        top: 2.5vw;
		right: 3vw;
    }
	.closeMenuBtn span {
        font-size: 3.3vw;
    }
}
@media (max-width: 899.9px){
	.gridHeader {
        max-width: 84vw;
    }
}
@media (min-width: 900px) and (max-width: 1099.9px) {
    .hero{
        margin-top: 9vw;
    }
	.header{
		height: 9vw;
	}
    .gridHeader {
        max-width: 86vw;
    }
    img.logoHeader {
        max-width: 18vw;
    }
    .menuIcon {
        font-size: 4.5vw;
    }
    .sidenav {
        width: 50vw;
		padding: 7vw 6vw 6vw;
    }
    a.itemMenu {
		font-size: 1.61vw;
        margin-bottom: 4vw;
    }
    a.itemMenu:not(:nth-child(4))::after {
		width: 10vw;
        bottom: -2vw;
    }
    button.btnMenu {
        height: 6vw;
        width: 27vw;
		font-size: 2vw;
    }
	button.btnMenu::after {
    	padding: 2px;
	}
    .closeMenuBtn {
        top: 2vw;
		right: 3vw;
    }
	.closeMenuBtn span {
        font-size: 3vw;
    }
}
@media (max-width: 1099.9px) {
    #headerDesk {
        display: none;
    }
	.header{
		background-color: white;
		box-shadow: 0px 3px 20px #00000040;
	}
    .gridHeader {
		width: 100%;
        height: 100%;
        justify-content: space-between;
    }
    img.logoHeader {
        height: 100%;
        object-fit: contain;
    }
	.sidenav{
		background-image: url(/wp-content/uploads/2025/05/bg-menu-900.webp);
	}
}
@media (min-width: 1100px) {
	.entry-content{
        margin-top: 0 !important;
    }
    #headerMobile {
        display: none;
    }
	.header:not(.scrolled){
		background: #FFFFFF66;
	}
	.header.scrolled{
		background: white;
		box-shadow: 0px 3px 20px #00000040;
	}
	img.logoHeader {
    	width: 100%;
    	height: auto;
	}
	ul.listMenu {
        grid-gap: 3vw;
		margin-right: 3vw;
    }
}
@media (min-width: 1100px) and (max-width: 1400px) {
    .header {
        height: 8vw;
    }
    .gridHeader {
		width: 84vw;
    }
    img.logoHeader {
        max-width: 17vw;
    }
    li.itemMenu {
        font-size: 1.1vw;
    }
    button.btnMenu {
        width: 17vw;
        height: 4.2vw;
		font-size: 1.32vw;
    }
	button.btnMenu::after {
    	padding: 2px;
	}
}
@media (min-width: 1401px) {
    .header {
        height: 6vw;
    }
    .gridHeader {
		width: 70vw;
    }
    img.logoHeader {
        max-width: 13vw;
    }
    li.itemMenu{
        font-size: 0.8vw;
    }
    button.btnMenu {
        width: 12vw;
		height: 3.2vw;
		font-size: 1.05vw;
    }
	button.btnMenu::after {
    	padding: 3px;
	}
}