@charset "utf-8";
/* Simple fluid media
   Note: Fluid media requires that you remove the media's height and width attributes from the HTML
   http://www.alistapart.com/articles/fluid-images/ 
*/
img,
object,
embed,
video {
  max-width: 100%;
}
/* IE 6 does not support max-width so default to width 100% */
.ie6 img {
  width: 100%;
}

/*
	Dreamweaver Fluid Grid Properties
	----------------------------------
	dw-num-cols-mobile:		6;
	dw-num-cols-tablet:		10;
	dw-num-cols-desktop:	14;
	dw-gutter-percentage:	25;
	
	Inspiration from "Responsive Web Design" by Ethan Marcotte 
	http://www.alistapart.com/articles/responsive-web-design
	
	and Golden Grid System by Joni Korpi
	http://goldengridsystem.com/
*/

/* Mobile Layout: 480px and below. */

.newscontainer {
  padding-top: 7vh;
}

.newsslider {
  height: 80vh;
  width: 90%;
  margin: auto 5%;
  border-radius: 2em;
  display: block;
  float: left;
  clear: none;
  background-color: white;
  border: 0.5px solid #88cee296;
  overflow: hidden;
  position: relative;
}

.nsslide {
  width: 100%;
  height: 80vh;
  display: block;
  float: left;
  clear: none;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

.nsl-left {
  width: 100%;
  float: left;
  clear: none;
  display: block;
  clear: none;
  height: 40vh;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  z-index: 0;
  bottom: 0;
}

.nsl-right {
  width: calc(100% - 4em);
  height: calc(40vh - 7em);
  float: right;
  clear: none;
  display: block;
  clear: none;

  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 10;
  border: 0.5px solid #88cee296;
  box-shadow: 0px 3px 5px 3px rgba(75, 153, 181, 0.1);
  -webkit-box-shadow: 0px 3px 5px 3px rgba(75, 153, 181, 0.1);
  -moz-box-shadow: 0px 3px 5px 3px rgba(75, 153, 181, 0.1);
  border-radius: 1.5em;
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(20px);
  padding: 1em 2em 2em;
  color: #004165;
}

.newslist {
  width: 85%;
  height: auto;
  display: block;
  float: left;
  clear: none;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  gap: 0em 0em;
  grid-template-areas: ".";
  margin: 10vh 7.5%;
}

.newspost {
  width: calc(100% - 4em);
  height: calc(50vh - 4em);
  display: block;
  float: left;
  clear: none;
  border: 0.5px solid #00426541;
  background-color: #ffffff18;
  transition: 0.4s all;
  cursor: pointer;
  transform: scale(100%);
  transform-origin: center;
  -o-transform-origin: center;
  z-index: 0;
  border-radius: 2em;
  padding: 2em;
}

.newspost:hover {
  width: calc(100% - 4em);
  height: calc(50vh - 4em);
  display: block;
  float: left;
  clear: none;
  border: 0.5px solid #0042657a;
  background-color: #ffffffdf;
  transition: 0.4s all;
  backdrop-filter: blur(20px);
  transform: scale(105%);
  padding: 0;
  z-index: 10;
  padding: 2em;
}

.newspost h6 {
  font-family: "GOTHAM-BOLD";
  color: #004165;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin: 1em auto 2em;
  transition: 0.4s all;
}

.newspost h4,
.newspost p {
  color: #004165;
  transition: 0.4s all;
}

.article {
  width: 90%;
  margin: auto 10%;
  display: block;
  float: left;
  clear: none;
}

.article-left {
  width: calc(100% - 2em);
  height: auto;
  display: block;
  float: left;
  clear: none;
}
.youtube-container {
  height: 0;
  position: relative;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  padding-top: 0px;
  overflow: hidden;
  border-radius: 2em;
  margin: auto auto 1em;
}

/* Make iframe fill the container at 100% width */
.youtube-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 2em;
}

.featureimg {
  height: auto;
  width: 100%;
  border-radius: 2em;
  display: block;
  float: left;
  clear: none;
  background-size: cover;
  background-position: center;
  margin: auto auto 0em;
}

.post-title {
  width: 100%;
  height: auto;
  display: block;
  float: left;
  clear: none;
  color: #004165;
  margin: 5vh 0;
}

.post-content {
  line-height: 1.2em;
  justify-content: left;
}

.article-right {
  width: 90%;
  height: auto;
  display: block;
  float: left;
  clear: none;
  position: relative;
  top: 5vh;
  right: 0;
  padding: auto 0 0 0;
  border: #004165 solid;
  border-width: 5px 0 0 0;
  margin-bottom: 10vh;
}

.article-right h4 {
  color: #004165;
  margin: 1em 0;
}

/* Tablet Layout: 481px to 768px. Inherits styles from: Mobile Layout. */

@media only screen and (min-width: 481px) {
  .newslist {
    width: 85%;
    height: auto;
    display: block;
    float: left;
    clear: none;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    gap: 0em 0em;
    grid-template-areas: ".";
    margin: 10vh 7.5%;
  }

  .article-right {
    width: 70%;
    height: auto;
    display: block;
    float: left;
    clear: none;
    position: relative;
    top: 5vh;
    right: 0;
    padding: auto 0 0 0;
    border: #004165 solid;
    border-width: 5px 0 0 0;
    margin-bottom: 10vh;
  }
}

/* Desktop Layout: 769px to a max of 1232px.  Inherits styles from: Mobile Layout and Tablet Layout. */

@media only screen and (min-width: 769px) {
  .newscontainer {
    padding-top: 12vh;
  }

  .newsslider {
    height: 60vh;
    width: 90%;
    margin: auto 5%;
    border-radius: 2em;
    display: block;
    float: left;
    clear: none;
    background-color: white;
    border: 0.5px solid #88cee296;
    overflow: hidden;
    position: relative;
  }

  .nsslide {
    width: 100%;
    height: 60vh;
    display: block;
    float: left;
    clear: none;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
  }

  .newslist {
    width: 85%;
    height: auto;
    display: block;
    float: left;
    clear: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    gap: 0em 0em;
    grid-template-areas: ". .";
    margin: 10vh 7.5%;
  }

  .nsl-left {
    width: 60%;
    float: left;
    clear: none;
    display: block;
    clear: none;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    z-index: 0;
  }

  .nsl-right {
    width: calc(40% - 4em);
    height: calc(100% - 5em);
    float: right;
    clear: none;
    display: block;
    clear: none;

    position: absolute;
    right: 0;
    z-index: 10;
    border: 0.5px solid #88cee296;
    box-shadow: 0px 3px 5px 3px rgba(75, 153, 181, 0.1);
    -webkit-box-shadow: 0px 3px 5px 3px rgba(75, 153, 181, 0.1);
    -moz-box-shadow: 0px 3px 5px 3px rgba(75, 153, 181, 0.1);
    border-radius: 1.5em;
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    padding: 3em 2em 2em;
    color: #004165;
  }

  .article-right {
    width: 50%;
    height: auto;
    display: block;
    float: left;
    clear: none;
    position: relative;
    top: 5vh;
    right: 0;
    padding: auto 0 0 0;
    border: #004165 solid;
    border-width: 5px 0 0 0;
    margin-bottom: 10vh;
  }
}
/* Desktop Layout: 769px to a max of 1080px.  Inherits styles from: Mobile Layout and Tablet Layout. */

@media only screen and (min-width: 1080px) {
  .newscontainer {
    padding-top: 20vh;
  }

  .newsslider {
    height: 60vh;
    width: 85%;
    margin: auto 7.5%;
    border-radius: 2em;
    display: block;
    float: left;
    clear: none;
    background-color: white;
    border: 0.5px solid #88cee296;
    overflow: hidden;
    position: relative;
  }

  .nsslide {
    width: 100%;
    height: 60vh;
    display: block;
    float: left;
    clear: none;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
  }

  .nsl-left {
    width: 65%;
    float: left;
    clear: none;
    display: block;
    clear: none;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    z-index: 0;
  }

  .nsl-right {
    width: calc(35% - 6em);
    height: calc(100% - 7em);
    float: right;
    clear: none;
    display: block;
    clear: none;

    position: absolute;
    right: 0;
    z-index: 10;
    border: 0.5px solid #88cee296;
    box-shadow: 0px 3px 5px 3px rgba(75, 153, 181, 0.1);
    -webkit-box-shadow: 0px 3px 5px 3px rgba(75, 153, 181, 0.1);
    -moz-box-shadow: 0px 3px 5px 3px rgba(75, 153, 181, 0.1);
    border-radius: 1.5em;
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    padding: 5em 3em 2em;
    color: #004165;
  }

  .newslist {
    width: 85%;
    height: auto;
    display: block;
    float: left;
    clear: none;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    gap: 0em 0em;
    grid-template-areas: ". . .";
    margin: 10vh 7.5%;
  }

  .newspost {
    width: calc(100% - 4em);
    height: calc(50vh - 4em);
    display: block;
    float: left;
    clear: none;
    border: 0.5px solid #00426541;
    background-color: #ffffff18;
    transition: 0.4s all;
    cursor: pointer;
    transform: scale(100%);
    transform-origin: center;
    -o-transform-origin: center;
    z-index: 0;
    border-radius: 2em;
    padding: 2em;
  }

  .newspost:hover {
    width: calc(100% - 4em);
    height: calc(50vh - 4em);
    display: block;
    float: left;
    clear: none;
    border: 0.5px solid #0042657a;
    background-color: #ffffffdf;
    transition: 0.4s all;
    backdrop-filter: blur(20px);
    transform: scale(105%);
    padding: 0;
    z-index: 10;
    padding: 2em;
  }

  .newspost h6 {
    font-family: "GOTHAM-BOLD";
    color: #004165;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 1em auto 2em;
    transition: 0.4s all;
  }

  .newspost h4,
  .newspost p {
    color: #004165;
    transition: 0.4s all;
  }

  .article {
    width: 85%;
    margin: auto 7.5%;
    display: block;
    float: left;
    clear: none;
  }

  .article-left {
    width: calc(70% - 2em);
    height: auto;
    display: block;
    float: left;
    clear: none;
  }

  .youtube-container {
    height: 0;
    position: relative;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    padding-top: 0px;
    overflow: hidden;
    border-radius: 2em;
    margin: auto auto 1em;
  }

  /* Make iframe fill the container at 100% width */
  .youtube-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 2em;
  }

  .featureimg {
    height: auto;
    width: 100%;
    border-radius: 2em;
    display: block;
    float: left;
    clear: none;
    background-size: cover;
    background-position: center;
    margin: auto auto 1em;
  }

  .post-title {
    width: 100%;
    height: auto;
    display: block;
    float: left;
    clear: none;
    color: #004165;
    margin: 5vh 0;
  }

  .post-content {
    line-height: 1.2em;
    justify-content: left;
  }

  .article-right {
    width: 30%;
    height: auto;
    display: block;
    float: right;
    clear: none;
    position: -webkit-sticky;
    position: sticky;
    top: 15vh;
    right: 0;
    padding: auto 0 0 0;
    border: #004165 solid;
    border-width: 5px 0 0 0;
  }

  .article-right h4 {
    color: #004165;
    margin: 1em 0;
  }
}

/* Desktop Layout:1080px to a max of 1440px.  Inherits styles from: Mobile Layout and Tablet Layout. */

@media only screen and (min-width: 1440px) {
}

/* Desktop Layout: 1440px to a max of 1920px.  Inherits styles from: Mobile Layout and Tablet Layout. */

@media only screen and (min-width: 1920px) {
}
/* Desktop Layout: 1920px to a max of 2400px.  Inherits styles from: Mobile Layout and Tablet Layout. */

@media only screen and (min-width: 2400px) {
}

/* Tab Navigation Styles */
.content-tabs {
  width: 40%;
  display: flex;
  gap: 0;
  margin: 30px 7.5%;
}

.tab-button {
  flex: 1;
  padding: 15px 30px;
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #666;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.tab-button:hover {
  color: #004165;
  background: rgba(0, 65, 101, 0.05);
}

.tab-button.active {
  color: #004165;
  border-bottom-color: #004165;
  background: rgba(0, 65, 101, 0.08);
}

.tab-content {
  display: none;
  animation: fadeIn 0.5s ease;
}

.tab-content.active {
  display: block;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  .tab-button {
    padding: 12px 20px;
    font-size: 14px;
  }
}
@media (max-width: 480px) {
  .tab-button {
    padding: 10px 15px;
    font-size: 12px;
  }
  .content-tabs {
    width: 90%;
    margin: 20px auto;
  }
}

/* Affiche en hauteur (flyer) : affichée en entier sur fond bleu, sans recadrage (js/affiches.js) */
.nsslide.affiche-portrait,
.featureimg.affiche-portrait {
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: 6% center !important; /* à gauche : le texte de l'article est à droite */
    background-color: #00324e !important;
}
.featureimg.affiche-portrait { background-position: center !important; }

/* Page article : le cadre de l'image a une hauteur (sinon il est vide, height: auto sur un fond) */
.featureimg:not(.has-media) { min-height: 55vh; }
.featureimg.affiche-portrait { min-height: min(85vh, 900px); }
