/* SOMMAIRE
    #1- IMPORTS
    #2- FONTS
    #3- VARIABLES
    #4- GLOBAL STYLES
    #5- NAVBAR
    #6- FOOTER
    #7- HOMEPAGE
    #8- VOUS & NOUS
    #9- ORCHESTRE
    #10- REPERTOIRE
    #11- ACTUS
    #12- MEDIAS
    #13- PARTITIONS
-------------------------------------------------- */
/* #1- IMPORTS
-------------------------------------------------- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v19/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuOKfMZg.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v19/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfMZg.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v19/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuI6fMZg.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/playfairdisplay/v39/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKebukDQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/playfairdisplay/v39/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKfFukDQ.ttf) format('truetype');
}
/* #2- FONTS
-------------------------------------------------- */
/* #3- VARIABLES
-------------------------------------------------- */
/* #4- GLOBAL STYLES
-------------------------------------------------- */
html {
  overflow-x: hidden;
}
body {
  font-family: "Inter", sans-serif;
}
* {
  outline: none;
  touch-action: manipulation;
}
*:focus {
  outline: none !important;
}
h1,
h2,
h3 {
  font-family: "Playfair Display", serif;
}
p {
  font-family: "Inter", sans-serif;
}
button:focus,
button:active,
button:hover {
  outline: none !important;
  box-shadow: none;
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover,
a:focus,
a:visited {
  text-decoration: none;
  color: inherit;
}
.img_effect {
  filter: grayscale(100%);
  -moz-transition: all 300ms linear;
  -webkit-transition: all 300ms linear;
  -o-transition: all 300ms linear;
  transition: all 300ms linear;
  cursor: pointer;
}
.img_effect:hover {
  filter: grayscale(0%);
}
.btn-3 {
  position: relative;
  display: inline-block;
  width: auto;
  height: auto;
  background-color: transparent;
  border: none;
  cursor: pointer;
  margin: 0px 25px 15px;
  min-width: 150px;
}
.btn-3 span {
  position: relative;
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 2px;
  text-transform: uppercase;
  top: 0;
  left: 0;
  width: 100%;
  padding: 15px 20px;
  transition: 0.3s;
}
.btn-3:before,
.btn-3:after {
  position: absolute;
  content: "";
  width: 10%;
  height: 25%;
  transition: 0.35s;
}
.btn-3:before {
  bottom: 0;
  left: 0;
  border-left: 1px solid #1c1f1e;
  border-bottom: 1px solid #1c1f1e;
}
.btn-3:after {
  top: 0;
  right: 0;
  border-right: 1px solid #1c1f1e;
  border-top: 1px solid #1c1f1e;
}
.btn-3:hover:before,
.btn-3:hover:after {
  width: 99%;
  height: 99%;
}
.btn-3 {
  padding: 5px;
}
.btn-3 span {
  color: #ffffff;
  background-color: #363837;
}
.btn-3::before,
.btn-3::after {
  background: transparent;
  z-index: 2;
}
/* #5- NAVBAR
-------------------------------------------------- */
.navbar {
  background-color: #126782;
}
.navbar .navbar-brand {
  color: white;
}
@media (max-width: 575.98px) {
  .navbar .navbar-collapse {
    margin: 50px 0;
  }
}
.navbar .nav-link {
  font-family: "Inter", sans-serif;
  text-transform: uppercase;
  color: white;
  -moz-transition: all 300ms linear;
  -webkit-transition: all 300ms linear;
  -o-transition: all 300ms linear;
  transition: all 300ms linear;
}
@media (max-width: 575.98px) {
  .navbar .nav-link {
    text-align: center;
  }
}
.navbar .navbar-toggler-icon {
  filter: invert(1);
}
.navbar .navbar-toggler {
  border-color: white;
}
.navbar #logo img {
  max-width: 150px;
}
/* #6- FOOTER
-------------------------------------------------- */
footer {
  background: #126782;
  color: white;
}
footer a {
  color: white;
  margin: 0 10px;
  font-size: 1.5rem;
}
footer a:hover {
  color: #f8f9fa;
}
/* #7- HOMEPAGE
-------------------------------------------------- */
.homepage-template #hero {
  background: url("./assets/images/homepage/orchestre_1_bas.jpg") no-repeat center center;
  background-size: cover;
  height: 100vh;
  max-height: 90vh;
  color: white;
  position: relative;
  background-attachment: fixed;
}
.homepage-template #hero:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.28);
}
.homepage-template #hero .container {
  z-index: 1;
}
.homepage-template #about-orchestra {
  padding: 150px 0;
}
.homepage-template #about-orchestra h3 {
  font-size: 14px;
  line-height: 18px;
  display: block;
  margin: 0 auto;
  position: relative;
  width: fit-content;
  color: #FFB703;
  margin-bottom: 40px;
}
.homepage-template #about-orchestra .row {
  margin-top: 30px;
}
.homepage-template #about-orchestra .row .btn-3 span {
  background-color: transparent;
  color: #023047;
}
.homepage-template #about-orchestra img {
  border-radius: 5px;
}
.homepage-template #about-orchestra h2 {
  margin-bottom: 20px;
}
.homepage-template #timeline {
  padding: 100px 0;
  background-color: black;
  color: white;
}
.homepage-template #timeline h2 {
  margin-bottom: 10px;
}
.homepage-template #timeline h3 {
  font-size: 14px;
  line-height: 18px;
  display: block;
  margin: 0 auto;
  position: relative;
  width: fit-content;
  color: #FFB703;
  margin-bottom: 40px;
}
.homepage-template #timeline .row > .col-md-3 h4 {
  font-size: 1.5rem;
  position: relative;
  width: fit-content;
  margin: 0 auto;
  border-bottom: 1px solid #FFB703;
}
.homepage-template #conductor {
  background: #126782;
  color: white;
  padding: 150px 0;
}
.homepage-template #conductor h3 {
  font-size: 14px;
  line-height: 18px;
  display: block;
  margin: 0 auto;
  position: relative;
  width: fit-content;
  color: #FFB703;
  margin-bottom: 40px;
}
.homepage-template #conductor .btn-3:before,
.homepage-template #conductor .btn-3:after {
  border-color: white;
}
.homepage-template #conductor .btn-3 span {
  background-color: transparent;
  color: white;
}
.homepage-template #separate {
  background: url("./assets/images/homepage/separate.webp") no-repeat center center;
  background-size: cover;
  height: 100vh;
  max-height: 40vh;
  position: relative;
  background-attachment: fixed;
}
.homepage-template #events {
  background: #f8f9fa;
}
.homepage-template #events .btn-3 {
  margin-top: 50px;
}
.homepage-template #events .btn-3 span {
  background-color: transparent;
  color: #023047;
}
.homepage-template #events h3 {
  font-size: 14px;
  line-height: 18px;
  display: block;
  margin: 0 auto;
  position: relative;
  width: fit-content;
  color: #FFB703;
  margin-bottom: 40px;
}
.homepage-template #events .col-md-3:hover img {
  transform: scale(1.1);
}
.homepage-template #events .image-container {
  position: relative;
  width: 100%;
  padding-top: 75%;
  overflow: hidden;
}
.homepage-template #events .image-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.homepage-template #events .image-container:hover img {
  transform: scale(1.1);
}
.homepage-template #events img {
  margin-bottom: 20px;
  border-radius: 5px;
}
.homepage-template #events h4 {
  margin-top: 10px;
  font-size: 1.2rem;
}
.homepage-template #events p {
  color: #666;
}
@media (max-width: 575.98px) {
  .homepage-template #about-orchestra {
    padding: 50px 0;
  }
  .homepage-template #about-orchestra img {
    margin-bottom: 30px;
  }
  .homepage-template #timeline {
    padding: 50px 0;
  }
  .homepage-template #timeline .col-md-3 {
    margin-bottom: 30px;
  }
  .homepage-template #conductor {
    padding: 50px 0;
  }
  .homepage-template #conductor img {
    margin-top: 30px;
  }
}
/* #8- VOUS & NOUS
-------------------------------------------------- */
.vous-et-nous-template #hero {
  background: url("./assets/images/vous_et_nous/entete.jpg") no-repeat center center;
  background-size: cover;
  height: 100vh;
  max-height: 60vh;
  color: white;
  position: relative;
  background-attachment: fixed;
}
.vous-et-nous-template #hero:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.28);
}
.vous-et-nous-template #hero .container {
  z-index: 1;
}
.vous-et-nous-template #webform {
  padding: 150px 0;
  background: white;
}
.vous-et-nous-template #webform h3 {
  font-size: 14px;
  line-height: 18px;
  display: block;
  margin: 0 auto;
  position: relative;
  width: fit-content;
  color: #FFB703;
  margin-bottom: 40px;
}
.vous-et-nous-template #webform .btn-3 span {
  background-color: transparent;
  color: #023047;
}
.vous-et-nous-template #repet {
  color: white;
  padding: 150px 0;
  background: #126782;
}
.vous-et-nous-template #repet h3 {
  font-size: 14px;
  line-height: 18px;
  display: block;
  margin: 0 auto;
  position: relative;
  width: fit-content;
  color: #FFB703;
  margin-bottom: 40px;
}
.vous-et-nous-template #repet .btn-3:before,
.vous-et-nous-template #repet .btn-3:after {
  border-color: white;
}
.vous-et-nous-template #repet .btn-3 span {
  background-color: transparent;
  color: white;
}
.vous-et-nous-template #repet #map {
  height: 500px;
  /* Hauteur de la carte */
}
.vous-et-nous-template #separate {
  background: url("./assets/images/vous_et_nous/separate.jpg") no-repeat center center;
  background-size: cover;
  height: 100vh;
  max-height: 40vh;
  position: relative;
  background-attachment: fixed;
}
@media (max-width: 575.98px) {
  .vous-et-nous-template #webform {
    padding: 50px 0;
  }
  .vous-et-nous-template #webform img {
    margin-top: 30px;
  }
  .vous-et-nous-template #repet {
    padding: 50px 0;
  }
  .vous-et-nous-template #repet #map {
    height: 300px;
    /* Hauteur de la carte */
    margin-bottom: 50px;
  }
}
/* #9- ORCHESTRE
-------------------------------------------------- */
.orchestre-template #hero {
  background: url("./assets/images/orchestre/entete.jpg") no-repeat center center;
  background-size: cover;
  height: 100vh;
  max-height: 60vh;
  color: white;
  position: relative;
  background-attachment: fixed;
}
.orchestre-template #hero:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.28);
}
.orchestre-template #hero .container {
  z-index: 1;
}
.orchestre-template #about,
.orchestre-template #direction {
  padding: 150px 0;
  background: white;
}
.orchestre-template #about h3,
.orchestre-template #direction h3 {
  font-size: 14px;
  line-height: 18px;
  display: block;
  margin: 0 auto;
  position: relative;
  width: fit-content;
  color: #FFB703;
  margin-bottom: 40px;
}
.orchestre-template #about .btn-3 span,
.orchestre-template #direction .btn-3 span {
  background-color: transparent;
  color: #023047;
}
.orchestre-template #repet {
  color: white;
  padding: 150px 0;
  background: #126782;
}
.orchestre-template #repet h3 {
  font-size: 14px;
  line-height: 18px;
  display: block;
  margin: 0 auto;
  position: relative;
  width: fit-content;
  color: #FFB703;
  margin-bottom: 40px;
}
.orchestre-template #repet .btn-3:before,
.orchestre-template #repet .btn-3:after {
  border-color: white;
}
.orchestre-template #repet .btn-3 span {
  background-color: transparent;
  color: white;
}
.orchestre-template #repet #map {
  height: 500px;
  /* Hauteur de la carte */
}
.orchestre-template #separate {
  background: url("./assets/images/orchestre/separate.jpg") no-repeat center center;
  background-size: cover;
  height: 100vh;
  max-height: 40vh;
  position: relative;
  background-attachment: fixed;
}
@media (max-width: 575.98px) {
  .orchestre-template #about {
    padding: 50px 0;
  }
  .orchestre-template #about img {
    margin-top: 30px;
  }
  .orchestre-template #repet {
    padding: 50px 0;
  }
  .orchestre-template #repet #map {
    height: 300px;
    /* Hauteur de la carte */
    margin-bottom: 50px;
  }
  .orchestre-template #direction {
    padding: 50px 0;
  }
  .orchestre-template #direction img {
    margin: 0;
  }
}
/* #10- REPERTOIRE
-------------------------------------------------- */
.repertoire-template #hero {
  background: url("./assets/images/repertoire/entete.jpg") no-repeat center center;
  background-size: cover;
  height: 100vh;
  max-height: 60vh;
  color: white;
  position: relative;
  background-attachment: fixed;
}
.repertoire-template #hero:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.28);
}
.repertoire-template #hero .container {
  z-index: 1;
}
.repertoire-template .list-group-item {
  cursor: pointer;
}
.repertoire-template #separate {
  background: url("./assets/images/repertoire/separate.jpg") no-repeat center center;
  background-size: cover;
  height: 100vh;
  max-height: 40vh;
  position: relative;
  background-attachment: fixed;
}
.repertoire-template #event {
  color: white;
  padding: 150px 0;
  background: #126782;
}
.repertoire-template #event h3 {
  font-size: 14px;
  line-height: 18px;
  display: block;
  margin: 0 auto;
  position: relative;
  width: fit-content;
  color: #FFB703;
  margin-bottom: 40px;
}
.repertoire-template #event .btn-3:before,
.repertoire-template #event .btn-3:after {
  border-color: white;
}
.repertoire-template #event .btn-3 span {
  background-color: transparent;
  color: white;
}
@media (max-width: 575.98px) {
  .repertoire-template #about .col-md-4 {
    margin-bottom: 50px;
  }
  .repertoire-template #event {
    padding: 50px 0;
  }
  .repertoire-template #event img {
    margin-bottom: 50px;
  }
}
/* #11- ACTUS
-------------------------------------------------- */
.actus-template #hero {
  background: url("./assets/images/actus/entete.jpg") no-repeat center center;
  background-size: cover;
  height: 100vh;
  max-height: 60vh;
  color: white;
  position: relative;
  background-attachment: fixed;
}
.actus-template #hero:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.28);
}
.actus-template #hero .container {
  z-index: 1;
}
.actus-template #actus {
  padding: 100px 0;
}
.actus-template #actus .grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.actus-template #actus .grid-item {
  width: calc(33.333% - 1rem);
  background-color: transparent;
  padding: 15px;
  border-radius: 8px;
  transition: transform 0.3s ease;
}
.actus-template #actus .grid-item img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin-bottom: 15px;
}
.actus-template #actus .filters {
  margin-bottom: 2rem;
  text-align: center;
}
.actus-template #actus .filters button {
  margin-right: 10px;
  margin-bottom: 10px;
  padding: 10px 20px;
  background-color: #023047;
  color: white;
  border: none;
  cursor: pointer;
  border-radius: 5px;
  transition: background-color 0.3s ease;
}
.actus-template #actus .filters button.active,
.actus-template #actus .filters button:hover {
  background-color: #126782;
}
.actus-template #actus .image-container {
  position: relative;
  width: 100%;
  padding-top: 75%;
  overflow: hidden;
}
.actus-template #actus .image-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.actus-template #actus .image-container:hover img {
  transform: scale(1.1);
}
.actus-template #actus .concert-description {
  margin-bottom: 1rem;
}
.actus-template #actus .btn-3 {
  min-width: 140px;
  margin: 0;
}
.actus-template #actus .btn-3 span {
  font-size: 12px;
  background-color: transparent;
  color: #023047;
}
.actus-template #actus .btn-3:before {
  bottom: 10px;
  left: 10px;
}
.actus-template #actus .btn-3:after {
  top: 10px;
  right: 10px;
}
.actus-template #actus .btn-3:hover:after,
.actus-template #actus .btn-3:hover:before {
  width: 86%;
  height: 64%;
}
@media (max-width: 575.98px) {
  .actus-template #actus {
    padding: 50px 0;
  }
  .actus-template #actus .grid-item {
    width: 100%;
  }
}
/* #12- MEDIAS
-------------------------------------------------- */
.medias-template #hero {
  background: url("./assets/images/medias/entete.jpg") no-repeat center center;
  background-size: cover;
  height: 100vh;
  max-height: 60vh;
  color: white;
  position: relative;
  background-attachment: fixed;
}
.medias-template #hero:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.28);
}
.medias-template #hero .container {
  z-index: 1;
}
.medias-template #press {
  background: #126782;
  color: white;
  padding: 150px 0;
}
.medias-template #press .image-container {
  position: relative;
  width: 100%;
  padding-top: 75%;
  overflow: hidden;
}
.medias-template #press .image-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.medias-template #press .image-container:hover img {
  transform: scale(1.1);
}
.medias-template #press .card-footer {
  background: transparent;
  border: none;
}
.medias-template #press h3 {
  font-size: 14px;
  line-height: 18px;
  display: block;
  margin: 0 auto;
  position: relative;
  width: fit-content;
  color: #FFB703;
  margin-bottom: 40px;
}
.medias-template #press .btn-3 {
  min-width: 140px;
  margin: 0;
}
.medias-template #press .btn-3 span {
  font-size: 12px;
  background-color: transparent;
  color: #023047;
}
.medias-template #press .btn-3:before {
  bottom: 10px;
  left: 10px;
}
.medias-template #press .btn-3:after {
  top: 10px;
  right: 10px;
}
.medias-template #press .btn-3:hover:after,
.medias-template #press .btn-3:hover:before {
  width: 86%;
  height: 64%;
}
.medias-template #press .btn-3:before,
.medias-template #press .btn-3:after {
  border-color: #126782;
}
.medias-template #press .btn-3 span {
  background-color: transparent;
  color: #126782;
}
.medias-template #galeries {
  padding: 100px 0;
  background-color: black;
  color: white;
}
.medias-template #galeries h2 {
  margin-bottom: 10px;
}
.medias-template #galeries h3 {
  font-size: 14px;
  line-height: 18px;
  display: block;
  margin: 0 auto;
  position: relative;
  width: fit-content;
  color: #FFB703;
  margin-bottom: 40px;
}
.medias-template #repet {
  color: white;
  padding: 150px 0;
  background: #126782;
}
.medias-template #repet h3 {
  font-size: 14px;
  line-height: 18px;
  display: block;
  margin: 0 auto;
  position: relative;
  width: fit-content;
  color: #FFB703;
  margin-bottom: 40px;
}
.medias-template #repet .btn-3:before,
.medias-template #repet .btn-3:after {
  border-color: white;
}
.medias-template #repet .btn-3 span {
  background-color: transparent;
  color: white;
}
.medias-template #repet #map {
  height: 500px;
  /* Hauteur de la carte */
}
@media (max-width: 575.98px) {
  .medias-template #press {
    padding: 50px 0;
  }
  .medias-template #repet {
    padding: 50px 0;
  }
  .medias-template #repet #map {
    height: 300px;
    /* Hauteur de la carte */
    margin-bottom: 50px;
  }
}
/* #13- PARTITIONS
-------------------------------------------------- */
.partitions-template #hero {
  background: url("./assets/images/partitions/entete.jpg") no-repeat center center;
  background-size: cover;
  height: 100vh;
  max-height: 60vh;
  color: white;
  position: relative;
  background-attachment: fixed;
}
.partitions-template #hero:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.28);
}
.partitions-template #hero .container {
  z-index: 1;
}
.partitions-template .centered-form-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  flex-direction: column;
}
