@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@200;400;700&display=swap");
html {
  --site-width: 1400rem;
  --site-width-narrow: 900rem;
  --header-height: 60rem;
}

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
*, *:after, *:before {
  box-sizing: border-box;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

html {
  font-size: 1px;
  scroll-behavior: smooth;
}

body {
  font-size: 20rem;
  line-height: 1.4;
  font-family: "Inter";
  color: #0d0a0b;
  padding-top: var(--header-height);
}
body .site-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 30;
}
body .site-body {
  position: relative;
  z-index: 20;
}
body .site-footer {
  position: relative;
  z-index: 20;
}

img {
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: underline;
}

em {
  font-style: italic;
}

.center {
  margin-left: auto;
  margin-right: auto;
  width: var(--site-width);
}

.center-narrow {
  margin-left: auto;
  margin-right: auto;
  width: var(--site-width-narrow);
}

.site-nav {
  position: relative;
}
.site-nav > ul {
  display: flex;
  align-items: start;
}
.site-nav > ul li {
  position: relative;
}
.site-nav > ul li a {
  font-weight: 400;
  text-decoration: none;
  padding: 0 15rem;
  transition: all 0.2s;
}
.site-nav > ul li a:hover {
  color: #006e93;
}
.site-nav > ul li.menu-item-has-children {
  margin-right: 10rem;
  padding-right: 20rem;
}
.site-nav > ul li.menu-item-has-children ul {
  translate: 0 -50rem;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  height: fit-content;
  padding: 10rem 0;
  background-color: white;
  transition: all 0.2s;
}
.site-nav > ul li.menu-item-has-children ul li {
  width: max-content;
  margin: 0rem 0;
  transition: all 0.2s 0.1s;
}
.site-nav > ul li.menu-item-has-children:hover ul {
  translate: 0 0;
  opacity: 1;
  pointer-events: all;
}
.site-nav > ul li.menu-item-has-children:hover ul li {
  margin: 10rem 0;
}
.site-nav > ul li.menu-item-has-children:after {
  content: "›";
  display: inline-block;
  position: absolute;
  top: 0%;
  right: 0rem;
  rotate: 90deg;
  line-height: 1;
  font-size: 30rem;
}

.site-body {
  min-height: 100vh;
}

.site-footer--wrap {
  width: var(--site-width);
  margin: 0 auto 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.site-footer--logo {
  display: block;
  width: 100rem;
  margin: 0 auto 0;
}
.site-footer--logo img {
  display: block;
  width: 100%;
}
.site-footer li {
  margin-bottom: 0rem;
}
.site-footer li a {
  color: black;
  text-decoration: underline;
}
.site-footer .footer-nav-2 {
  margin-top: 50rem;
  text-align: center;
}
.site-footer .footer-nav-2 li {
  display: inline-block;
  margin: 0 15rem;
}
.site-footer .footer-nav-2 li a {
  font-size: 14rem;
  text-decoration: none;
}

.article h1 {
  margin: 0 0 40rem;
  font-size: 80rem;
  font-family: "Inter";
  font-weight: 200;
  color: #006e93;
}
.article--content h1 {
  margin: 0 0 40rem;
  font-size: 80rem;
  font-family: "Inter";
  font-weight: 200;
  color: #006e93;
}
.article--content h2 {
  margin: 100rem 0 20rem;
  font-size: 50rem;
  font-family: "Inter";
  font-weight: 700;
}
.article--content h3 {
  margin: 60rem 0 10rem;
  font-size: 30rem;
  font-weight: 700;
  color: #6d8499;
}
.article--content h4 {
  margin: 30rem 0 10rem;
  font-size: 20rem;
  font-weight: 700;
  color: #6d8499;
  text-transform: uppercase;
}
.article--content h5 {
  margin: 20rem 0 10rem;
  font-weight: 700;
  color: #6d8499;
  text-transform: uppercase;
}
.article--content h6 {
  margin: 0 0 10rem;
  font-size: 0.8em;
  font-weight: 700;
  color: #6d8499;
}
.article--content p {
  margin: 10rem 0rem;
}
.article--content ul {
  margin: 20rem 15rem;
}
.article--content ul li {
  margin: 0 0 5rem 5rem;
  list-style-type: circle;
}
.article--content p a {
  color: #006e93;
}
.article--content strong {
  font-weight: 700;
}
.article--content em {
  font-style: italic;
}
.article--content code {
  padding: 10rem;
  border-radius: 5rem;
  background-color: #c2d6e9;
  font-family: "Courier New", Courier, monospace;
  font-size: 18rem;
}
.article--content .wp-block-button.is-style-outline--1 a {
  display: inline-block;
  padding: 10rem 30rem;
  background-color: #3b725b;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 16rem;
  color: white;
  text-decoration: none;
  border-radius: 0;
  cursor: pointer;
  background-color: transparent;
  color: #3b725b;
  border: 2rem solid currentColor;
}
.article--content .wp-block-button.is-style-outline--1 a .material-symbols-outlined {
  vertical-align: top;
  font-size: 20rem;
  display: inline-block;
  rotate: -30deg;
}
.article--content .wp-block-button__link {
  display: inline-block;
  padding: 10rem 30rem;
  background-color: #3b725b;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 16rem;
  color: white;
  text-decoration: none;
  border-radius: 0;
  cursor: pointer;
}
.article--content .wp-block-button__link .material-symbols-outlined {
  vertical-align: top;
  font-size: 20rem;
  display: inline-block;
  rotate: -30deg;
}

.btn {
  display: inline-block;
  padding: 10rem 30rem;
  background-color: #3b725b;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 16rem;
  color: white;
  text-decoration: none;
  border-radius: 0;
  cursor: pointer;
}
.btn .material-symbols-outlined {
  vertical-align: top;
  font-size: 20rem;
  display: inline-block;
  rotate: -30deg;
}
.btn.outline {
  display: inline-block;
  padding: 10rem 30rem;
  background-color: #3b725b;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 16rem;
  color: white;
  text-decoration: none;
  border-radius: 0;
  cursor: pointer;
  background-color: transparent;
  color: #3b725b;
  border: 2rem solid currentColor;
}
.btn.outline .material-symbols-outlined {
  vertical-align: top;
  font-size: 20rem;
  display: inline-block;
  rotate: -30deg;
}

a {
  color: inherit;
  text-decoration: underline;
}

em {
  font-style: italic;
}

img {
  max-width: 100%;
}

p {
  margin: 20rem 0;
}

/*
.site-header {
	width: 100%;
	height: var(--header-height);
	background-color: white;

	&--wrap {
		width: var(--site-width);
		margin: 0 auto 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	&.is-sticky {
		width: calc(100% - 0rem);
		padding: 5rem 20rem;
		background-color: white;
		color: white;
		box-shadow: 0 10rem 20rem white;

		// Logo
		.site-header {

			&--logo {
				span {
					font-size: 14rem;
					color: rgb(0, 0, 0);
				}

				img {
					width: 100rem;
					// filter: invert(100%);
				}
			}
		}

		// Nav lang
		.nav-lang a {
			color: black;
			// border: 1px solid #fff;
		}

		.nav-lang a.current {
			color: white;
		}

	}

	.logo {
		width: 100rem;
		text-decoration: none;

		img {
			display: block;
			width: 100%;
		}
	}

	.cta {
		scale: 0;
		border-radius: 0;
	}

}
*/
.site-header {
  width: 100%;
  height: var(--header-height);
  padding: 0 30rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: black;
  border-bottom: 5px solid rgb(130, 210, 224);
  background-color: rgb(26, 70, 110);
  color: white;
  transition: 0.3s;
}
.site-header .cta {
  translate: 0 -200%;
}
.site-header--logo {
  width: fit-content;
  display: flex;
  align-items: center;
  text-decoration: none;
}
.site-header--logo img {
  display: block;
  width: 100rem;
  width: 50rem;
  margin: 0 auto 0rem;
  filter: invert(1);
  transition: 0.3s;
}
.site-header--logo span {
  margin-left: 20rem;
  font-size: 50rem;
  font-weight: 900;
  text-transform: uppercase;
  font-family: "Inter";
  line-height: 1;
  text-shadow: 0 0 10rem aqua;
  transition: 0.3s;
}
.site-header.sticky {
  --header-height: 50rem;
  border-width: 0;
}
.site-header.sticky .site-header--logo span {
  font-size: 20rem;
}
.site-header.sticky .site-header--logo img {
  width: 50rem;
}
.site-header.sticky .cta {
  height: var(--header-height);
  padding: 2rem 30rem;
  line-height: 1;
  translate: 0 0%;
}
.site-header.sticky .nav-lang a {
  color: black;
}
.site-header.sticky .nav-lang a.current {
  color: white;
}
.site-header::before {
  display: block;
  width: 400rem;
  height: 300rem;
  position: absolute;
  top: -100rem;
  left: 50%;
  translate: -50% 0;
  background-color: black;
  transform: skewX(-10deg);
  z-index: -1;
}

.site-footer {
  font-size: 14rem;
  text-align: center;
  color: black;
}
.site-footer li {
  margin-bottom: 0rem;
}
.site-footer li a {
  color: black;
  text-decoration: underline;
}
.site-footer--logo {
  display: block;
  width: 100rem;
  margin: 20rem auto 0;
}
.site-footer--logo img {
  display: block;
  width: 100%;
}

.hero {
  position: relative;
  width: 100%;
  height: 400rem;
  background-color: black;
}
.hero--content {
  position: absolute;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  color: white;
  width: 1130rem;
}
.hero--content h1 {
  font-size: 60rem;
  line-height: 1.1;
  margin-bottom: 10rem;
  text-shadow: 0 0 5rem rgba(0, 0, 0, 0.5098039216);
}
.hero--content > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero--content p {
  font-size: 20rem;
  width: fit-content;
  text-shadow: 0 0 5rem black;
}
.hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(50%);
}
.hero.category {
  height: 300rem;
}

.datacours {
  padding: 5rem 5rem;
  background-color: black;
  color: white;
  width: fit-content;
  border-radius: 5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20rem;
}
.datacours--key {
  font-size: 16rem;
  text-transform: uppercase;
  padding-left: 5rem;
}
.datacours--val {
  font-size: 24rem;
  padding: 0rem 8rem;
  border-radius: 4rem;
  background-color: white;
  color: #006e93;
}

.cta {
  padding: 10rem 30rem;
  border-radius: 5rem;
  background-color: white;
  font-size: 26rem;
  font-weight: 600;
  color: #6d8499;
  text-decoration: none;
  transition: 0.2s;
}
.cta span {
  display: block;
  font-size: 0.7em;
}
.cta span.record::before {
  --size: 10rem;
  content: "";
  margin-right: 10rem;
  display: inline-block;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  vertical-align: middle;
  background-color: red;
  animation: record 1s infinite;
}
@keyframes record {
  80% {
    scale: 1;
  }
  100% {
    scale: 0;
  }
}

.sommaire1 {
  padding: 30rem;
  margin-top: 50rem;
}
.sommaire1 a {
  position: relative;
  display: block;
  padding: 10rem 50rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
}
.sommaire1 a em {
  display: block;
  font-size: 0.8em;
  font-style: normal;
  margin-left: 5rem;
  text-transform: none;
  color: #575757;
}
.sommaire1 a::before {
  --size: 30rem;
  content: "";
  margin-right: 10rem;
  position: absolute;
  left: -10rem;
  display: inline-block;
  width: var(--size);
  height: var(--size);
  outline: thick solid #32a1ce;
  border: 1rem solid black;
  border-radius: 50%;
  vertical-align: middle;
  transition: all 0.2s, margin-right 0.2s;
  outline-offset: 2px;
}
.sommaire1 a:hover::before {
  background-color: #6d8499;
  border-color: #6d8499;
  scale: 0.5;
  margin-right: 30rem;
  outline-offset: 15px;
}

section.plan {
  width: var(--site-width);
  margin: auto;
}

.subcat--wrap {
  width: var(--site-width);
  margin: auto;
  display: flex;
  gap: 50rem;
}
.subcat.parent-cat .subcat--left, .subcat.parent-cat .subcat--right {
  width: 50%;
}
.subcat.child-cat .subcat--left {
  width: 30%;
}
.subcat.child-cat .subcat--right {
  width: 70%;
}
.subcat--datacours {
  display: flex;
  gap: 20rem;
}
.subcat .sommaire2 {
  position: sticky;
  top: var(--header-height);
  margin-top: 20rem;
  height: calc(100vh - var(--header-height));
  overflow-y: scroll;
  overflow-x: visible;
  padding-left: 25rem;
  padding-right: 5rem;
}
.subcat .slide--title {
  padding-top: calc(var(--header-height) + 50rem);
}
.subcat .slide:first-of-type h2 {
  padding-top: 50rem;
}

.sommaire2 a {
  text-decoration: none;
}
.sommaire2 > li {
  position: relative;
  margin-bottom: 30rem;
}
.sommaire2 > li .fold {
  cursor: pointer;
}
.sommaire2 > li button {
  rotate: -90deg;
  width: 40rem;
  height: 40rem;
  display: block;
  background-color: #006e93;
  border-radius: 50%;
  position: absolute;
  top: 4rem;
  left: -20rem;
  font-size: 24rem;
  color: white;
  line-height: 1;
  transition: 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-indent: 8rem;
}
.sommaire2 > li button:hover {
  scale: 1.2;
  background-color: #6d8499;
}
.sommaire2 > li > a,
.sommaire2 > li > span {
  display: inline-block;
  background-color: #c2d6e9;
  padding: 10rem 40rem;
  font-weight: 700;
  width: 100%;
  border-radius: 5rem;
}
.sommaire2 > li > a:hover::before,
.sommaire2 > li > span:hover::before {
  border-color: #6d8499;
  scale: 0.5;
  margin-right: 30rem;
  outline-offset: 6px;
}
.sommaire2 > li.closed button.fold {
  rotate: 90deg;
}
.sommaire2 > li.closed ol {
  max-height: 0;
}
.sommaire2 > li ol {
  max-height: 500rem;
  overflow: hidden;
  transition: all 0.3s;
}
.sommaire2 > li > ol > li {
  list-style-type: circle;
}
.sommaire2 > li > ol > li > a {
  display: block;
  font-size: 16rem;
  padding: 5rem 40rem;
}

.school-intro--wrap {
  width: var(--site-width);
  margin: auto;
  display: flex;
  gap: 100rem;
}
.school-intro--left {
  width: 50%;
}
.school-intro--right {
  width: 50%;
}
.school-intro h1,
.school-intro h2 {
  font-family: "Inter";
  font-weight: 700;
}
.school-intro h1 {
  font-size: 70rem;
}
.school-intro h1 span {
  display: block;
  font-size: 0.4em;
}
.school-intro h2 {
  font-size: 34rem;
  margin: 40rem 0 20rem;
}
.school-intro p {
  margin: 15rem 0;
}
.school-intro figure img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  scale: 0.8;
}
.school-intro--right {
  width: 50%;
}

.slide--title {
  font-family: "Inter";
  font-size: 60rem;
  margin-bottom: 50rem;
  color: #006e93;
  line-height: 1;
}
.slide--title::after {
  content: "";
  display: block;
  height: 5rem;
  width: 100rem;
  margin-top: 30rem;
  background-color: #006e93;
}
.slide--content h1 {
  margin: 0 0 40rem;
  font-size: 80rem;
  font-family: "Inter";
  font-weight: 200;
  color: #006e93;
}
.slide--content h2 {
  margin: 100rem 0 20rem;
  font-size: 50rem;
  font-family: "Inter";
  font-weight: 700;
}
.slide--content h3 {
  margin: 60rem 0 10rem;
  font-size: 30rem;
  font-weight: 700;
  color: #6d8499;
}
.slide--content h4 {
  margin: 30rem 0 10rem;
  font-size: 20rem;
  font-weight: 700;
  color: #6d8499;
  text-transform: uppercase;
}
.slide--content h5 {
  margin: 20rem 0 10rem;
  font-weight: 700;
  color: #6d8499;
  text-transform: uppercase;
}
.slide--content h6 {
  margin: 0 0 10rem;
  font-size: 0.8em;
  font-weight: 700;
  color: #6d8499;
}
.slide--content p {
  margin: 10rem 0rem;
}
.slide--content ul {
  margin: 20rem 15rem;
}
.slide--content ul li {
  margin: 0 0 5rem 5rem;
  list-style-type: circle;
}
.slide--content p a {
  color: #006e93;
}
.slide--content strong {
  font-weight: 700;
}
.slide--content em {
  font-style: italic;
}
.slide--content code {
  padding: 10rem;
  border-radius: 5rem;
  background-color: #c2d6e9;
  font-family: "Courier New", Courier, monospace;
  font-size: 18rem;
}
.slide--content .wp-block-button.is-style-outline--1 a {
  display: inline-block;
  padding: 10rem 30rem;
  background-color: #3b725b;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 16rem;
  color: white;
  text-decoration: none;
  border-radius: 0;
  cursor: pointer;
  background-color: transparent;
  color: #3b725b;
  border: 2rem solid currentColor;
}
.slide--content .wp-block-button.is-style-outline--1 a .material-symbols-outlined {
  vertical-align: top;
  font-size: 20rem;
  display: inline-block;
  rotate: -30deg;
}
.slide--content .wp-block-button__link {
  display: inline-block;
  padding: 10rem 30rem;
  background-color: #3b725b;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 16rem;
  color: white;
  text-decoration: none;
  border-radius: 0;
  cursor: pointer;
}
.slide--content .wp-block-button__link .material-symbols-outlined {
  vertical-align: top;
  font-size: 20rem;
  display: inline-block;
  rotate: -30deg;
}
.slide--content .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow {
  flex-basis: 100% !important;
}

.burger {
  display: none;
}

@media screen and (max-width: 1200px) {
  html {
    font-size: 0.053vw;
  }
}
@media screen and (min-width: 720px) and (max-width: 1000px) {
  html {
    font-size: 0.09vw;
  }
}
@media screen and (max-width: 719px) {
  html {
    font-size: 0.25vw;
  }
  .burger {
    display: block;
    position: absolute;
    top: 50%;
    right: 10rem;
    translate: 0 -50%;
    width: 50rem;
    height: 60rem;
    background-color: transparent;
    border: none;
    cursor: pointer;
  }
  .burger.is-open span {
    height: 1rem;
  }
  .burger.is-open span:nth-child(1) {
    rotate: 45deg;
  }
  .burger.is-open span:nth-child(2) {
    translate: 0rem 20rem;
    rotate: -45deg;
  }
  .burger.is-open span:nth-child(3) {
    opacity: 0;
    translate: -100rem 0rem;
  }
  .burger span {
    display: block;
    height: 5rem;
    margin-bottom: 7rem;
    background-color: white;
    transition: all 0.5s;
    transform-origin: 0 50%;
  }
  .burger span:last-child {
    width: 85%;
  }
  .site-header {
    justify-content: center;
  }
  .site-header.is-open .site-header--logo img {
    translate: 0 60rem;
  }
  .site-header.is-open .site-header--logo span {
    opacity: 0;
    translate: 100rem 0;
  }
  .site-header--logo {
    width: 150rem;
    font-size: 12rem;
    opacity: 1;
  }
  .site-header--logo * {
    transition: all 0.3s;
  }
  .site-header--logo img {
    width: 70%;
  }
  .site-header .light {
    left: -5.8%;
  }
  .site-nav {
    position: absolute;
    top: 50%;
    left: 10rem;
    translate: -100% -50%;
    opacity: 0;
    transition: all 0.5s 0.5s;
  }
  .site-nav.is-open {
    translate: 0 -50%;
    opacity: 1;
    transition: all 0.5s 0s;
  }
  .site-nav.is-open a {
    padding-top: 10rem;
    padding-bottom: 10rem;
    transition: padding 0.3s 0.5s;
  }
  .site-nav a {
    margin: 0 0;
    padding: 0 15rem;
    font-size: 14rem;
    transition: padding 0.3s 0s;
  }
  .site-nav a::before {
    left: 0;
    width: 0;
    font-size: 8rem;
    text-align: left;
  }
  .site-footer li {
    margin-bottom: 5rem;
  }
}/*# sourceMappingURL=style.css.map */