@charset "UTF-8";
/*
Theme Name: Festival le Parc aux Etoiles
Theme URI: https://festival-leparcauxetoiles.com/
Author: Conseils et Préférence
Author URI: https://conseilspreference.com
Description: Thème du site du Festival Le Parc aux Etoiles
Requires at least: WordPress 6.9
Version: 1.0
*/

html {
  --cp-pink: #D2104C;
  --cp-yellow: #FED072;
  --cp-blue: #081531;
  --cp-gray: #D9D9D9;
  --cp-blue-light: #ACDBE2;
}

/* Typo */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  src: url("fonts/Montserrat-Medium.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  src: url("fonts/Montserrat-Bold.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Cringe";
  font-style: normal;
  font-weight: 900;
  src: url("fonts/BNCringeSansBlack.woff2") format("woff2");
  font-display: swap;
}
html body{
  font-family: 'Montserrat', sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: white;
  word-break: keep-all;
  height: 100vh;
}
.cringe,
h1{
  font-family: 'Cringe', sans-serif;
  font-weight: 900;
  text-transform: uppercase;
}
body:not(.home) h1{
  font-size: 2.5rem;
}
h1 span{
  display: block;
}
h1 span:last-of-type{
  font-family: 'Montserrat', sans-serif;
  font-optical-sizing: auto;
  text-transform: none;
  font-size: 1.5rem;
}
body h2.cringe{
  font-size: 2rem;
}
body:not(.home) h2{
  font-weight: 600;
}
body:not(.home) h2{
  font-weight: 600;
  font-size: calc(1rem + .9vw);
  margin-bottom: 1.25rem;
}
body:not(.home) h2:not(:first-of-type){
  margin-top: 2.25rem;
}
body:not(.home) h3{
  font-weight: 600;
  font-size: calc(1rem + .6vw);
  margin-bottom: 1.25rem;
}
body a{
  text-decoration: none;
  color: var(--cp-yellow);
}
.day a,
a.pass-container{
  color: var(--cp-pink);
}
body a:not(.pass-container):hover{
  color: white;
}
body .day a:hover,
#mainnav a:hover{
  color: var(--cp-blue);
}
.big{
  font-size: 150%;
  font-weight: 700;
  line-height: 1.25;
}
.big ~ p{
  margin-top: -1rem;
  font-size: 110%;
}
@media (min-width: 1200px) {
  h1 span:last-of-type{
    font-size: 40%;
  }
  h1 span:nth-of-type(3){
    font-size: 2rem;
  }
  h1 span:last-of-type{
    font-size: 1.75rem;
  }
  body:not(.home) h1{
    font-size: 3rem;
  }
  body h2{
    font-size: 2.5rem;
  }
  .big{
    font-size: 230%;
  }
}

/* Buttons */
body .btn,
.wp-block-button__link,
.cmplz-cookiebanner .cmplz-buttons button.cmplz-btn{
  font-weight: 900;
  font-family: 'Cringe', sans-serif;
  margin-top: .5rem;
  text-transform: uppercase;
  color: inherit;
  padding: .5rem 1rem;
  border: 2px solid white;
  border-radius: 25px;
  width: fit-content;
  background-color: transparent;
}
body a.btn:hover,
body a.btn:active,
body a.btn:focus,
.wp-block-button__link:hover,
.wp-block-button__link:active,
.wp-block-button__link:focus,
body :not(.btn-check)+.btn:active,
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:focus,
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:active,
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:hover{
  background-color: white;
  color: var(--cp-blue);
  border-color: white;
}
.btn.btn-primary{
  background-color: var(--cp-pink);
  border-color: var(--cp-pink) ;
}

/* Nav */
body .navbar-dark{
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
}
.navbar-brand .logo{
  height: 8rem;
  width: 8rem;
  background-image: url('img/festival-parc-aux-etoiles-logo-blanc.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.menu-toggle {
  position: relative;
  z-index: 10000;
  width: 32px;
  height: 24px;
  background: none;
  border: none;
  cursor: pointer;
}
#menuToggle{
  height: auto;
}
.menu-toggle span {
  display: block;
  height: 3px;
  background: #fff;
  margin: 5px 0;
  transition: 0.3s ease;
}
.menu-toggle.active{
  top: 2rem;
  right: 2rem;
  position: fixed;
}
.menu-toggle.active span{
  background: var(--cp-yellow);
}
.menu-toggle.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.menu-toggle.active span:nth-child(2) {
  opacity: 0;
}
.menu-toggle.active span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}
body.menu-open {
  overflow: hidden;
}
#fullscreen-menu {
  position: fixed;
  inset: 0;
  background: var(--cp-pink);
  color: var(--cp-yellow);
  z-index: 9999;
  display: none;
  animation: fadeIn .3s ease;
}
#fullscreen-menu .dropdown{
  padding-bottom: 1.75rem;
}
#fullscreen-menu.active {
  display: block;
}
#menu-en-tete{
  list-style: none;
}
body .dropdown-toggle::after{
  border: none;
}
ul.dropdown-menu{
  display: flex;
  background: unset;
  border: none;
  padding-top: 0;
  flex-wrap: wrap;
}
#mainnav ul:not(.dropdown-menu) > li > a{
  font-size: 1.25rem;
  margin-top: 10px;
  white-space: normal;
}
#mainnav .dropdown-item{
  color: var(--cp-yellow);
  padding: 0;
}
#mainnav .dropdown-menu li{
  display: flex;
}
#mainnav .dropdown-menu li:not(:last-of-type)::after{
  content: "●";
  color: var(--cp-yellow);
  padding: 0 .5rem;
}
#mainnav .dropdown-item:focus, 
#mainnav .dropdown-item:hover{
  background-color: unset;
  color: var(--cp-blue);
}
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.menu-image {
  background-size: cover;
  background-position: center;
}
@media (min-width: 576px) {
  #mainnav ul:not(.dropdown-menu) > li > a{
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .navbar-brand .logo{
    background-image: url('img/festival-parc-aux-etoiles-logo-horizontal-blanc.svg');
    width: 16rem;
  }
  #mainnav ul:not(.dropdown-menu) > li > a{
    font-size: 2rem;
  }
  #mainnav .dropdown-item{
    font-size: 1.25rem;
  }
}
@media (min-width: 1400px) {
  #fullscreen-menu{
    font-size: 2.5rem;
  }
}

/* Structure */
html body.wp-theme-festivalparcauxetoiles{
  background-color: var(--cp-blue);
}
.container{
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.bg-pink{
  background-color: var(--cp-pink);
  color: var(--cp-yellow);
}
.bg-yellow{
  background-color: var(--cp-yellow);
  color: var(--cp-pink);
}
body .rounded{
  border-radius: 20px !important;
}
.video-container {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-width: 1200px;
  margin: auto;
}
.video-container iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
body #title-cont{
  background-image: url(img/sun.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 75% bottom;
  margin-top: 5rem;
}
#title-cont a,
.artists a{
  color: white;
}
#title-cont a:hover,
#title-cont a:active,
#title-cont a:focus,
.artists a:hover,
.artists a:active,
.artists a:focus{
  color: var(--cp-yellow);
}
body.single #title-cont{
  padding-top: 8rem;
}
main{
  background-image: url('img/festival-parc-aux-etoiles-logo-horizontal-transparent.svg');
  background-repeat: no-repeat;
  background-position: 175% 50%;
  background-size: 70%;
}
#page-content .wp-block-embed iframe{
  width: 100%;
}
.half{
  scale: .5;
}
figcaption{
  text-align: center;
}
@media (min-width: 576px) {
  body:not(.single) #title-cont{
    background-position: 97% 25%;
  }
  body.single #title-cont{
    padding-top: 6rem;
  }
}
@media (min-width: 768px) {
  .container{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  body:not(.single) #title-cont{
    background-position: 85% 1rem;
  }
  #page-content .wp-block-embed.is-type-video iframe{
    min-height: 21rem;
  }
}
@media (min-width: 992px) {
  .container{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  body:not(.single) #title-cont {
    background-position: 74% 0rem;
  }
}
@media (min-width: 1200px) {
  body:not(.single) #title-cont {
    background-position: 70% 0rem;
  }
  body.single #title-cont{
    padding-top: 5rem;
  }
  #page-content .wp-block-embed.is-type-video iframe{
    min-height: 25rem;
  }
}
@media (min-width: 1400px) {
  body:not(.single) #title-cont {
    background-position: 67% 0rem;
  }
  #page-content .wp-block-embed.is-type-video iframe{
    min-height: 29rem;
  }
}

/* Footer */
footer{
  background-image: url('img/festival-parc-aux-etoiles-nuit.jpg');
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover;
}
footer .cringe{
  font-size: 2rem;
}
body #sib-container{
  background-color: unset;
}
body .sib-form-container a{
  text-decoration: unset;
  color: unset;
}
body .sib-form .entry__field{
  background-color: unset;
  border: unset;
}
#EMAIL{
  padding: .5px 1rem;
  border: solid;
  border-right: none;
  border-radius: 20px 0 0 20px;
}
body .sib-form .entry__field:focus-within{
  border-radius: 25px;
  box-shadow: 0 0 0 2px var(--cp-pink);
}
body .sib-form .entry__error{
  color: var(--cp-pink);
}
#menu-pied-de-page li{
  margin-left: .5rem;
  margin-right: .5rem;
}
footer ul{
  list-style: none;
}
footer a{
  color: white;
}
footer a:not(.pass-container):hover{
  color: var(--cp-yellow);
}
footer address svg{
  width: 2rem;
}
#copyright .copy,
#copyright a{
  font-size: .7rem;
  opacity: .5;
  color: white;
}
#copyright a:hover{
  opacity: 1;
}
#copyright-content{
  width: fit-content;
}
#menu-copyright li,
footer .copy,
footer .author{
  margin-left: 1rem;
  margin-right: 1rem;
  margin-bottom: .5rem;
  line-height: 1.25;
}
@media(min-width: 576px){
  footer{
    background-size: 100%;
  }
}
@media(min-width: 992px){
  footer{
    background-size: 100%;
  }
  #copyright .copy,
  #copyright a{
    font-size: .8rem;
  }
}

/* Sticky */
#sticky-cta{
  width: fit-content;
  float: right;
  right: 1rem;
  bottom: 1rem;
  z-index: 10;
}
#sticky-cta .bg-yellow{
  aspect-ratio: 1 / 1;
  background-image: url(img/sun.svg);
  background-size: 300%;
  background-position: center;
}
#sticky-cta .bg-pink{
  aspect-ratio: 1 / 1;
}
#sticky-cta .cringe{
  font-size: .8rem;
  line-height: 1.25;
  transform: rotate(-7deg);
}
#sticky-cta .arrow{
  font-size: 150%;
  font-family: system-ui;
  line-height: 1;
}
#sticky-cta:hover .bg-yellow{
  background-color: var(--cp-pink);
  background-size: 150%;
}
#sticky-cta:hover .bg-pink{
  background-color: var(--cp-yellow);
  color: var(--cp-pink);
}
@media(min-width: 992px){
  #sticky-cta .cringe{
    font-size: 1.25rem;
  }
}
/* HP */
.home #hero{
  background-image: url("img/bg_red_up.svg"), var(--hero-bg-img);
  background-size: 101%, cover;
  background-position: bottom, top;
  background-repeat: no-repeat;
  margin-bottom: -1px;
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.home #hero .container{
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.home h1{
  font-size: 2.25rem;
}
.home h1 .line-3{
  font-size: 1.5rem;
}
#lineup{
  padding-bottom: 8rem;
}
#lineup img:first-of-type{
  transform: translateY(-6.5rem);
  width: 12rem;
}
#lineup h2{
  font-size: 1.25rem;
}
#lineup h2,
#lineup .bg-yellow{
  transform: rotate(-6deg);
}
#lineup .bg-yellow p:first-of-type{
  font-size: 2rem;
}
#lineup .bg-yellow p:last-of-type{
  font-size: 1.5rem;
}
#tickets{
  background-image: url("img/bg_red_down.svg");
  background-position: center top;
  background-repeat: no-repeat;
  margin-top: -1px;
}
#tickets .container{
  transform: translateY(-11rem);
  margin-bottom: -7rem;
}
#tickets h2{
  color: var(--cp-yellow);
}
.pass::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("img/degrade.svg");
  background-position-x: center;
  background-position-y: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: var(--cp-yellow);
  z-index: 0;
  scale: 1.25;
}
.pass-container:hover .pass::before{
  background-image: unset;
}
.col-12:nth-of-type(2) > a > .pass:before {
  transform: rotate(90deg);
  /* background-position-x:64%; */
  background-position-y:center;
  /* scale: 3.75; */
  scale: 4;
  background-size:contain;
}
.col-12:last-of-type > a > .pass:before {
  transform: rotate(-90deg);
  /* scale: 3.75; */
  scale: 4;
  background-position-x: center;
  background-position-y: center;
  background-size: cover;
}
.pass > * {
  position: relative;
  z-index: 1;
}
#festival img{
  aspect-ratio: 1;
  width: 231px;
  margin-top: 3rem;
}
#festival .over-img{
  transform: translate(51px,46px);
}
#festival svg{
  width: 274px;
}
#festival .order-1{
  background-image: url(img/sun.svg);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: contain;
  padding-bottom: 5rem;
  padding-right: 3rem;
}
.home main{
  background-position-y: bottom;
}
@media (min-width: 576px) {
  .home h1{
    font-size: 2.5rem;
  }
  #lineup h2{
    font-size: 1.75rem;
  }
  #lineup img:first-of-type{
    width: 16rem;
    transform: translateY(-8.5rem);
  }
  .home #hero{
    padding-top: 4rem;
    padding-bottom: 5rem;
  }
  #festival .img{
    width: 331px;
  }
  #festival .order-1 {
    background-position: 86% bottom;
    padding-bottom: 1rem;
    padding-right: 0;
  }
}
@media (min-width: 768px) {
  .home #hero .container {
    padding-bottom: 8rem;
  }
  .home h1{
    font-size: 3.5rem;
  }
  #lineup img:first-of-type{
    width: 18rem;
    transform: translateY(-10.5rem);
  }
  #tickets .container {
    transform: translateY(-7rem);
  }
  #festival img {
    width: 310px
  }
  #festival .over-img{
    transform: translate(64px,45px);
  }
  #festival svg{
    width: 374px;
  }
  #festival .order-1 {
    background-position: right bottom;
    padding-bottom: 3rem;
    padding-right: 3rem;
  }
}
@media (min-width: 992px) {
  .home #hero{
    padding-top: 0;
    padding-bottom: 0;
  }
  #lineup{
    background: no-repeat 133% 70% / 50% url(img/sun.svg) var(--cp-pink);
  }
  #lineup img:first-of-type {
    transform: translateY(-17.5rem);
    width: 26rem;
  }
  #lineup .container{
    padding-top: 5rem;
    background: no-repeat center/right url('img/sun.svg');

  }
  .pass::before {
    background-image: url('img/sun.svg'), url("img/degrade.svg");
    background-position-x: -14.5rem, center;
    background-position-y: -14rem, center;
    background-size: 30rem, cover;
    background-repeat: no-repeat;
  }
  .col-12:nth-of-type(2) > a > .pass:before {
    background-position-x: 3rem, 64%;
    background-position-y: 2rem, center;
  }
  .col-12:last-of-type > a > .pass:before {
    background-position-x: 0, center;
    background-position-y: -2.5rem, center;
    background-size: 10rem, cover;
  }
  #last{
    background-image: url("img/sun.svg");
    background-position: -9rem 5rem;
    background-repeat: no-repeat;
    background-size: 34rem;
  }
  #festival img {
    width: 400px
  }
  #festival .over-img{
    transform: translate(81px,49px);
  }
  #festival svg{
    width: 483px;
  }
  #festival .order-1 {
    padding-bottom: 8rem;
    padding-right: 4rem;
  }
  #last h2{
    position: absolute;
    font-size: 4rem;
    bottom: -1.5rem;
    left: .5rem;
  }
  #last .container{
    padding-top: 13rem;
  }
}
@media (min-width: 1200px) {
  .home h1{
    font-size: 4.5rem;
  }
  .home h1 .line-3{
    font-size: 2.5rem;
  }
  #lineup{
    padding-bottom: 8rem;
    background: var(--cp-pink);
  }
  #lineup img:first-of-type{
    transform: translateY(-22.5rem);
    width: 34rem;
  }
  #lineup .container{
    padding-top: 6.5rem;
    background-image: url('img/sun.svg'), url('img/tail.svg');
    background-repeat: no-repeat;
    background-position: 103% 89%, 96% 95%;
    background-size: 29rem, 44rem;
  }
  #lineup .bg-yellow p:first-of-type{
    font-size: 2.5rem;
  }
  #lineup .bg-yellow p:last-of-type{
    font-size: 2rem;
  }
  .day:first-of-type{
    padding-top: 6rem;
  }
  .day h3{
    font-size: 2rem;
  }
  #tickets .container{
    transform: translateY(-8rem);
    margin-bottom: -8rem;
  }
  .pass{
    aspect-ratio: 1/1;
  }
  .pass h3{
    font-size: 2.5rem;
  }
  .pass p{
    font-size: 1.5rem;
  }
  .pass::before {
    background-position-x: -15rem, center;
    background-position-y: -11rem, center;
  }
  .col-12:nth-of-type(2) > a > .pass:before {
    background-position-x: -4rem, 64%;
  }
  .col-12:last-of-type > a > .pass:before {
    background-position-x: .25rem, center;
    background-position-y: 1rem, center;
  }
  .offset{
    margin-left: 4rem;
    margin-top: 1rem;
  }
  #last{
    background-position: -12rem 5rem;
  }
  #last h2{
    font-size: 5rem;
  }
  #festival img {
    width: 480px
  }
  #festival .over-img{
    transform: translate(97px,53px);
  }
  #festival svg{
    width: 581px;
  }
}
@media(min-width: 1400px){
  #lineup .container{
    background-position: 92% 92%, 76% 95%;
  }
  #lineup img:first-of-type{
    transform: translateY(-25rem);
  }
  #last {
    background-position: -5rem 2rem;
  } 
  #last h2 {
    bottom: -2rem;
    left: -0.5rem;
  }
}

/* Programmation */
.wp-block-columns.programmation{
  text-align: center;
}
.wp-block-columns.programmation h2{
  font-size: 1.5rem;
  margin-bottom: 2rem;
}
.wp-block-columns.programmation p{
  font-family: 'Cringe', sans-serif;
  text-transform: uppercase;
  font-size: 2rem;
  line-height: normal;
  margin-bottom: .25rem;
}
.wp-block-columns.programmation p.head{
  font-size: 3rem;
}
.wp-block-columns.programmation a{
  color: white;
}
.wp-block-columns.programmation a:hover{
  color: var(--cp-yellow);
}
@media(min-width: 992px){
  .wp-block-columns.programmation p{
    margin-bottom: 1rem;
  }
}

/* Partenaires */
.figure-centered figure{
  margin-top: auto !important;
  margin-bottom: auto !important;
}
.figure-centered figure img{
  max-height: 5rem;
  margin-left: auto;
  margin-right: auto;
}