@font-face {
	font-family: 'Inter';
	src: url('../fonts/Inter/Inter-VariableFont_opsz,wght.ttf') format('truetype');
	font-weight: 1 999;
	font-display: swap;
}

@font-face {
	font-family: 'Caveat';
	src: url('../fonts/Caveat/Caveat-VariableFont_wght.ttf') format('truetype');
	font-weight: 1 999;
	font-display: swap;
}

* {
	font-family: 'Inter';
    --color-focus: #EE1082;
	--color-error: red;
	--color-warning: orange;
	--color-success: #4CAF50;
	--page-padding-x: 2.4rem;
}

strong {
    font-weight: 600;
}

ul#notifications {
    padding-left: var(--padding-x);
    padding-right: var(--padding-x);
}

body {
	font-style: normal;
	font-weight: 400;
	font-size: 1.8rem;
	line-height: 2.4rem;
	color: #1B2023;
}


#main {
	padding-bottom: 6rem;
}


h1, .h1 {
    color: #1B2023;
    font-weight: 800;
	font-size: 4.1rem;
	line-height: 4.4rem;
	letter-spacing: -0.2rem;
}

h2, .h2 {
	font-weight: 600;
	font-size: 5rem;
	line-height: 6rem;
	letter-spacing: -0.1rem;
}

h3, .h3 {
	font-weight: 600;
	font-size: 3.2rem;
	line-height: 5rem;
	letter-spacing: -0.1rem;
}

h4, .h4 {
    font-size: 1.8rem;
    line-height: 2.4rem;
    font-weight: bold;
    letter-spacing: normal;
}

h2, h3, h4, h5, h6 {
	margin-bottom: 2.4rem;
}

h3 {
    line-height: 3.2rem;
}

:is(button, [class*=btn]):not(.default) {
	display: inline-block;
	line-height: 2.4rem;
    text-decoration: none;
    font-weight: 600;
    font-size: 2rem;
	border-radius: 1.6rem;
	--padding-x: 2.4rem;
	--padding-y: 1.4rem;
	/* box-shadow: 0 0.1rem 1rem rgba(0, 0, 0, 0.09); */
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
	transition: color  0.3s ease, background-color  0.3s ease, box-shadow 0.3s ease;
}

:is(button, [class*=btn]):is(:hover, :active, :focus-visible), a:is(:hover, :focus-visible) [class*=btn] {
	background-color: var(--color-focus, red);
	color: var(--color-text-focus, white);
	box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.3);
	outline: none;
}

.btn {
	background-color: #1B2023;
	color: white;
	--color-text-focus: white;
	--color-focus: #EE1082;
    cursor: pointer;
}


.btn-primary {
    background-color: #EE1082;
    --color-focus: rgb(27, 32, 35);
    color: white;
}

.btn-light {
	background-color: white;
	--color-focus: #EE1082;
    color: #1B2023;
    --color-text-focus: white;
    /* cursor: help; */
}

.btn-light.cursor-help {
	--color-focus: white;
    --color-text-focus: #EE1082;
    /* cursor: help; */
}

.cursor-help {
	cursor: help;
}

a.btn-article {
	--color-focus: #EE1082;
    --color-text-focus: white;
}

/*
* {
    --color-focus: #FF8AA8 !important;
}
*/

a:not([class*=btn]) {
    --color-focus: #EE1082;
    --color-text-focus: white;
}

/*
#footer * {
    --color-focus: #ffffff;
}

#footer .contact-block *:not(.btn), #newsletter-suscribe *:not(.btn) {
    --color-focus: rgb(27, 32, 35);
}
*/

#footer .btn {
    --color-text-focus: white;
    --color-focus: #EE1082;
}


.suscribe .btn {
	--color-text-focus: black;
	--color-focus: white;
}

.highlight {
    font-weight: bold;
    margin-right: 6px;
}

strong {
	color: #EE1082;
}

.underlined {
    position: relative;
    display: inline-block;
}

.underlined:after {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 1.2rem;
    top: 1.1em;
    background: no-repeat url("../img/underline.svg");
    background-size: cover;
}
/*
#header {
	background: no-repeat url("../img/header.svg");
    background-size: 100%;
    background-position: top;
	--padding-y: 1.2rem;
    height: 66vw;
    max-height: 1106px;
}

#index #header {
    min-height: 80.5rem;

}*/

#main h2 {
    margin-top: 8rem;
}

#page {
	position: relative;
}


#page::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 38vw;
    background: no-repeat url(../img/header.svg);
    background: no-repeat linear-gradient(to bottom, transparent, white), url(../img/header.svg);
    background-size: 100%;
    background-position: top;
    z-index: -1;
}


#page-special #main-container {
    /* background: white; */
}


#klaro {
    position: fixed;
    z-index: 10;
}

.klaro .cookie-notice:not(.cookie-modal-notice) {
	width: calc(100vw - 44px) !important;
    margin-right: 44px;
    max-width: 400px;
    left: 0;
    box-shadow: 0 0px 6px 4px rgba(0, 0, 0, .2), 5px 5px 10px 0 rgba(0, 0, 0, .19);
    border-radius: 4px !important;
}

h2#id-cookie-title {
    font-size: 24px;
    margin: 10px  0;
    line-height: 32px;
    text-align: center;
}

a, a.link {
	color: #1B2023;
	font-weight: 600;
}

a.anchor {
    text-decoration: none;
    font-size: .8em;
    /* vertical-align: top; */
    padding-left: .1em;
    color: gray;
}

a.logo>img {
    width: 13.7rem;
}

a.logo {
    display: inline-flex;
    margin-right: 1.5rem;
}

#header {
    margin-top: 3.2rem;
    margin-bottom: 7rem;
}

#header h1 {
    text-transform: uppercase;
    --margin-y: 4.8rem;
}

.by {
	font-family: Caveat;
	font-size: 3.8rem;
}

.dr {
    display: inline-block;
    font-family: Inter;
    font-size: 2.8rem;
    font-weight: 600;
    letter-spacing: -0.1rem;
    line-height: 5.5rem;
    color: #1B2023;
    background: #FFFFFF;
    box-shadow: 0 0.1rem 1rem rgba(0, 0, 0, 0.09);
    border-radius: 1.6rem;
    --padding-y: 0;
    --padding-x: 1.6rem;
}



.a-la-une::before, .a-la-une::after {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
}

.a-la-une::before {
	
	background: no-repeat url(../img/description-mobile.webp);
	background-size: cover;
	box-shadow: inset 0px -213px 70.4px 20px rgba(0, 0, 0, 0.35);
}

.a-la-une::after {
	background: linear-gradient(251.5deg, rgba(0, 0, 0, 0) 36.83%, rgba(0, 0, 0, 0.4) 78.48%), rgba(0, 0, 0, 0.3);
}


.a-la-une {
    height: 56.2rem;
	position: relative;
    border-radius: 3.5rem;
    overflow: hidden;
    color: white;
    
	display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding-bottom: 40px;
    max-width: 1209px;
    
	margin-left: auto;
    margin-right: auto;
}

.a-la-une .container {
	padding-left: 40px;
	padding-right: 40px;
	width: 70%;
    z-index: 1;
    /* position: relative; */
}

.a-la-une .container h2 {
	font-size: 44px;
	font-style: normal;
	font-weight: 800;
	line-height: 42.8px; /* 70% */
	letter-spacing: -0.56px;
	text-transform: uppercase;
	margin-bottom: 24px;
}

#category-blog-9 h2 {
    margin-top: 12px;
}

.a-la-une .container :is(a, p) {
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: -0.56px;
  color: white;
}

.category-blog .a-la-une::before {
    background: no-repeat url(../img/blog/a-la-une.png);
}

a.a-la-une {
    text-decoration: none;
}

a.a-la-une .link {
    text-decoration: underline;
}

.a-la-une .tags {.modalites_pedagogiques
    position: absolute;
    top: 2.4rem;
}

.a-la-une .tags > span.type-tag {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
    background-color: #ee1484;
    color: white;
}






#satisfaction [aria-labelledby="score-label"] {
	font-family: Inter;
	font-style: normal;
	font-weight: 700;
	font-size: 6rem;
	line-height: 6rem;
	letter-spacing: -0.1rem;
	color: #EE1082;
	display: block;
}

#satisfaction [aria-labelledby="score-label"]::after {
	content: '';
    display: inline-block;
    background: no-repeat url(../img/score-after.webp);
    background-size: cover;
    width: 15.5rem;
    height: 6rem;
    vertical-align: bottom;
}

#satisfaction #score-label {
	font-weight: 600;
	font-size: 3.2rem;
	line-height: 3.9rem;
	letter-spacing: -0.1rem;
	color: #1B2023;
}

.subtitle {
	font-size: 27px;
	font-style: normal;
	font-weight: 600;
	line-height: 3.86rem;
	letter-spacing: -0.56px;
}

.review {
    --padding-x: 2rem;
    --margin-y: 2.4rem;
    padding-bottom: 10rem;
    position: relative;
    min-width: 30rem;
}

.review::before {
	content: '';
	display: block;
	background: no-repeat url("../img/stars.svg");
	background-size: cover;
    width: 8rem;
    height: 1.3rem;
}

.review .message {
    --margin-y: 1.6rem;
    text-align: left;
}

.review .author {
    position: absolute;
    bottom: 0;
    text-align: left;
}

.review .author > span {
    display: block;
}

.review .author > img {
	box-sizing: border-box;
	width: 44px;
	height: 44px;
	border: 3px solid #FFFFFF;
	filter: drop-shadow(0px 3px 4px rgba(0, 0, 0, 0.14));
	border-radius: 6000px;
}

.review .author .name {
	font-family: Caveat;
    font-size: 2.2rem;
}

.review .author .location {
    font-size: 1.3rem;
}


.animated-illustration {
	position: relative;
    padding-bottom: 20rem;
}

@keyframes translateinfinite {
	100% { transform:translateX(calc(-500vw));  }
}

.animated-illustration::after {
	content: '';
    display: block;
    background: url(../img/bandeau-trainings.svg);
    height: 7.7rem;
    rotate: -1.67deg;
    margin-left: -100%;
    width: 1000% ;
	animation:translateinfinite 60s linear infinite;
	z-index: -1;
    position: absolute;
    bottom: calc(10vw + 1rem);
}

[class*=-tag] {
    background: #FFFFFF;
    box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.09);
    border-radius: 0.8rem;
    display: inline-block;
    color: #1B2023;
    padding: 0.5rem 0.8rem;
    margin-left: 0.6rem;
    margin-top: 0.6rem;
	font-size: 13px;
	font-style: normal;
	font-weight: 600;
	line-height: 18px;
}

.main-tag::before {
    content: '';
    display: inline-block;
    background-color: #ee1182;
    width: .6rem;
    height: .6rem;
    border-radius: 10rem;
    vertical-align: middle;
    margin-right: 0.6rem;
    position: relative;
    top: -1px;
}

.cycle-header {
    position: relative;
}

.tag.period {
    font-weight: 400;
    font-size: 2rem;
    line-height: 4.7rem;
    vertical-align: middle;
    color: #1B2023;
    --padding-x: 1.6rem;
    display: inline-block;
}

.tag.period .year {
	font-weight: bold;
}

.top-trainings {
    gap: 2.4rem;
}

.modules, .grid-cards, .top-trainings {
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
    margin-top: 3.2rem;
}

.module, .grid-cards>a, .top-trainings > a {
	height: 32rem;
	color: white;
	border-radius: 2.2rem;
	overflow: hidden;
	position: relative;
	cursor: pointer;
	display: block;
	max-width: 28.7rem;
	margin-bottom: 2.4rem;
}


.module > *, .grid-cards>a > *, .top-trainings > a > * {
	position: relative;
	z-index: 2;
}

.module::before, .grid-cards>a::before, .top-trainings > a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%);
	box-shadow: 0px -193px 74px 0px rgba(0, 0, 0, 0.35) inset;
	z-index: 1; /* Places overlay above the image but below text */
}


.module::after, .grid-cards>a::after {
	content: '';
    background: no-repeat center url(../img/icons/eye.svg);
    background-position-y: 45%;
    height: 3.2rem;
    position: absolute;
    z-index: 2;
    width: 100%;
    bottom: 3.2rem;
    display: block;
}

.module .tags, .grid-cards>a .tags, .top-trainings>a .tags {
    width: 100%;
    padding: 1rem;
    display: block;
    position: absolute;
    top: 0;
}

.content_module, .grid-cards>a .content_training, .content_top_training {
    text-align: center;
    width: 100%;
    bottom: 7rem;
    position: absolute;
    padding: 12px;
}

.content_top_training {
    bottom: 17rem;
}

.content_top_training>span, .content_module>span, .content_training>span {
    display: block;
}

span.advanced.title {
    font-size: 26px;
    line-height: 30px;
}

span.period {
    font-size: 14px;
}

#formations {
    margin-bottom: 32px;
}

.content_top_training {
    bottom: 22rem;
}

.content_top_training .title {
    font-size: 48px;
    line-height: 44px !important;
    margin-bottom: 1.6rem;
    letter-spacing: -0.56px;
    font-weight: 800;
    text-transform: uppercase;
}

#category-formations-avancees-6 .presentiel.type-tag {
    margin-left: 0.6rem;
}
.top-trainings>a {
    text-decoration: none;
    min-width: 38rem;
}

.content_top_training .period {
    font-size: 1.4rem;
    line-height: 2rem;
}

.modules, .grid-cards, .top-trainings {
     transform: translate(0, 0);	/* SAFARI animation Fix : https://github.com/animate-css/animate.css/issues/488 */
}

.module img, .grid-cards>a img, .top-trainings>a img {
    top: 0;
    left: 0;
    z-index: -1;
    width: auto;
/*    max-height: 32rem;*/
    max-height: 100%;
    height: 100%;
}

.prerequis {
    font-size: 1.6rem;
}

.modalites_pedagogiques {
    margin-bottom: 2.4rem;
}
}

.speakers {
    --margin-y: 3.2rem;
}

.main-doctors {
	display: flex;
	justify-content: space-between;
	gap: 3.2rem;
    background: no-repeat center top url(../img/main-doctors.png);
    background-size: contain;
    padding-top: 75vw;
	margin-bottom: 5rem;
}

.main-doctors>div {
    width: 100%;
}

.suscribe {
    --padding-x: 6rem;
    --padding-y: 6rem;
    background: #EE1082;
    color: white;
    border-radius: 2.8rem;
}

.suscribe::before {
    content: '';
    display: block;
    width: 74vw;
    height: 53vw;
    max-width: 52.4rem;
    max-height: 37.3rem;
    background: url(../img/suscribe.webp);
    background-position: center center;
    margin-left: auto;
    margin-right: auto;
    border-radius: 2.8rem;
    margin-bottom: 3rem;
}

.articles a.btn-light:not(:hover), .articles a.btn-article {
    box-shadow: 0px 4px 12px rgb(0 0 0 / 10%);
    border-radius: 16px;
}

.articles .list {
    /* display: grid; */
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2rem;
    --margin-y: 3.2rem;
    min-height: 54rem;
    display: block;
}

body.category-blog .articles .list > div {
    display: inline-block;
    margin-right: 2rem;
    margin-bottom: 3rem;
    float: left;
}

.articles .list .controls {
    bottom: 11rem;
}

.articles .list .viewport {
    width: 100%;
}

.articles .list .viewport > div, body.category-blog .articles .list > div {
    max-width: 35rem;
}

a.btn-article {
    height: 510px;
    padding: 2rem;
    width: 100%;
    position: relative;
	min-width: 296px;
}

a.btn-article>img {
    height: auto;
    width: 100%;
    max-width: 346px;
    max-height: 200px;
    object-fit: cover;
    border-radius: 16px 16px 0px 0px;
}


a.btn-article > span {
    display: block;
    font-weight: normal;
    font-size: 1.8rem;
}

a.btn-article > span.title {
    font-weight: bold;
    --margin-y: 1.2rem;
}

a.btn-article > span.read-more {
    position: absolute;
    bottom: 3.2rem;
    text-decoration: underline;
}

a.btn-article:not(:hover):not(:focus) > span.read-more {
	color: #EE1082;
}


.article-cartouche-header .infos h1 {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 800;
    font-size: 6.5rem;
    line-height: 5.9rem;
    padding-left: 4.8rem;
    letter-spacing: -0.24rem;
    text-wrap: balance;
}

.article-cartouche-header {
  margin-bottom: 6.4rem;
}

img.article-thumb {
    max-height: 43.7rem;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
    object-fit: cover;
    border-radius: 24px;
}


.article .content {
    font-weight: 400;
    font-size: 22px;
    line-height: 40px;
}

.article .content :is(h1, h2, h3) {
    margin-bottom: 3.2rem;
}

.article .content > * {
    margin-bottom: 2.4rem;
}

.article h4 {
    font-size: 32px;
    line-height: 42px;
    margin-bottom: 24px !important;
    margin-top: 8rem;
}

.article p, .article .content {
    font-size: 20px;
    line-height: 34px;
    text-wrap: balance;
}

@media (max-width: 537px) {

	img.article-thumb {
		width: 50vw;
	}
}


.article-cartouche-header .infos {
	margin-top: auto;
	margin-bottom: auto;
}
.summary > a {
  display: block;
  border-top: solid 1px #424E570F;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-size: 17px;
  line-height: 24px;
  text-decoration: none;
}
.summary > a:first-child {
  border-top: none;
}

.summary {
    padding: 24px 0;
}

.summary a {
    border-left: solid 5px transparent;
    padding: 12px 24px;
}

/* .summary a:is(:local-link, .local-link) { */
.summary a.is-active {
    font-weight: bold;
    border-left: solid 5px pink;
}

h1.faq-title {
    font-weight: 800;
    font-size: 60px;
    line-height: 76px;
    letter-spacing: -0.32rem;
}

.page-faq .subtitle {
    margin-top: 4rem;
}

.faq-container {
    margin-top: 6.4rem;
}

.faq-contact {
    padding-bottom: 4rem;
}

.prerequis {
    font-size: 1.6rem;
}

.modalites_pedagogiques {
    margin-bottom: 2.4rem;
}


#faq .other-questions {
	font-weight: 600;
	font-size: 3.5rem;
	line-height: 4.2rem;
	letter-spacing: -0.07rem;
}

.question {
    border: 1px solid rgba(27, 32, 35, 0.2);
    border-radius: 22px;
    --padding-x: 2.4rem;
    margin-bottom: 1.2rem;
    line-height: 2.8rem;
	position: relative;
    padding-top: 6.4rem;
    background-color: white;
}

.question h3 {
	font-style: normal;
	font-weight: 600;
	font-size: 2rem;
	line-height: 2.4rem;
	margin-bottom: 1.6rem;
}

.question>h3:first-child {
    position: absolute;
    margin-bottom: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 6.4rem;
    line-height: 2.4rem;
    --padding-x: 2.4rem;
}

.question [aria-expanded="true"] {
	color: #EE1082;
}

.question>h3:first-child>span {
    padding-right: 4.4rem;
    height: 6.4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}


.question>div>*:last-child {
    padding-bottom: 2.4rem;
}

.question p {
	margin-bottom: 20px;
}

.question > h3 > span {
    display: block;
    position: relative;
    cursor: pointer;
}

.question > h3 > span[aria-controls]::before, .question > h3 > span[aria-controls]::after {
	position: absolute;
	top: 2rem;
	right: 2.4rem;
	content: ' ';
	height: 2.4rem;
	width: .15rem;
	background-color: #333;
	transition: transform 0.5s ease;
}
.question > h3 > span[aria-controls]::before {
	rotate: 90deg;
}
.question > h3 > span[aria-controls][aria-expanded="true"]::before, .question > h3 > span[aria-controls][aria-expanded="true"]::after {
	transform: rotate(45deg);
	background-color: #EE1082; 
}



.question h4 {
    font-weight: 600;
}

.tag_launched {
    border-radius: 6px;
    background: #EE1082;
    display: flex;
    padding: 6px 8px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    position: absolute;
    left: 0px;
    top: -29.5px;
    color: #FFF;
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
    line-height: 12px;
    letter-spacing: 0;
}

.cycle-header.resume .btn {
    position: relative;
    top: 0;
    right: 0;
}

.small_subtitle {
    font-size: 13px;
    letter-spacing: 0;
    font-weight: 600;
    text-align: right;
    line-height: 13px;
}

.actions_bottom {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 24px;
}

.margin_bottom {
    margin-bottom: 32px;
}

.dr img {
    width: 240px;
}



#doctors > div.controls > button {
    top: 20rem;
}

#doctors .dr_name {
    font-size: 24px;
    line-height: 24px;
}

#doctors .bio {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    margin-top: 8px;
    letter-spacing: 0;
    display: none;
}

#doctors {
    min-height: 38rem; /* 48rem; */
}

.doctor {
/*    --padding-x: 2rem;*/
    --margin-y: 2.4rem;
/*    padding-bottom: 10rem;*/
    position: relative;
    min-width: 30rem;
}

#doctors .dr {
    box-shadow: none;
}

.session_detail li::marker, .modalites_pedagogiques li::marker, li::marker {
  color: #EE1082;
}

.session_detail ul {
  margin-left: 20px;
}

.training_actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    gap: 24px;
}

.session_details {
    display: flex;
    gap: 24px;
}

.session_label {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.label_detail {
    font-size: 14px;
}

.session_detail {
    font-size: 18px;
}

.articles .list.sliders.carousel span.title, .articles .list.sliders.carousel span.description {
    text-align: left;
}

#footer {
    background-color: #242121;
    color: white;
	--padding-y: 2.4rem;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
}

#footer > * {
    padding-left: var(--page-padding-x);
    padding-right: var(--page-padding-x);
}

#newsletter-suscribe {
    position: relative;
    overflow: hidden;
    background-color: #edd0fe;
    --padding-y: 7.8rem;
    gap: 2.4rem;
}

#newsletter-suscribe::after {
	position: absolute;
    content: '';
    height: 200%;
    width: 300px;
    top: 0;
    right: 0;
    background: no-repeat top #ecd0fe url(../img/footer.svg);
    background-size: cover;
    background-position-x: right;
}


form#newsletter-suscribe > * {
    z-index: 1;
    position: relative;
}

form#newsletter-suscribe > p {
    font-size: 21px;
    line-height: 32px;
    color: #1B2023;
    font-weight: 600;
    padding-right: 2rem;
}

form#newsletter-suscribe > button.btn {
    max-width: 14.4rem;
    font-size: 1.6rem;
    border: none;
}

form#newsletter-suscribe > input {
    background: #FFFFFF;
    border: 1px solid #D1D1E8;
    border-radius: 1.6rem;
    padding: 1.6rem 2.4rem;
    font-size: 1.6rem;
    max-width: 33.9rem;
}


.article img {
    max-width: 800px;
    border-radius: 24px;
}

#footer #sitemap {
	padding-top: 6.4rem;
	gap: 4vw;
}

#footer h2 {
	color: rgba(84, 88, 89, 0.6);
	letter-spacing: 0.068rem;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 1.7rem;
	line-height: 2rem;
}

#footer :is(a, a.link, h2, h3, h4):not(.btn, .contact-block *, #newsletter-suscribe *) {
    color: white;
}

ul.trainings_list>li>a, nav#sitemap .trainings a {
    text-decoration: none;
}

.social-networks>a::before {
    content: '';
    display: inline-block;
    width: 2.4rem;
    height: 2.4rem;
    background-size: contain;
    margin-right: 3.2rem;
}

a.linkedin::before {background: no-repeat center url(../img/networks/linkedin.svg);}
a.facebook::before {background: no-repeat center url(../img/networks/facebook.svg);}
a.instagram::before {background: no-repeat center url(../img/networks/instagram.svg);}
a.youtube::before {background: no-repeat center url(../img/networks/youtube.svg);}

#footer a.linkedin::before {background: no-repeat center url(../img/networks/linkedin-white.svg);}
#footer a.facebook::before {background: no-repeat center url(../img/networks/facebook-white.svg);}
#footer a.instagram::before {background: no-repeat center url(../img/networks/instagram-white.svg);}
#footer a.youtube::before {background: no-repeat center url(../img/networks/youtube-white.svg);}


.reinsurance-item {
	background: #FFFFFF;
	border-radius: 22px;
	--padding-x: 24px;
	--padding-y: 24px;
}

/*
button.close {
	background-color: transparent;
	background-image: url(../img/icons/close-modal.svg);
    background-size: cover;
    width: 4.4rem;
    height: 4.4rem;
    position: absolute;
    right: 4rem;
    border: none;
    outline: none;
    border-radius: 3rem;
    box-shadow: none;
    cursor: pointer;
}
*/

button.close {
    width: 4.4rem;
    height: 4.4rem;
    position: absolute;
    right: 4rem;
    border: none;
    border-radius: 3rem;
    background-color: black;
    cursor: pointer;
    text-align: center;
}

button.close::before, button.close::after {
	position: absolute;
	top: 1rem;
    /* right: 2rem; */
    content: ' ';
    height: 2.4rem;
    width: .15rem;
    background-color: white;
    rotate: -45deg;
}
button.close::before {
	rotate: 45deg;
}



dialog:modal[open] {
	position: fixed;
	margin: 0 auto;
	max-width: 100%;
    top: 5%;
    max-height: 90%;
	/* transform: translateY(-50%); */
	background: #FFFFFF;
	border-radius: 2.2rem;
    --padding-x: 4rem;
    --padding-y: 4rem;
    display: flex;
    flex-direction: column;
}

dialog::backdrop {
    background: rgb(0 0 0 / 40%);
    backdrop-filter: blur(1rem);
}

dialog .title {
    font-weight: 600;
    font-size: 5rem;
    line-height: 6rem;
    letter-spacing: -.1rem;
    padding-right: 6.4rem;
}

.dialog-body {
    overflow-y: auto;
}

dialog .pictures {	/* , .training-module-gallery { */
    max-width: 41.8rem;
}

.main-module-picture {
	border-radius: 1.2rem;
}

dialog .pictures img, .training-module-gallery img {
	border-radius: 1.2rem;
    width: calc(50% - 1.3rem);
    margin-right: 1rem;
    margin-top: 1rem;
}

dialog .pictures img:first-child , .training-module-gallery img:first-child {	/* , .training-module-gallery img:first-child {	*/
    width: calc(100% - 1rem);
}

dialog .content {
    max-width: 50rem;
}


.contact-block {
    background: #FFFFFF;
    border-radius: 22px;
    --padding-x: 24px;
    --padding-y: 24px;
}

#quick-nav ul {
    width: 100%;
    padding-left: 4.5rem;
    list-style: none;
	gap: 12px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}


.site-header-with-doctors {
    background: no-repeat left center url(../img/dr_hadi_antoun_dr_zeineb_hamdi.webp);
    padding-left: 50%;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    height: 507px;
    background-size: 540px auto;
}

.site-header-formations-avancees {
    background: no-repeat left center url(../img/formations-avancees-header.png);
    padding-left: 50%;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    height: 507px;
    background-size: 540px auto;
}

.site-header-formations-avancees .title_xl {
    font-size: 7rem;
    line-height: 7.6rem;
}

.training-module h3 {
    font-size: 4rem;
    line-height: 4rem;
    margin-bottom: 1.6rem;
}

.training-module {
    margin-top: 5rem;
}

.training-cartouche-header {
	gap: 4.8rem;
}

.training-cartouche-header .infos {
    --padding-y: 3.2rem;
}

.next-sessions {
    padding: 24px 16px;
    box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.09);
    border-radius: 16px;
    --margin-x: 0;
    background: white;
    --margin-y: 2.2rem;
}

.next-sessions ul {
    margin-bottom: 0;
}

body.type-training .subtitle {
    margin-bottom: 6.4rem;
}

.prerequis {
    font-size: 1.6rem;
    --padding-y: 1.4rem;
    background: #fff8d6;
    border-radius: 12px;
    padding-left: 24px;
    margin-top: 20px;
}

.prerequis:before {
    content: '⚠️';
    margin-right: 8px;
}

.modalites_pedagogiques, .programme_scientifique {
    margin-bottom: 2.4rem;
}

.modalites_pedagogiques ul, .programme_scientifique ul {
    margin-left: 0;
}

.modalites_pedagogiques li, .programme_scientifique li {
    margin-top: 16px;
    margin-bottom: 16px;
}

.programme_scientifique {
    margin-top: 1.4rem;
}

.teacher-cartouche {
	margin-top: 3.2rem;
}


.offre_permanante {
    border: 1px solid rgba(27, 32, 35, 0.2);
    border-radius: 22px;
    background-color: white;
    padding: 3.4rem;
    width: 50%;
    min-width: 35rem;
    margin-bottom: 44px;
}

.offre_permanante ul {
  list-style: none; 
  padding-left: 0; 
  margin-left: 0;
  margin-top: 24px;
}

.offre_permanante li {
  position: relative;
  padding-left: 28px; 
  margin-bottom: 0.5em;
  font-weight: 700;
}

.offre_permanante li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 18px;
  height: 18px;
  background-image: url('../img/check-circle.svg');
  background-size: contain;
  background-repeat: no-repeat;
}

.training_detail_actions {
    display: flex;
    gap:24px;
}

@media (min-width: 1056px) {
    .lg-flex-horizontal {
        gap: 2rem;
    }
    .type-training .lg-flex-horizontal {
        gap: 12rem;
    }
    .training-cartouche-header.lg-flex-horizontal {
        gap: 6rem;
    }
}

.next-sessions>ul>li>div {
    display: inline-block;
}

.next-sessions>ul>li>div:not(:first-child) {
    padding-left: 1.2rem;
}

p.goals {
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 34px;
}

.training-thumb {
    width: 486px;
    height: auto;
    border-radius: 24px;
    max-width: calc(90vw - var(--page-padding-x));
}

.programme_scientifique {
    margin-bottom: 44px;
    line-height: 32px;
    margin-top: 8rem;
}

#satisfaction.large {
    background-color: #FFF3EF;
    --padding-y: 11.2rem;
}


/* CAROUSEL start */

	/*
	[aria-roledescription="carousel"]:focus-within .active {
		box-shadow: 0 0 0 0.4rem var(--color-focus, blue) !important;
	}

	[aria-roledescription="carousel"]:focus-within img.active {
		background-color: var(--color-focus, blue) !important;
	}
	*/

	.sliders[aria-roledescription="carousel"] .viewport::-webkit-scrollbar {
		display: none;
	}

	.sliders[aria-roledescription="carousel"] .viewport {
		-ms-overflow-style: none;  /* Internet Explorer 10+ */
		scrollbar-width: none;  /* Firefox */
	}

	.sliders .viewport {
		position: absolute;
		max-width: 100vw;
		display: flex;
		gap: 1.6rem;
		overflow-x: auto;
		padding-bottom: 2rem;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
	}

	.sliders {
		text-align: center;
		position: relative;
		min-height: 30rem;
		margin-top: 6.4rem;
	}
	
	.gallery-img.sliders {
		min-height: 16rem;
		margin-bottom: 22rem;
	}

	html .sliders button[class] {
		position: absolute;
		z-index: 1;
		top: 10rem;
		border: none;
		border-radius: 8rem;
		height: 8rem;
		width: 8rem;
		cursor: pointer;
	}

	.sliders button.prev {
		left: -6.4rem;
	}

	.sliders button.next {
		right: -6.4rem;
	}

	.gallery-img.sliders .viewport {
		width: 100vw;
		left: calc(-1 * var(--page-padding-x)););
	}

	.viewport:has(:only-child) button {		/* un seul slide */
		display: none;
	}

	@media (min-width: 420px) {
		.sliders:not(:has( .viewport > :nth-last-child(n + 2) )) button {
			display: none;
		}
	}
	@media (min-width: 650px) {
		.sliders:not(:has( .viewport > :nth-last-child(n + 3) )) button {
			display: none;
		}
	}
	@media (min-width: 1300px) {
		.sliders:not(:has( .viewport > :nth-last-child(n + 4) )) button {
			display: none;
		}
	}
	@media (min-width: 1700px) {
		.sliders:not(:has( .viewport > :nth-last-child(n + 5) )) button {
			display: none;
		}
	}
	
	@media (max-width: 800px) {
	
		.sliders button.next {
			right: 0;
		}
		.sliders button.prev {
			left: 0;
		}
		
		.controls {
			bottom: 0px;
			position: absolute;
			width: calc(100vw - 50px);
			left: 0;
			top: unset;
		}
		
		#doctors > div.controls > button {
			top: unset;
		}

		.sliders {
			margin-bottom: 100px;
			position: relative;
		}
				
		
	}
	

/* CAROUSEL end */

.teacher-cartouche .infos > div {
    display: none;
}

@media (min-width: 420px) {
	* {
		--page-padding-x: 14vw;
	}
	
}

@media (min-width: 595px) {		
	.accordion {
		min-width: 53rem;
	}
	/*.question>h3:first-child {
		line-height: 120%;
	}
	.question>h3:first-child>span {
		padding-right: 0;
		padding-top: 0;
	} */
	
	#quick-nav ul {
		padding-left: 0;
	}
		

	
}


@media (min-width: 768px) {

	/*#header {
		min-height: 100rem;
	} */

	.modules, .grid-cards {
		display: grid;
		grid-template-columns: repeat(4, fit-content(27.2rem));
		grid-gap: 2.4rem;
		/* grid-auto-rows: minmax(100px, auto); */
		grid-auto-columns: minmax(auto, 27.2rem);
		margin-bottom: 32px;
/*		max-width: 104rem;*/
/*
		margin-left: auto;
		margin-right: auto;
*/
	}
	
	.grid-cards {
		grid-template-columns: repeat(3, fit-content(37.6rem));
		grid-auto-columns: minmax(auto, 37.6rem);
	}

	.module, .grid-cards>a {
		width: 16.33vw;
		max-width: 27.2rem;
		margin-bottom: 0;
	}

	.grid-cards>a {
		width: 20vw;
		max-width: 28.7rem;
	}

	.module.large, .grid-cards>a.large, .top-trainings>a.large {
		max-width: 56.9rem;
		width: 35.1vw;
	}
	
	.grid-cards>a.large {
	    width: 41.6vw;
		max-width: 59.7rem;
	}
	
	.suscribe {
		display: flex;
		gap: 3rem;
	}
	
	.suscribe::before {

	}
		
}


@media (min-width: 801px) {
	.main-doctors {
		padding-top: 60vw;
	}
	
	#description::before {
		background: no-repeat url("../img/description.webp");
	}
	
    ul#menu-principal {
		width: 70.7vw;
    }
	
}

@media (min-width: 1056px) {

	/* #sitemap>:first-child {padding-right: 10rem;} */

	#sitemap>:last-child {
		padding-left: 10rem;
	}
	
	h1 {
		letter-spacing: -0.48rem;
		line-height: 9.6rem;
		font-size: 10rem;
    }
    
	.other-participants {
		--padding-x: 8.1rem;
		padding-top: 3.2rem;
	}
		
	.speakers h2 {
		margin-top: 10rem;
		margin-bottom: 3.2rem;
	}
	
	.suscribe {
		gap: 6.4rem;
	}
		
	.dialog-body, .training-module-body {
		display: flex;
		gap: 2.2rem;
	}

	.article {
		display: flex;
        gap: 6.4rem;
        flex-direction: row-reverse;
        align-items: stretch;
        position: relative;
	}

	.summary {
		width: 33.6rem;
		background: #FFFFFF;
		box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.05);
		border-radius: 22px;
		padding: 24px;
		position: sticky;
		top: 0;
	}
	
	body.category-blog .title_xl {
        font-size: 64px;
        line-height: 68px;
        letter-spacing: -0.14rem;
        font-weight: 800;
	}
	
    .title_xl {
        letter-spacing: -0.14rem;
        line-height: 9.6rem;
        font-size: 10rem;
    }
    
    .site-header-with-doctors .title_xl {
		line-height: 7.6rem;
        font-size: 7.6rem;
        margin: 0;
        margin-bottom: 3rem;
    }
    
	.training-cartouche-header .title_xl {
		font-size: 6.6rem;
        line-height: 7rem;
        letter-spacing: -0.24rem;
        --margin-y: 0.8rem;
	}
	
	
	.teacher-cartouche>* {
	   display: table-cell;
	   vertical-align: middle;
	}

	.teacher-cartouche {
		display: inline-table;
	}

	.teacher-cartouche>.infos {
		padding-left: 2.4rem;
	}

	.teacher-cartouche .portrait img {
		width: 285px;
		height: auto;
		display: inline-block;
	}
	
	
}

@media (min-width: 1382px) {
	.cycle-header .btn {
		position: absolute;
		right: 0;
		top: .5rem;
	}
	
	
	.main-doctors {
		gap: 41%;
		padding-top: var(--padding-y);
	}

	.main-doctors>div {
		--padding-y: 8.4rem;
		--padding-x: 2.4rem;
	}

	.main-doctors>div:first-child {
		text-align: right;
	}

	.other-participants {
		padding-bottom: 1.6rem;
	}
	
}

@media (max-width: 574px) {
	.main-doctors {
        /*margin-bottom: 25rem;*/
    }
}


@media (max-width: 800px) {

	.a-la-une {
		height: 48rem;
	}
	.a-la-une .container {
		width: 100%;
		padding-left: 24px;
		padding-right: 24px;
	}
	.a-la-une .container h2 {
    	font-size: 32px;
    	margin-bottom: 16px;
    	line-height: 32.8px;
    	letter-spacing: -0.48px;
	}
	.a-la-une .container p {
	    font-size: 18px;
	    font-style: normal;
	    font-weight: 400;
	    line-height: 28px;
	    letter-spacing: -0.48px;
	}
	.a-la-une::before {
	    background-position: center;
	}

    ul#menu-principal {
        width: 90.5vw;
    }
    

}

@media (max-width: 1056px) {
	/*.main-doctors {
        margin-bottom: 20rem;
    } */
    
	#quick-nav > button {
		cursor: pointer;
	}

    #quick-nav {
        position: relative;
    }
    
    ul#menu-principal {
		position: absolute;
        right: -100%;
        margin: 0;
        display: block;
        right: 0;
        top: 7.4rem;
        /* left: 3.2rem; */
        text-align: left;
        background: white;
        padding: 3rem;
        z-index: 2;
        box-shadow: 0px 4px 12px rgb(0 0 0 / 10%);
        border-radius: 16px;
    }
    
    ul#menu-principal a, ul#menu-principal button {
        width: 100%;
        display: inline-block;
        line-height: 2.4rem;
        text-decoration: none;
        font-weight: 600;
        font-size: 2rem;
        border-radius: 1.6rem;
        --padding-x: 2.4rem;
        --padding-y: 1.4rem;
        --color-focus: #EE1082;
        --color-text-focus: white;
    }
    
    ul#menu-principal a.anchors:is(:hover, :focus) {
        background-color: var(--color-focus, red);
        color: var(--color-text-focus, white);
        box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.3);
        outline: none;
    }
    
	h1.faq-title {
		font-size: 3rem;
		line-height: 5rem;
		letter-spacing: -0.01rem;
	}
	
	.site-header-formations-avancees .title_xl {
		font-size: 3rem;
		line-height: 3rem;
		--margin-y: 1.5rem;
		font-size: 5rem;
		line-height: 4.5rem;
	}
	
	#page {
		display: block;
		/*
        min-height: calc(100vh - 5.2rem);
        max-height: calc(100vh - 5.2rem);
        height: calc(100vh - 5.2rem);
        */
	}
	
	#footer {
		padding-bottom: 3rem;
	}
	
}

@media (max-width: 1380px) {
/*
	.main-doctors {
		gap: 2.4rem;
        margin-bottom: 25rem;
        position: relative;
        height: 60vw;
	}
	
	.main-doctors>div {
		position: absolute;
		top: 100%;
		width: 50%;
	}

	.main-doctors>div:last-child {
		left: 50%;
	}
	
	.main-doctors>div:first-child {
		text-align: left;
	}
	.main-doctors>div {
		--padding-y: 1rem;
		--padding-x: 2.4rem;
	}
	*/
}

@media (max-width: 1450px) {
	.site-header-with-doctors {
		display: block;
		padding-left: 0;
		padding-top: 40vw;
		background: no-repeat top center url(../img/dr_hadi_antoun_dr_zeineb_hamdi.webp);
		background-size: auto 40vw;
		height: auto;
	}
	
	.site-header-formations-avancees {
		display: block;
		padding-left: 0;
		padding-top: 40vw;
		background: no-repeat top center url(../img/formations-avancees-header.png);
		background-size: auto 40vw;
		height: auto;
	}
	
	.session_details {
		display: block;
	}
		
	.session_label {
		margin-bottom: 15px;
	}
	
}


