:root{
  --rouge: #e41b12;
  --azur: #1586c0;
  --bleu: #032a55;
  --gutter: 30px;
}

html{
}

body{
  font-family: 'Montserrat', 'Arial', sans-serif;
  font-size: 14px;
  color: var(--noir);
  line-height: 1.6em;
  position: relative;
  z-index: 1;
}

html::before{
  position: absolute;
  content: '';
  display: block;
  position: absolute;
  z-index: -1;
  background: url(../img/background.jpg) no-repeat center top / cover #fafafa;
  left: 0;
  top: 0;
  width: 100%;
  height: 70vh;
}

/* ****************************************************************************************** */
/*  CONTAINER
/* ****************************************************************************************** */
.container{
  max-width: 1000px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

@media only screen and (min-width: 600px) {
  :root{
    --gutter: 50px;
  }
}

@media only screen and (min-width: 1000px) {
  :root{
    --gutter: 80px;
  }
  .container{

    padding-left: calc(var(--gutter)/2);
    padding-right: calc(var(--gutter)/2);
  }
}

/* ****************************************************************************************** */
/*  HEADER
/* ****************************************************************************************** */
#header-wrap{
  padding: var(--gutter) 0;
  display: flex;
  justify-content: center;
}

@media only screen and (min-width: 600px) {
  #header-wrap{
    padding: calc(var(--gutter)/2) 0;
  }
}

#header-wrap img{
  max-width: 240px;
  height: auto;
  display: block;
}

@media only screen and (min-width: 600px) {
  #header-wrap img{
    max-width: 240px;
  }
}

@media only screen and (min-width: 1000px) {
  #header-wrap img{
    max-width: unset;
  }
}

/* ****************************************************************************************** */
/*  BANNER
/* ****************************************************************************************** */
#banner-wrap {}

@media only screen and (min-width: 600px) {
  #banner-wrap {
    display: flex;
    justify-content: space-around;
    align-items: center;
  }
}

#banner h1{
  text-align: center;
}

@media only screen and (min-width: 600px) {
  #banner h1{
    text-align: left;
  }
}

#banner h1 .invisible{
  font-size: 0;
  display: block;
}

#banner h1 .visible{
  color: #FFFFFF;
  font-weight: 600;
  font-size: 1rem;
  font-size: clamp(1rem, 0.9166666666666666rem + 0.2777777777777778vw, 1.25rem);
  display: block;
  margin: 10px 0 20px;
  line-height: 1.5em;
}

@media only screen and (min-width: 600px) {
  #banner h1 .visible{
    margin: 20px 0;
  }
}


#banner h1 img{
  max-width: 220px;
  height: auto;
}

@media only screen and (min-width: 1000px) {
  #banner h1 img{
    max-width: unset;
  }
}

@media only screen and (min-width: 600px) {
  #banner-left{
    width: 40%;
  }
}

#banner-right{
  display: flex;
  justify-content: center;
}

@media only screen and (min-width: 600px) {
  #banner-right{
    display: block;
  }
}

#banner-right img{
  display: block;
  width: 240px;
  height: auto;
}

@media only screen and (min-width: 600px) {
  #banner-right img{
    width: 100%;
  }
}

@media only screen and (max-width: 600px) {
  #content > .container{
    padding: 0;
  }
}

/* ****************************************************************************************** */
/*  BOX
/* ****************************************************************************************** */
.box{
  background: #FFFFFF;
  box-shadow: 0 1px 30px rgba(0,0,0,.07);
  padding: var(--gutter);
}

@media only screen and (min-width: 600px) {
  .box{
    border-radius: 20px;
    display: flex;
    justify-content: space-between;
  }
}

#box0{
  flex-direction: column;
  justify-content: normal;
}

.episode + .episode{
  margin-top: var(--gutter);
}

@media only screen and (min-width: 600px) {
  #text{
    width: 40%;
  }
}

#text h2{
  font-weight: bold;font-size: 1rem;
  font-size: clamp(1rem, 0.9583333333333334rem + 0.1388888888888889vw, 1.125rem);
  line-height: 1.6em;
}

#text p{
  font-size: 12px;
  line-height: 1.6em;
  margin: 20px 0;
}

#text a{
  font-size: 12px;
  line-height: 1.6em;
  color: var(--azur);
  display: inline-block;
}


/* ****************************************************************************************** */
/*  FORM
/* ****************************************************************************************** */
@media only screen and (min-width: 600px) {
  #form{
    width: 50%;
  }
}

#form.detached{
  margin-top: var(--gutter);
}

.form-line + .form-line{
  margin-top: 10px;
}

.form-line{
  position: relative;
}

.form-line label{
  position: absolute;
  top: 50%;
  margin-left: 20px;
  transform: translateY(-50%);
  transition: all .2s ease;
  font-size: 14px;
}

.form-line.focus label{
  font-size: 10px;
  margin-left: 20px;
  top: 0;
  transform: translateY(10%);
}

.form-line input,
.form-line select{
  height: 55px;
  width: 100%;
  border: none;
  background: #F0F0F0;
  border-radius: 5px;
  padding-left: 20px;
  outline: none !important;
  border: 1px solid #F0F0F0;
  transition: all .2s ease;
}

.form-line.error input{
  border-color: var(--rouge);
}

.form-line input:focus{
  background: #FFF;
}

.form-line.error span{
  font-size: 12px;
  line-height: 1.3em;
  display: block;
  margin-top: 5px;
  color: var(--rouge);
}

.form-line.focus input{
  padding-top: 5px;
}

.form-line input[type=submit]{
  background: var(--bleu);
  color: #FFFFFF;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  transition: all .2s ease;
  border: none;
  font-size: 12px;
}

@media only screen and (min-width: 600px) {
  .form-line input[type=submit]{
    font-size: 14px;
  }
}

.form-line input[type=submit]:hover{
  background: var(--azur);
}

.form-line.checkbox{
  display: flex;
  flex-direction: row-reverse;
  align-items: start;
  position: relative;
}

.form-line.checkbox a{
  color: var(--azur);
  display: inline !important;
}

.form-line.checkbox input{
  width: auto;
  height: auto;
  margin-top: 5px;
}

.form-line.checkbox label{
  position: relative;
  top: unset;
  transform: none;
  font-size: 12px;
  line-height: 1.5em;
  margin-left: 10px;
}

.error .g-recaptcha iframe{
  border: 1px solid var(--rouge);
  border-radius: 5px;
}

.error .g-recaptcha + span{
  margin-bottom: 20px;
  margin-top: -10px;
}


/* ****************************************************************************************** */
/*  CONTENT
/* ****************************************************************************************** */
#box1{
  padding: var(--gutter);
}

.episode h2{
  text-align: center;
  font-size: 1.25rem;
  font-size: clamp(1.25rem, 1.0416666666666667rem + 0.6944444444444445vw, 1.875rem);
  line-height: 1.3em;
  margin-bottom: calc(var(--gutter)/2);
}

.episode h2 span:first-child{
  display: block;
  color: var(--rouge);
  text-transform: uppercase;
  font-weight: 900;
}

.episode iframe{
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  display: block;
  border-radius: 10px 10px 0 0;
}


.fiche{
  display: flex;
  flex-direction: column-reverse;
  padding: var(--gutter);
  border-radius: 0 0 10px 10px;
  background: #fafafa;
}

@media only screen and (min-width: 600px) {
  .fiche{
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

@media only screen and (min-width: 600px) {
  .fiche{
    padding: calc(var(--gutter)/2);
  }
}

.fiche-right{
  margin-bottom: calc(var(--gutter)/2);
}

@media only screen and (min-width: 600px) {
  .fiche-right{
    width: 60%;
    margin-bottom: 0;
  }
}

.fiche-left img{
  max-width: 100%;
  height: auto;
}

@media only screen and (min-width: 600px) {
  .fiche-left{
    width: 30%;
  }
}

.fiche-right h3{
  font-weight: 600;
  margin-bottom: 10px;
  font-size: 1rem;
  font-size: clamp(1rem, 0.9166666666666666rem + 0.2777777777777778vw, 1.25rem);
  color: var(--rouge);
}

.fiche-right a{
  background: var(--rouge);
  padding: 10px 30px;
  border-radius: 5px;
  color: #FFFFFF;
  margin-top: 20px;
  font-weight: 600;
  display: inline-block;
}
