@font-face {
    font-family: 'ITC Cheltenham Std';
    src: url('../font/CheltenhamStd-Bold.eot');
    src: url('../font/CheltenhamStd-Bold.eot?#iefix') format('embedded-opentype'),
        url('../font/CheltenhamStd-Bold.woff2') format('woff2'),
        url('../font/CheltenhamStd-Bold.woff') format('woff'),
        url('../font/CheltenhamStd-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ITC Cheltenham Std';
    src: url('../font/CheltenhamStd-Book.eot');
    src: url('../font/CheltenhamStd-Book.eot?#iefix') format('embedded-opentype'),
        url('../font/CheltenhamStd-Book.woff2') format('woff2'),
        url('../font/CheltenhamStd-Book.woff') format('woff'),
        url('../font/CheltenhamStd-Book.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ITC Cheltenham Std';
    src: url('../font/CheltenhamStd-BookItalic.eot');
    src: url('../font/CheltenhamStd-BookItalic.eot?#iefix') format('embedded-opentype'),
        url('../font/CheltenhamStd-BookItalic.woff2') format('woff2'),
        url('../font/CheltenhamStd-BookItalic.woff') format('woff'),
        url('../font/CheltenhamStd-BookItalic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}



:root{
	--primary-color:#FBA400;
	--verde-color:#00432C;
	--verde-claro:#015940;
	--burdeos-color:#631927;
	--claro-color:#F9B233;
	--black:#000;
	--white:#fff;
	--font-cheltenham:'ITC Cheltenham Std';
}


body{
  color: var(--black);
	line-height: 1.2;
	font-weight: 400;
	font-style: normal;
	font-size: 20px;
	background-color: var(--primary-color);
	font-family: var(--font-cheltenham);
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

body.page{
    margin: 0
}

@supports (min-height: 100dvh) {
	body{
		min-height: 100dvh;
	}
}

.site-main{
	flex: 1 0 auto;
}

.footer{
	margin-top: auto;
	flex-shrink: 0;
}

.footer-bottom{
    background-color: var(--black);
    color: var(--primary-color);
}

.footer-bottom .content{
    max-width: 1680px;
    width: 100%;
    margin: 0 auto;
    padding: 10px 20px;
}


.footer-bottom .copyright{
  	display: flex;
	justify-content: space-between;
	align-items: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}

.footer a{
    color: var(--primary-color);
}

.footer-bottom .copyright p{
    margin: 0;
}

.footer-link{
	display: flex;
    list-style: none;
    margin: 0;
}
.footer-link a{
	display: block;
	padding-left: 20px;
	padding-right: 20px;
	border-right: 1px solid var(--primary-color);
	color: var(--primary-color);
    text-decoration: none;
}

.footer-link a:hover{
    text-decoration: underline;
}
.footer-link li:last-child a{
	border: none;
	padding-right: 0;
}



.footer-top .footer-cta{
    padding: 40px 20px 50px;
	background-color: var(--burdeos-color);
    display: flex;
    justify-content: space-between;
}

.footer-widget{
    width: 100%;
}

.cta{
    max-width: 1420px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.cta-row{
	display: flex;
    justify-content: space-between;
    gap: 30px;
    width: 100%;
}

.cta-left{
	max-width: 507px;
	display: flex;
	justify-content: space-between;
}

.cta-left .contact{
    text-decoration: none;
    width: max-content;
}

.cta-left .contact:hover{
    text-decoration: underline;
}

.social-block{
    display: flex;
    gap: 20px;
}

.social-block .instagram{
    content: url(../images/instagram-icon.svg);
    width: 40px;
    height: 40px;
}

.cta-left h2{
	font-size: 40px;
	line-height: 45px;
	color: var(--primary-color);
	margin-bottom: 20px;
    margin-top: 4px;
    font-weight: 700;
}

.cta-social a{
	display: block;
}

.cta-link a{
	display: block;
	margin-bottom: 10px;
	color: var(--primary-color);
}

.newsletter{
	max-width: 476px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.d-flex{
    display: flex;
    gap: 0;
}

.newsletter label{
	color: var(--primary-color);
    margin-bottom: 15px;
}
.newsletter  .d-flex{
	width: 100%;
	border-radius: 5px;
	overflow: hidden;
	border: 1px solid var(--black);
}
.newsletter  button{
	max-width: 122px;
    width: 100%;
	border: none;
	border-radius: 0;
	padding: 13px 30px;
    background-color: var(--primary-color);
    color: var(--verde-color);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
    height: 42px;
    cursor: pointer;
    font-family: var(--font-cheltenham);
}

.newsletter  button:hover{
    background-color: var(--claro-color);
}

.newsletter  input {
    max-width: 354px;
    height: 42px;
    width: 100%;
    padding: 11px;
    font-size: 20px;
	border: none;
    border-radius: 0;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    font-size: 16px;
    font-family: var(--font-cheltenham);    
    color: #808080;
}

#mc4wp_form_widget-2 p{
    display: none;
}







.footer-good-vibe .good-vibe-widget{
    margin: 0;
}
.good-vibe{
	background-image: url(../images/vibes-bg.png);
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
	position: relative;
    padding: 0 20px;
}
.good-vibe .back-top {
    height: 40px;
    width: 40px;
    display: inline-block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 15px;
}
.good-vibe-row{
	display: flex;
	align-items: center;
    justify-content: space-between;
    max-width: 1420px;
    margin: 0 auto;
    height: 299px;
    gap: 30px;
}

.vibe-title{
    max-width: 507px;
    margin-top: 14px;
}
.vibe-title h2{
	font-size: 60px;
	line-height: 1;
	color: var(--primary-color);
	text-transform: uppercase;
    margin: 0;
}
.vibe-content{
	max-width: 476px;
}
.vibe-content p{
	margin: 10px 0;
	color: var(--primary-color);
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px;

    
}
.vibe-content .primary-btn {
    display: flex;
    width: max-content;
    height: 58px;
    padding: 14px 25px;
    justify-content: space-between;
    align-items: center;
    gap: 5px;
    border-radius: 5px;
    background: var(--primary-color);
    color: var(--verde-color);
    text-decoration: none;
    font-family: --font-cheltenham;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    gap: 5px;
    margin-top: 20px;
}

.vibe-content .primary-btn:hover{
    background-color: var(--claro-color);
}


.vibe-content .primary-btn:before{
    background-image: url(../images/spotify-icon.svg);
	background-size: contain;
	background-repeat: no-repeat;
    content: "";
    width: 30px;
    height: 30px;
}


.vibe-content .primary-btn img{
	width: 30px;
}


.footer-good-vibe .modal-dialog{
    max-width: max-content;
    padding: 0 20px;
}

.footer-good-vibe .modal-content{
    background-color: var(--black);
    color: var(--primary-color);
}

.footer-good-vibe .modal-content .modal-body{
    padding: 40px 69px;
}

.footer-good-vibe .modal-content .modal-body .text-end{
    position: absolute;
    right: 30px;
    top: 30px;
    background-color: var(--primary-color);
    border-radius: 50%;
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;

}

.footer-good-vibe .modal-content .modal-body h2{
    margin: 25px 0 0;
    text-align: center;
    font-family: --font-cheltenham;
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 45px;
}

.playlist-card{
    padding: 19px 17px;
    display: flex;
    flex-direction: column;
}


.footer-good-vibe .btn-close {
  --bs-btn-close-focus-shadow: none;
}

.playlist-row{
    display: flex;
    margin: 45px 0 25px;
    gap: clamp(12px, 3.6458vw, 70px);
    justify-content: center;
}

.playlist-row a{
    text-decoration: none;
}

.playlist-content{
    display: flex;
    justify-content: space-between;
    margin-top: 17px;
    height: 100%;
    gap: 20px;
}

.playlist-img img{
    border-radius: 5px;
}

.playlist-card{
    border-radius: 5px;
    height: 100%;
}

.playlist-card .play-icon {
    opacity: 0;
    border: 1px solid var(--black);
    border-radius: 50%;
    min-width: 38px;
}

.playlist-name{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.playlist-card h3{
    font-weight: 700;
    font-size: 25px;
    font-style: normal;
    line-height: 30px;   
    margin: 0; 
}

.playlist-card p{
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    margin: 0;
}

.playlist-card:hover{
    background-color: var(--claro-color);
}

.playlist-card:hover p{
    color: var(--black);
}

.playlist-card:hover h3{
    color: var(--black);
}

.playlist-card:hover .play-icon{
    opacity: 1;
}

@media (max-width:1024px){
    .footer-good-vibe .modal-dialog{
        padding: 0;
        margin: 0;
    }


    .footer-good-vibe .modal-content .modal-body{
        padding: 34px 20px;
    }


    .footer-good-vibe .modal-content .modal-body h2{
        margin: 10px 0 0;
        text-align: left;
    }

    .footer-good-vibe .modal-content .modal-body .text-end {
        right: 10px;
        top: 10px;
        width: 35px;
        height: 35px;
    }    

    .playlist-row{
        display: flex;
        margin: 35px 0 0;
        gap: 20px;
        flex-direction: column;
    }

    .playlist-card{
        flex-direction: row;
        gap: 30px;
        padding: 0;
        align-items: center;
        padding-bottom: 25px;
        border-bottom: 1px solid var(--claro-color);
        border-radius: 0;
    }

    .playlist-row > div:last-child .playlist-card {
        border:0;
    }

    .playlist-content{
        flex-direction: column;
        margin-top: 0;
        gap: 5px;
    }

    .playlist-img {
        max-width: 112px;
        max-height: 112px;
    }
    

    .playlist-img img{
        border-radius: 5px;
    }

    .playlist-card .play-icon {
        opacity: 1;
    }

    #playlistPopup .modal-dialog{
        position: fixed;
        width: 100%;
        max-width: 100%;
        margin: 0;
        bottom: 0;
    }

    #playlistPopup.modal.fade .modal-dialog{
        transform: translateY(100%);
        transition: transform .6s ease;
    }
    #playlistPopup.modal.show .modal-dialog{
        transform: translateY(0);
    }    

    .footer-good-vibe .modal-content{
        position: fixed;
        bottom: 0;
        border-radius: 0;
    }        
}

@media (max-width:820px){

    .footer-bottom .content{
        padding: 20px 30px;
    }


    .footer-bottom .copyright{
        display: flex;
        flex-direction: column;
        align-items:flex-start;
        font-size: 14px;
        line-height: 18px;
        gap: 20px;
    }

    .footer-bottom .copyright .copyright-text{
        order: 2;
    }

    .footer-bottom .copyright .footer-link{
        order: 1;
        padding: 0;
    }

    .footer-link li:first-child a{
        padding-left: 0;
        padding-right: 10px;
    }

    .footer-link li:last-child a{
        padding-right: 0;
        padding-left: 10px;
    }

    .footer-link a:hover{
        text-decoration: underline;
    }
    .footer-link li:last-child a{
        border: none;
        padding-right: 0;
    }



    .footer-top .footer-cta{
        padding: 40px 30px 30px;
    }

    .cta-row{
        flex-direction: column;
    }

    .footer-top .footer-cta .cta .newsletter{
        order: 1;
    }

    .footer-top .footer-cta .cta-row .cta-left {
        order: 2;
    }

    .cta-left{
        display: flex;
        justify-content: space-between;
        max-width: none;
    }

    .cta-left .contact{
        text-decoration: none;
        width: max-content;
    }

    .cta-left .contact:hover{
        text-decoration: underline;
    }

    .cta-social{
        width: 100%;
    }

    .social-block{
        display: flex;
        gap: 20px;
        justify-content: space-between;
    }

    .social-block .instagram{
        content: url(../images/instagram-icon.svg);
        width: 40px;
        height: 40px;
    }

    .cta-left h2{
        font-size: 26px;
        line-height: 30px;
        color: var(--primary-color);
        margin-bottom: 4px;
        margin-top: 4px;
    }

    .cta-social a{
        display: block;
    }

    .cta-link a{
        display: block;
        color: var(--primary-color);
    }

    .newsletter{
        max-width: none;
    }



    .newsletter  input {
        max-width: none;
        font-size: 14px;
        line-height: 18px;
    }


    .good-vibe{
        padding: 85px 30px 58px;
    }


    .good-vibe-row{
        flex-direction: column;
        gap: 15px;
        height: auto;
        justify-content: flex-start;
    }

    .vibe-title{
        max-width: none;
        margin-top: 14px;
        width: 100%;
    }
    .vibe-title h2{
        font-size: 35px;
        line-height: 40px;
    }
    .vibe-content{
        max-width: none;
        width: 100%;
    }
    .vibe-content p{
        margin: 0 0 10px;
        font-size: 18px;
        line-height: 25px;        
    }
    .vibe-content .primary-btn {
        display: flex;
        margin-top: 5px;
        width: 100%;
        padding: 14px 9px;
        justify-content: flex-start;
        max-width: 315px;
    }




    .footer-good-vibe .modal-content .modal-body h2{
        font-size: 26px;
        line-height: 30px;
    }

    .playlist-card h3{
        font-size: 26px;
        line-height: 30px;   
    }

    .playlist-card p{
        font-size: 18px;
        line-height: 25px;
    }   
}

