/* --------------------------------------------------------------------
Tarification Solidarité Transport 
Main style-sheet 
Le Studio, Worldline 
-------------------------------------------------------------------- */

* {
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing: border-box;
}

*:focus {
    outline: 2px solid #0050AA;
    outline-offset: 2px;
}

html {
    font-size: 62.5%;
    overflow-y: scroll;
    scroll-behavior: smooth;
}

/*-----------------------------DEFAULTS-----------------------------*/

body {
    font-family: var(--stackr);
    font-size: 100%;
    letter-spacing: .015rem;
    color: var(--neutral-text);
    background-color: var(--neutral-white);
    text-align: left;
    overflow: hidden;
    position:relative ; 
    min-height : 100vh ;
}

p,
/* a, */
li,
dt,
dd,
th,
td {
    font-size: 1.2rem;
    max-width: 80ch;
}

img {
    max-width: 100%;
}

button svg {
    pointer-events: none;
}

/*---------------------------------ol-----------------------------------*/

ol {
  margin: 0 0 2rem;  
  padding: 0 0 0 2rem;
}

.decimal-list ol {
    margin-top: 1rem;
    margin-bottom: 0;
    padding: 0;
}

.decimal-list ol li {
    list-style-type: circle;
    margin-left: 2rem;
    padding: .5rem 0;
}

.secondary-nav ol {
    margin-top: 2rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/*------------------- BUTTON  ------------------- */

button {
    cursor: pointer;
}
.btn-group {
display: flex;
gap: 1em;
margin: 2em 0;
justify-content: center;
flex-wrap: wrap;
text-align: center;
}
.login-form .btn-group { margin-bottom: 0;}
.white-bg-frame .btn-group { margin-top: 0;}
.small-btn-size {
    text-align: center !important;
    font-family: var(--stacksb) !important;
    font-size: 1.6rem !important;
    line-height: 2.4rem !important;
    padding: 1rem 2rem !important;
    border-radius: var(--radius-regular) !important;
    cursor: pointer !important;
}


.small-ico-btn-size {
	position: relative;
    text-align: center;
    font-family: var(--stacksb);
    font-size: 1rem;
    line-height: 1.3rem ;
	margin: 0.5em 1em 0.5em 0;
    padding: 1rem 1.7rem;
    border-radius: var(--radius-regular);
    cursor: pointer;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 2em;
	text-indent: -10000em;
	z-index: 100;
}

.ico-btn-size {
	position: relative;
    text-align: center;
    font-family: var(--stacksb);
    font-size: 1rem;
    line-height: 1.3rem ;
	margin: 0.5em 1em 0.5em 0;
    padding: 1rem 1.7rem;
    border-radius: var(--radius-regular);
    cursor: pointer;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 2.3em;
	text-indent: -10000em;
	z-index: 100;
}
.icotxt-btn-size {
    width: fit-content;
	position: relative;
    font-family: var(--stacksb);
	margin: 0 1em 1em 0;
    padding: 1rem 1.7rem 1rem 4.7rem;
    border-radius: var(--radius-regular);
    cursor: pointer;
	background-repeat: no-repeat;
	background-position: 1em 50%;
	background-size: 1.9em;
	z-index: 10;
}

/* TST-1384 */
.icotxt-btn-size2 {
    color: var(--neutral-white) !important;
    background-color: var(--interaction-blue) !important;
    text-decoration: none !important;
    font-family: var(--stacksb);
    margin: 0 1em 1em 0;
    padding: 1rem 2.7rem 1rem 2.7rem;
    border-radius: var(--radius-regular);
    z-index: 10;
    cursor: pointer;
    background-position: 1em 50%;
    background-size: 0em;
}

    a.edit{ background-image: url(../img/ico-modifier-white.svg); }
    a.add{ background-image: url(../img/ico-plus-cercle-white.svg); }
    a.mail{ background-image: url(../img/ico-mail-white.svg); }
    a.see{ background-image: url(../img/ico-visualiser-white.svg); }
    a.blue-add{ background-image: url(../img/ico-plus-cercle.svg); }
    a.black-delete{ background-image: url(../img/ico-supprimer-black.svg); }
	button.edit{ background-image: url(../img/ico-modifier-white.svg); }
	button.delete{ background-image: url(../img/ico-supprimer-white.svg); }
	button.add{ background-image: url(../img/ico-plus-cercle-white.svg); }
	button.see{ background-image: url(../img/ico-visualiser-white.svg); }
	button.mail{ background-image: url(../img/ico-mail-white.svg); }
.primary-btn {
    color: var(--neutral-white) !important;
    background-color: var(--interaction-blue) !important;
    text-decoration: none !important;
}

.primary-btn:hover {
    color: var(--neutral-white);
    background-color: var(--focus-blue);
}

.secondary-btn {
    text-align: center;
    color: var(--interaction-blue);
    background-color:var(--neutral-white);
    border: solid 0.1rem var(--interaction-blue);
    text-decoration: none;
    max-width: none;
}

.secondary-btn:hover {
    color: var(--focus-blue);
    background-color: var(--neutral-light);
    border: solid 0.1rem var(--focus-blue);
}

.double-btn-wrapper {
    display: flex;
    gap: 1rem;
}

.double-btn-wrapper a,
.double-btn-wrapper button {
    width: 100%;
}

/*-----------------------------COMPONENTS TEMPLATE PAGE-----------------------------*/

.library-header {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    background: var(--neutral-light);
    padding: 2rem;
    min-height: 5rem;
    box-shadow: 0 3px 8px rgb(0 0 0 / 30%);
}

.brand-name {
    color: var(--neutral-text);
    text-transform: uppercase;
    font-size: 2rem;
    font-family: var(--stackb);
}

.brand-name span {
    color: var(--interaction-blue);
    display: block;
    text-transform: none;
}

#library-container {
    max-width: none;
    margin: 0;
    background: var(--neutral-white);
    width: 100%;
}

.component-title {
    text-transform: uppercase;
    font-family: var(--stackb);
    font-size: 1.8rem;
    margin: 3rem 0;
}

.box-component {
    width: 100%;

}

.width-regulation
 {
    max-width: 80ch;
}

.library-separator {
    border: solid .1rem var(--neutral-text);
    margin: 2rem 0;
}


/*-----------------------------HEADINGS-----------------------------*/

h1 {
    font-family: var(--stackb);
    font-weight: normal;
    font-size: 3.4rem;
    line-height: 1.2;
}

h2,
.h2 {
	max-width: 1080px;
    font-family: var(--stackb);
    font-weight: normal;
    font-size: 3rem;
    line-height: 1.3;
}

h3, 
.h3 {
    font-family: var(--stackb);
    font-weight: normal;
    font-size: 2.6rem;
    line-height: 1.3;
}

h4, 
.h4,
.link-card {
    font-family: var(--stackb);
    font-weight: normal;
    font-size: 2rem;
    line-height: 1.4;
}

h5, 
.h5,
h6,
.h6 {
    font-family: var(--stacksb);
    font-weight: normal;
    font-size: 1.5rem;
    line-height: 1.5;
}

/*-------------------------------TEXT-------------------------------*/

.semibold {
    font-family: var(--stacksb);
    font-weight: normal;
}

.bold {
    font-family: var(--stackb);
    font-weight: normal;
}

strong {
    font-family: var(--stacksb);
    font-weight: normal;
}


.input-message {
    align-items: center;
    display: flex;
    flex-direction: row;
    margin-bottom: 0;
    margin-top: 1rem;
}

.error-text {
    color: var(--accent-error);
}

.text--xxs,
.text--xss a {
    font-size: 1rem;
    line-height: 1.5;
}

.text--xs,
.text--xs a {
    font-size: 1.2rem;
    line-height: 1.5;
}

.text--s,
.text--s td,
.text--s th {
    font-size: 1.4rem;
    line-height: 1.5;
}

.text--current, 
.text--current p,
.text--current li {
    font-size: 1.5rem;
    line-height: 1.5;
}

.text--medium, 
.text--medium p,
.text--medium li {
    font-size: 1.8rem;
    line-height: 1.5;
}

.explanation-text {
    margin-top: 1rem;
}
/*-------------------------------LINK-------------------------------*/

.a11y {
    color: var(--interaction-blue);
    fill: var(--interaction-blue);
    cursor: pointer;
    transition: all .2s;
}

.a11y:hover {
    color: var(--neutral-text);
    fill: var(--neutral-text);

}

.link--blue {
    text-decoration: none;
    color: var(--interaction-blue);
    fill: var(--interaction-blue);
    cursor: pointer;
    transition: all .2s;
}

.link--blue:hover {
    text-decoration: underline;
    color: var(--focus-blue);
    fill: var(--focus-blue);
}

.footer-link {
    margin: 2rem 0 4rem;
}

.web-link {
    width: fit-content;
    text-decoration: none;
    color: var(--interaction-blue);
    fill: var(--interaction-blue);
    cursor: pointer;
    transition: all .2s;
}

.web-link:hover {
    text-decoration: none;
    color: var(--neutral-white);
    fill: var(--neutral-white);
    background: var(--interaction-blue);
    transition: all .2s;
}

.dark-link {
    color: var(--neutral-text);
    fill: var(--neutral-text);
    cursor: pointer;
    transition: all .2s;
}

.dark-link:hover {
    color: black;
}

.site-map-ul {
    margin: 0;
    padding: 0;
}

.site-map-ul li {
    list-style-type: none;
    margin-bottom: 1rem;
}

.site-map-ul a {
    text-decoration: none;
}

.site-map-ul a:hover {
    text-decoration: underline;
    color: var(--focus-blue);
}

a[target="_blank"]::after {
    display: inline-block;
    overflow: hidden;
    content: "Ouvre nouvelle fenêtre";
    width: 1.15rem;
    height: 2rem;
    text-indent: 50em;
    background-image: url(../img/extern-link-icon.svg);
    background-size: contain;
    background-position: 0 .8rem;
    background-repeat: no-repeat;
    margin-left: .5rem;
}

.untarget-icon[target="_blank"]::after {
    display: none;
}

.link-card::after {
    display: block;
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}

a.download {
	padding-left: 1.3em;
    background-image: url(../img/ico-telechargement.svg);
    background-size: contain;
    background-position: 0 0.1em;
    background-repeat: no-repeat;
}

/*----------------------------TST HEADER----------------------------*/

.skip-link {
    display: none;
}

.tst-header {
    background-color: var(--idfm-blue);
}

.tst-header-bg {
    display: flex;
    align-items: center;
    width: 26.5rem;
    background: url(../img/navy-geometric-shape.svg) no-repeat 100% 0, linear-gradient(90deg, transparent, #25303b 0, #25303b calc(100% - 5rem), transparent calc(100% - 5rem));
    background-size: contain;
    padding: 3rem 2rem;
    height: 9rem;
}


.logo_header{
    background-color: var(--neutral-text);
    padding: 0.2rem;
}

/*----------------------------NAVIGATION----------------------------*/

#nav-control {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--stacksb);
    font-size: 1.1rem;
    position: absolute;
    background: url(../img/menu-burger.svg);
    background-repeat: no-repeat;
    width: 3.1rem;
    height: 2rem;
    right: 2rem;
    padding-top: 3em;
    cursor: pointer;
    z-index: 100;
}

#main-nav {
    position: fixed;
    top: 0;
    left: -50rem;
    width: 30rem;
    max-width: 26.5rem;
    height: 100%;
    padding: 9rem 1.9rem 6rem;
    background: var(--gradient-neutral-gray);
	background-image: url(../img/Logo_IDF_Mobilites_RVB_Mobilites_blancbleu.svg);
    background-color: var(--neutral-text);
    background-size: 70%;
    background-position: 50% 2.75rem;
    background-repeat: no-repeat;
    z-index: 10000;
    transition: all .5s;
}

#main-nav ul {display: none;}
#main-nav.active ul {display: block;}


#main-nav.active {
    left: 0;
    transition: all .5s;
}

.primary-navigation-list {
    list-style-type: none;
    margin: 0;
}

.primary-navigation-list>li {
    padding: 0 2rem 3rem 0;
}

.primary-navigation-list>li>a {
    color: var(--neutral-white);
    font-family: var(--stacksb);
    font-size: 1.5rem;
    text-decoration: none;
}

.primary-navigation-list>li>a:hover {
    color: var(--idfm-blue);
    text-decoration: underline;
    transition: all .2s;
}

nav a.active-nav {
    color: var(--idfm-blue);
}

.numeral-adjective {
    font-size: 1.2rem;
    position: absolute;
}

.nav-label-second-part {
    margin-left: 2.5rem;
}

/*-----------------------------HERO BANNER----------------------------*/

.hero-banner {
    background-image: linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.55)), url(../img/TST-homepage-hero-img.png);
    background-size: cover;
    background-position: center;
    background-color: #737373;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 5rem;
}

.hero-banner.JEI {
    background-image: linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.55)), url(../img/TST-homepage-hero-img-JEI.png);
}

.hero-banner h1 {
    color: var(--neutral-white);
}

/*------------------- FORM INPUT  ------------------- */

.organisme-frame-imput{
    text-transform:uppercase;
}

.organisme-frame{
    text-transform:uppercase;
}

input, textarea, select {
    font-size: 1.4rem;
    font-family: var(--stackr);
    color: var(--neutral-300);
    min-height: 4.4rem;
    width: 100%;
    padding: 1rem 2rem;
    border: .1rem solid #53606e;
    border-radius: var(--radius-regular);
    max-width: 64rem;
    background-color: var(--neutral-white);
}

select {
    padding-top: 1.25rem;
}

textarea {
    min-height: 10rem;
}

label {
    color: var(--neutral-dark);
    font-family: var(--stacksb);
    font-size: 1.2rem;
    letter-spacing: .1rem;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: .5rem;
    line-height: 1.8rem;

    margin: .5rem 0;
}

.asterisk-mention {
    color: var(--accent-error);
    font-size: 2rem;
    font-family: var(--stackb);
    line-height: 2rem;
}

.input-wrapper {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.wrap {
    flex-wrap: wrap;
}

/* input[type=radio],
input[type=checkbox]{
  visibility: hidden;
  position: absolute;
} */

.container-checkbox {
    display: flex;
    gap: 1em;
    align-items : center ;
}

input[type=checkbox] {
    min-height: 1.2em;
    width: 1.2em;
    height: 1.2em;
}

input[type=radio]{
position: relative;
  width: 1em;
  height: 1em;
  appearance: none;  
  padding: 0;
  border-color: var(--interaction-blue);
  border-radius: 1em;
  min-height: 1em;
  min-width: 1em;
}

input[type=radio]:checked::before {
    position: absolute;
    content: '';
    display: block;
    width: calc(1em - 6px);
    height: calc(1em - 6px);
    top: 2px;
    left: 2px;
    border-radius: 100%;
    background-color: var(--interaction-blue);
}

/* input[type=radio] + label::before {
  cursor: pointer;
  height: 2rem;
  width: 2rem;
  min-width: 2rem;
  content: " ";
  display:inline-block;
  vertical-align: baseline;
  border: .15rem solid var(--interaction-blue);
  background-color: var(--neutral-white);
  border-radius: 50%;
  margin-right: 1.5rem;
}

input[type=radio]:checked + label:before {
	background-color : var(--interaction-blue);
	box-shadow: inset 0 0 0 4px white
} */

.radio-wrapper {
    display: flex;
    gap: 1em;
    align-items: center;
}

.topalign {
    align-items: initial;
}

.topalign input {
    margin-top: 1.25rem;
}

.radio-wrapper label {
    text-transform: none;
    color: var(--neutral-text);
    font-size: 1.4rem;
    line-height: 2.1rem;
    font-family: var(--stackr);
    height: auto;
}

.heading-4 label {
        font-family: var(--stackb);
        font-weight: normal;
        font-size: 2rem;
        line-height: 1.4;
}

.heading-5 label {
    font-family: var(--stacksb);
    font-weight: normal;
    font-size: 1.5rem;
    line-height: 1.5;
}

/*------------------------------LOGIN FORM-----------------------------*/

.login-form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: 2rem;
    background-color: #DEEEFF;
    border-radius: var(--radius-regular);
    z-index: 2;
}

div.login-form { display:block; margin-bottom: 3em;}

.login-form>fieldset>legend {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1rem;
}

.login-form>fieldset>legend>h2>span,
.login-form>fieldset>legend>h1>span {
    color: var(--neutral-dark);
    display: block;
}
.login-form h2 {margin-bottom: 1em;}
	article.one-column-layout .login-form h2 {margin-bottom: 0;}

.login-frame-container {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.two-column-layout .login-form {width:100%}

.two-column-layout .choice-card {width:100%}

/*-----------------------------CHOICE CARD----------------------------*/

.form-rights {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 1rem;
    row-gap: 1rem;
    margin: 1rem 0;
}

.choice-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    /*
    background-color: rgb(0, 135, 60, .065);
    */
    background-color:var(--light-blue);
    padding: 2rem;
    border-radius: var(--radius-regular);
}

.img-wrapper {
    display: block;
}

.img-wrapper img {
    width: auto;
    height: 12rem;
}

.two-choice-cards{
    display: block;
}

.two-div {
    margin-bottom: 2rem;
}

/*------------------------------ PROFIL -----------------------------*/

.profilOF, .profilTrainee {
	display: inline-grid;
	position: relative;
	left: auto;
	top: auto;
	gap: 2em;
	padding:10px;
	list-style: none;
	z-index: 10;
	border:1px solid #53606E;
	border-radius: 6px;
}
.profilOF li {
	margin:10px;
	padding: 2px 0 2px 24px;
	font-size: 1.3em;
	font-weight: bold;
	color: #fff;  
	background: url(../img/ico-pointeur-white.svg) no-repeat 0 50%;
	background-size: 1.3em;
    overflow: hidden;
    text-overflow: ellipsis; 
}
	
.profilTrainee li {
	padding: 2px 0 2px 24px;
	font-size: 1.5em;
	font-weight: bold;
	color: #fff;  
	background: url(../img/ico-profil-white.svg) no-repeat 0 50%;
	background-size: 1.3em;
}
.profilOF li:nth-child(2n), .profilTrainee li:nth-child(2n) { background: url(../img/ico-deconnect-white.svg) no-repeat 0 50%;}
.profilOF li a, .profilTrainee li a { color: #fff;  font-size: 1.1em; text-decoration: none;}

/*---------------- DOUBLE ACTION CARDS  ---------------- */

.double-action-card-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    margin: 0;
    padding: 0;
}

.action-card-wrapper {
    display: flex;
    gap: 1rem;
    padding: 2rem;
    border-radius: var(--radius-regular);
    box-shadow: 0 0 .8rem hsla(210, 50%, 88%, 1);
    justify-content: space-between;
}

.action-card-wrapper:hover {
    color: var(--neutral-white);
    background-color: var(--interaction-blue);
    transition: all .2s;
    cursor: pointer;
}

.action-card-wrapper:hover .right-arrow.interaction-blue{
    fill: var(--neutral-white);
}

.action-card-text {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.action-card-text>h3>a,
.action-card-text>h3>.link-card {
    color: var(--neutral-text);
    text-decoration: none;
    font-family: var(--stacksb);
}

.action-card-wrapper:hover h3 a,
.action-card-wrapper:hover h3 .link-card {
    color: var(--neutral-white);
    transition: all .2s;
}

.right-arrow.interaction-blue {
    margin-top: auto;
    margin-bottom: auto;
    min-width: 2.2rem;
    min-height: 2rem;
    fill: var(--interaction-blue)
}

/*------------------ DEFINITON FRAME  ------------------ */

.right-arrow.interaction-blue.small {
    min-width: 1.3rem;
    min-height: 1.3rem;
    fill: var(--interaction-blue);
    margin-right: .6rem;
}

.right-arrow.interaction-blue.medium {
    min-width: 1.6rem;
    min-height: 1.6rem;
    fill: var(--interaction-blue);
    margin-right: .8rem;
}

.definition-frame {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 2rem;
    background-color: var(--neutral-light);
    border-radius: var(--radius-regular);
}

.message-frame {
    display: flex;
    flex-direction: column;
    gap: 0;
	margin: 2em 0;
    text-align: center;
    padding: 7rem 2rem 2rem 2rem ;
	background: url(../img/ico-confirmation.svg) no-repeat 50% 2em;
    border: 1px solid var(--neutral-medium);
    border-radius: var(--radius-regular);
}

.unmargin {
    margin: 0;
}

	.message-frame.error {background-image: url(../img/ico-echec.svg);}
	.message-frame.info {background-image: url(../img/ico-info-grand.svg);}
	.message-frame .entry-introduction { margin: 0; font-weight: bold;}

.boxed-text {
    background-color: var(--neutral-white);
    border: solid .1rem var(--neutral-medium);
    padding: 1.5rem;
    border-radius: var(--radius-regular);
    margin: .5rem 0;
}

/*------------- DEFINITON FRAME WITH IMAGE  ------------- */

.definition-frame-wrapper {
    display: block;
}

.definition-frame-text-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.with-image img {
    padding: 2% 30% 4% 30%;
}

.agence-logo {
    max-width: 6em;
}

.agence-logo-contact img {
    max-height: 9em;
    padding: 0 0 0.5rem 0;
}

/*------------------- INFO TOOLTIP  ------------------- */

.info-tooltip-wrapper {
    position: relative;
    display: inline-block;
}

.info-icon {
    background: url(../img/info-icon.svg) no-repeat;
    width: 2rem;
    height: 2rem;
}

.tooltip-content::before {
    content: "";
    position: absolute;
    background-color: var(--neutral-text);
    right: .35rem;
    top: -0.4rem;
    width: 1.5rem;
    height: 1.5rem;
    transform: rotate(45deg);
    z-index: -1;
}

.tooltip-content {
    display: none;
    background-color: var(--neutral-text);
    padding: 0.7rem 1rem;
    color: var(--neutral-white);
    border-radius: var(--radius-regular);
    position: absolute;
    top: 3rem;
    right: 0;
    width: 20rem;
    transition: right 0;
    z-index: 1;
}

.tooltip-content p {
    margin: 0;
}

/*-------------------------- FORM CONTAINER  -------------------------- */

.form-container {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.form-container>legend {
    display: flex;
    flex-direction: column;
}

/*----------------------------MAIN & LAYOUT----------------------------*/

main,
.layout {
    padding: 1.2rem 2rem 6rem;
    max-width: 1080px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.layout {
    padding: 2rem 2rem 6rem 2rem;
    display: flex;
    flex-direction: column;
}

.main-column {
    padding: 1.2rem 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.one-column-layout {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    position : relative ; z-index :5 ;
}
.two-column-layout {
    display: inline-grid;
    gap: 2rem;
}

/*-------------------------------ASIDE------------------------------*/

aside {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

aside>.secondary-btn {
    display: block;
    width: 100%;
}

/*------------------- ACTU FRAME  ------------------- */

.actu-frame {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 2rem;
    background-color: var(--neutral-white);
    border: solid .1rem var(--neutral-text);
    border-radius: var(--radius-regular);
}

.img-carte-navigo {
    display: flex;
    gap: 1em;
    flex-wrap: wrap;
    align-items: center;
}

.img-carte-navigo img {
    max-width: 10em;
    height: 15em;
}

.img-carte-navigo img:last-of-type {
    max-width: 15em;
    max-height: 10em;
}

.img-carte-navigo + img{
    max-width: 20em;
}

.actu-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    margin-top: .5rem;
}

.pagination-icon {
    width: 3rem;
    height: 3rem;
    fill: var(--neutral-white);
}

.pagination-link {
    border-radius: var(--radius-regular);
}

.pagination-link[disabled] {
    background-color: var(--neutral-dark);
    cursor: not-allowed;
}

.pagination-link {
    background-color: var(--interaction-blue);
}

.pagination-link:hover {
    background-color: var(--focus-blue);
}

/*------------------- LATEST RELEASES  ------------------- */

.latest-releases {
    padding: 2rem;
    background-color: var(--neutral-white);
    border: solid .1rem var(--neutral-text);
    border-radius: var(--radius-regular);
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

figcaption {
    display: flex;
    margin-top: 0.5rem;
}

.latest-releases img {
    max-width: 25rem;
}

/*----------------------------BREADCRUMB----------------------------*/

.breadcrumb-nav {
    padding-right: 2rem;
    margin-bottom: 3.4rem;
}

.breadcrumb-nav.content-page {
    margin-bottom: 0;
}

.content-page .breadcrumbs-list {
   line-height: normal;
}

.breadcrumbs-list{
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    line-height: 2.5;
}

.breadcrumb-nav li {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin-right: .25rem;
}

.breadcrumb-icon {
    margin-right: .25rem;
    fill: var(--interaction-blue);
    transform: translateY(.1rem);
}
/*---------------------------------UL-----------------------------------*/

ul {
  margin: 0 0 2rem;  
  padding: 0 0 0 2rem;
}

li {
    padding: 0  0 .25rem .5rem;
}

.bullet-list {
    margin: 0;
}
.chevrons-list {
    margin: 0;
    padding: 0;
}

.chevrons-list li {
    list-style: none;
    padding: .5rem 0;
}

.decimal-list li {
    list-style-type: decimal;
    margin-left: 2rem;
    padding: .5rem 0;
}

.decimal-list ul {
    margin-top: 1rem;
    margin-bottom: 0;
    padding: 0;
}

.decimal-list ul li {
    list-style-type: circle;
    margin-left: 2rem;
    padding: .5rem 0;
}

.sublist {
    margin: 1rem 0 0 0;
}

dl {
	display:flex;
	margin-bottom: 2em;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: flex-end;
	grid-gap: 0;
}
dt {
	font-size: 1.5rem;
	width: 100%;
	text-align: left;
}
dd {
	flex: auto;
	width:100%;
	margin-bottom: 1em;
	font-size: 1.5rem;
	font-weight: bold;
    word-wrap : break-word ;
}

/*------------------------ TST ESPACE CONNECTE  ------------------------ */
/*
.heading-banner {
    background-image: url(../img/my-space-banner-bg-2.svg);
    background-size: cover;
    padding: 2rem;
}
*/

.heading-wrapper {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.text-info-section  {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.secondary-nav {
    z-index: 100;
}

.secondary-nav  li {
    list-style-type: none;
}

.secondary-nav  ul {
    margin-top: 2rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
    
.secondary-nav  a {
      text-decoration: none;
      color: var(--neutral-text);
      font-size: 1.6rem;
      line-height: 1.5;
      font-family: var(--stacksb);
      display: flex;
      align-items: center;
      gap: 1.9rem;
      background-color: var(--light-blue);
      padding: 1.5rem;
      border-radius: var(--radius-regular);
      width: 100%;
}

.secondary-nav  a:hover {
    text-decoration: underline;
}

.message-preview {
      padding: 1rem 0;
      border-top: solid .1rem var(--neutral-text);
}

.message-preview.no-title {
    padding: 0;
    border: none;
}

.message-preview.no-title .input-box:last-of-type {
    margin-top: 2em;
}

/*--------------------------------CGU---------------------------------*/

.conteneur_cgu_stagiaire{
    padding-left:0; 
    padding-right:0;
}

.texte_cgu_stagiaire{
   width:auto; 
   height:300px;
   overflow:auto; 
}

/*--------------------------------QUESTIONAIRE---------------------------------*/

.questionaire {
    display: block;
    gap: 1rem;
}

.questionaire img {
    max-width: 8rem;
}

/*--------------------------------FRAME---------------------------------*/

.white-bg-frame {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    overflow-x: auto;
}

/*---------------------------FIT TO 100% WIDTH--------------------------*/

.fit-to-100 {
    display: block;
    width: 100%;
}

/*--------------------------- CONTAINER --------------------------*/

.container-solidarite-transport {
    display: flex;
    gap: 2em;
    align-items: center;
}

/*---------------------------------TABLE------------------------------- */

table {
    width: 100%;
    margin: 2rem 0;
    border-collapse: collapse;
}

.table-slice {
    border-radius: var(--radius-regular);
    box-shadow: 0 .2rem 1rem #deeeff;
}

.table-slice th {
    color: black;
    background-color: #deeeff;
}

table th, tbody td {
    padding: 1rem 0 1rem 2rem;
}

thead th, tbody td {
    font-size: 1.4rem;
}

thead th:first-child {
    border-top-left-radius: var(--radius-regular);
}

thead th:last-child {
    border-top-right-radius: var(--radius-regular);
}
.table-slice tr:nth-child(2n) {
    background-color: #f0f8ff;
}  
table img { width: 1.4em; }
table a {font-size: 1em;}
table tr.nonLu {font-weight: bold;}

/*-----------------------------FOOTER PAGE-----------------------------*/

.entry-title {
    margin-bottom: 1rem;
}

.entry-subtitle {
    margin-bottom: 2.6rem;
}

.calendar-wrapper {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: flex-start;
    color: var(--neutral-dark);
    fill: var(--neutral-dark);
}

.calendar-wrapper svg {
    flex: 0 0 1.6rem;
    height: 1.6rem;
    width: 1.6rem;
    margin-right: .6rem;
}

.time-at {
    font-size: 1.2rem;
}

.entry-introduction {
    margin-top: 3rem;
    margin-bottom: 4.5rem;
}

.entry-content p {
    margin-bottom: 2rem;
}

.container-solidarite-transport p{
    margin-bottom: 0;
}

.entry-content p:last-child {
    margin-bottom: 0;
}
.entry-content h2 {
    margin: 6rem 0 3rem;
}
.entry-content .h3 {
    margin: 1rem 0 1rem;
}
/*------------------------------FOOTER TOP---------------------------*/

.footer-top {
    display: flex;
    justify-content: center;
    position: relative;
    top: -3rem;
    z-index :1000 ;
}

.go-to-top-icon-bck {
    fill: var(--neutral-dark);
}

.go-to-top-icon-bck:hover {
    fill: #6e7f92;
}


/*------------------------------FOOTER------------------------------*/

footer {
    background-color: var(--neutral-text);
    padding: 4rem 0;
    position :sticky ; 
    top: 100vh;
}

.footer-container {
    margin: 0 2rem;
    display: grid;
    gap: 3rem;
    justify-content: center;
}

.bottom-footer-links {
    display: block;
    text-align: center; 
}

.bottom-footer-links  a {
    color: var(--neutral-white);
    text-decoration: none;
    display: flex ;
    align-items: center ;
}
.bottom-footer-links  a[target="_blank"]::after {
	background-image: url(../img/extern-link-icon-white.svg);
    position : relative ;
    top : -0.4rem ;
    right : -0.2rem ;
}
.bottom-footer-links li {
    line-height: 2.5;
    padding: 0 0 .4rem 0;
}

.bottom-footer-links a:hover {
    text-decoration: underline;
}

#Button_Deconnexion {
    color:#fff;
    font-size: 1.0em;
    font-weight: bold;
    background: none;
}

/*--------------------------MEDIA QUERIES --------------------------*/

@media (min-width: 768px) {
    /*------------------questionnaire------------------*/
    .questionaire {
        display: flex;
        gap: 1rem;
    }    
    /*------------------tst header------------------*/
	dl {
		display:flex;
		margin-bottom: 2em;
		flex-direction: row;
		grid-gap: 2em;
	}
	dt { width: 35%; text-align: right;}
	dd { width: 60%; margin-bottom:0;}
    .skip-link {
        display: block;
        max-width: 1080px;
        margin: 1.5rem auto 1.5rem auto;
        padding-left: 2rem;
    }
    .website-logo img {
        width: 22rem;
    }
    .tst-header {
        background-color: var(--neutral-text);
        max-width: 1080px;
        margin-left: auto;
        margin-right: auto;
        padding-right: 2rem;
    }
    .tst-header::before {
        background: url(../img/sky-blue-round-shape.svg) no-repeat;
        content: "";
        width: 35%;
        height: 25%;
        border-bottom-left-radius: 50rem;
        top: 0;
        right: 0;
        position: absolute;
        z-index: 2;
    }
    .tst-header-bg{
        position: relative;
        justify-content: space-between;
        width: 100%;
        z-index: 3;
    }
    .tst-header-bg::before {
        background-color: var(--neutral-text);
        content: "";
        width: 100vw;
        height: 9rem;
        right: 1080px;
        position: absolute;
        z-index: -100;
    }
	.profilOF, .profilTrainee {
		display: flex;
		position: absolute;
		left:auto;
		right: 0;
		top: -4rem;
		gap: 2em;
		list-style: none;
		z-index: 10;
		border:none;
	} 
	.profilOF li {
			margin:0;
			padding: 2px 0 2px 24px;
			color:#000;
			font-size: 1.5em;
			font-weight: bold;
			background: url(../img/ico-pointeur-black.svg) no-repeat 0 50%;
			background-size: 1.3em;
	}

	.profilTrainee li {
			margin:0;
			padding: 2px 0 2px 24px;
			color:#000;
			font-size: 1.5em;
			font-weight: bold;
			background: url(../img/ico-profil-black.svg) no-repeat 0 50%;
			background-size: 1.3em;
	}
	.profilOF li:nth-child(2n), .profilTrainee li:nth-child(2n) { background: url(../img/ico-deconnect-black.svg) no-repeat 0 50%;}
	.profilOF li a, .profilTrainee li a { color: #000;  font-size: 1.1em; text-decoration: none;}
	.profilOF li a:hover, .profilTrainee li a:hover { text-decoration: underline;}
	
	.message-frame {
		text-align: left;
		padding: 2rem 2rem 2rem 10rem ;
		background-position: 2em 45%;
	}
    /*--------------------navigation --------------------*/
    #nav-control {
        display: none;
    }
    #main-nav {
        position: static;
        height: auto;
        padding: 0;
        transition: none;
        width: auto;
        max-width: none;
        background: transparent;
    }
    #main-nav ul {
        display: flex;
    }
    .primary-navigation-list>li>a {
        font-size: 1.6rem;
    }
    .primary-navigation-list {
        display: flex;
        position: relative;
        margin-right: 2rem;
        padding: 0;
        gap: 2.4rem;
        width: 100%;
    }
    .primary-navigation-list>li {
        padding: 0;
    }
    .primary-navigation-list>li>a:hover {
        text-decoration: none;
    }
    .box-component {
        position: relative;
        left: 22%;
        width: 56%;
    }
    /*-------------------headings-------------------*/
    h1 {
        font-size: 4.8rem;
    }
    h2,
    .h2 {
        font-size: 3.6rem;
    }
    h3, .h3 {
        font-size: 2.8rem;
    }
    h4, .h4, .link-card, .heading-4 label {
        font-size: 2.2rem;
    }
    h5, .h5, h6, .h6, .heading-5 label {
        font-size: 1.8rem;
    }
    /*---------------------text---------------------*/
    .text--xxs,
    .text--xxs a {
        font-size: 1.2rem;
    }
    .text--xs,
    .text--xs a {
        font-size: 1.4rem;
    }
    .text--s,
    .text--s td,
    .text--s th {
        font-size: 1.6rem;
    }
    .text--current{
        padding-top : 0.4em ; 
        padding-bottom:0.3em;} 
    .text--current p,
    .text--current a,
    .text--current li {
        font-size: 1.8rem;
    }

    .text--medium, 
    .text--medium p,
    .text--medium li {
        font-size: 2rem;
    }
    input, textarea, select {
        font-size: 1.6rem;
    }
    /*-----------------------list---------------------*/
    .chevrons-list li {
        padding: .75rem 0;
    }    
    /*-----------------tst espace connecté------------*/
    .example ul {
        margin-top: 0;
    }
    /*---------------fit to 100% width---------------*/
    .fit-to-100 {
        display: flex;
        width: auto;
        width: fit-content;
        justify-content: center;
    }
    /*------------------breadcrumb------------------*/
    .breadcrumb-nav {
        padding-right: 10rem;
    }
    .breadcrumbs-list li {
        display: inline-block;
        margin-right: .5rem;
    }
    .breadcrumbs-list li:last-of-type {
        display: inline-block;
        margin-right: 1rem;
    }
    .breadcrumb-icon {
        margin-right: .5rem;
        fill: var(--interaction-blue);
        transform: translateY(.1rem);
    }
    /*--------------------layout---------------------*/
    .one-column-layout {
        width: 68rem;
        margin-right: auto;
        margin-left: auto;
        gap: 2rem;
    }
    .layout {
        display: grid;
        grid-template-columns: 2fr 1fr;
        grid-template-rows: auto 1fr;
        grid-column-gap: 4rem;
        grid-row-gap: 2rem;

    }
    .main-column {
        grid-column: 1;
        grid-row: 1 / span 2;
        padding: 1.2rem 0 3rem 0;
    }
	.two-column-layout {display: flex}
	.two-column-layout .login-form {width:100%;}
    .wrap {
        flex-wrap: nowrap;
    }    
    /*----------------------ul-----------------------*/
    ul {
        margin: 0 0 2.6rem;  
    }

    li {
        padding: 0 0 .5rem .5rem;
    }
    /*----------------------link---------------------*/
    .footer-link {
        margin: 3rem 0 4rem;
    }
    /*------------------actu pagination---------------*/
    .actu-pagination {
        justify-content: left;
    }
    /*--------------------choice card------------------ */
    .form-rights {
        grid-template-columns: 1fr 1fr;
        column-gap: 2rem;
        row-gap: 2rem;
        margin: 2rem 0;
    }
    .choice-card {
        gap: 2rem;
    }

    /*-------------------img wrapper----------------- */
    .img-wrapper {
        display: flex;
        gap: 1rem;
    }
    /*------------------footer page------------------*/
    .time-at {
        font-size: 1.4rem;
    }
    .entry-introduction {
        margin-top: 6rem;
    }
    .entry-content p {
        margin-bottom: 2.6rem;
    }

    .container-solidarite-transport p{
        margin-bottom: 0;
    }

    .entry-content h2 {
        margin: 9rem 0 4.5rem;
    }
    .entry-subtitle {
        margin-bottom: 2rem;
    }
    /*------------------footer top-------------------*/
    .footer-top {
        justify-content: right;
        margin-right: 2rem;
    }
    /*--------------------footer---------------------*/
    .footer-container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 0 2.5rem 0 2rem;
    }
    .bottom-footer-links {
        display: flex;
        justify-content: space-between;
        margin: 0;
        gap: 4rem;
    }
    .bottom-footer-links li {
        line-height: 1.5;
    }
    #Button_Deconnexion {color :#000 ;} 
}

@media (min-width: 1040px) {
    /*------------------tst header------------------*/
    .website-logo img {
        width: 27rem;
    }
    .tst-header-bg::before {
        right: 900px;
    }
    /*--------------------navigation --------------------*/
    .primary-navigation-list>li>a {
        font-size: 2rem;
    }
    .primary-navigation-list {
        margin-right: 3.5rem;
        gap: 4rem;
    }
    /*------------------breadcrumb------------------*/
    .breadcrumb-nav {
        padding-right: 15rem;
        margin-bottom: 6.6rem;
    }
    /*--------------double action card---------------*/
    .double-action-card-wrapper {
        grid-template-columns: 1fr 1fr;
    }
    .two-choice-cards {
        display: flex;
        gap: 2rem;
    }
    .two-div {
        margin-bottom: 0;
    }
    /*----------definition framge with image----------*/
    .definition-frame-wrapper {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        margin-bottom: 2em;
        justify-content: space-between;
    }
    .with-image img {
        max-height: 18rem;
        padding: 0% 6%;
    }   
    .agence-logo-contact img {
        max-height: 9em;
        padding: 0% 6%;
    }
    /*--------------double btn wrapper---------------*/
    .double-btn-wrapper a,
    .double-btn-wrapper button {
        width: 48%;
    } 
    .double-btn-wrapper {
        flex-direction: initial;
        gap: 2rem;
    }
    /*------------------footer top-------------------*/
    .footer-top {
        max-width: 1080px;
        padding-right: 1.7rem;
        margin-left: auto;
        margin-right: auto;
    }
    /*--------------------footer---------------------*/
    .footer-container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        max-width: 1080px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 2rem;
    }
    .bottom-footer-links {
        margin-right: 2rem;
    }
    .bottom-footer-links a {
        font-size: 1.5rem;
    }
    #overlay
    {
        position: absolute;
        left: 0px;
        top: 0px;
        width: 100%;
        height: 100%;
        text-align: center;
        z-index: 1000;
        background-image: url(bg-trans.png);
        _background-image:none;
        _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale src='bg-trans.png');
    }

    #overlay div {
        width:300px;
        margin: 100px auto;
        background-color: #fff;
        border:1px solid #000;
        padding:15px;
        text-align:center;
   }  

   .overlay
    {
        /* position: absolute !important; */
        /* left: 0px !important;
        top: 0px !important; */
        width: 50%;
        height: 30%;
        text-align: center !important;
        background-image: url(bg-trans.png) !important;
        _background-image:none !important;
        _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale src='bg-trans.png');
        z-index: 1001 !important;
        
    }

    .overlay div {
        width:300px !important;
        background-color: #fff !important;
        text-align:center !important;
   }

    @media (min-width: 1040px) {
        .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
            width: 100% !important;
        }
    }

    @media (min-width: 1040px) {
        .overlay div {
            background-color: #fff !important;
            text-align: center !important;
        }
    }

    .ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable.overlay {
        z-index: 1001 !important;
    }

}

/*--------------------------MAJ 03/24 --------------------------*/

h2 {
    position: relative;
    z-index: 1000;
}


input.choice { margin-bottom: 1em;}

div.input-box.twoCol {
    display:flex;
    gap: 0.5rem;
}
    div.input-box.twoCol .input-wrapper:last-child{
                    flex: auto;
    }

#geoportalZipcode {  width: 6em;}

#geoportalResults {
    width: 80%;
    margin: 0 auto;
    padding: 0.5em;
    font-size: 1.2em;
    border: 1px solid var(--accent-warning);
    background: rgba(250, 250, 250, 0.5);
    cursor: pointer;
}
#geoportalResults .resultAlternate{
    margin-top:0.3em;
    color: var(--accent-error);
    border-top: 1px solid var(--accent-error);
}

/* TST-1277 */
#recaptchaInfo {
    color: #D60000;
    font-weight: bold;
    padding-bottom: 0.5rem;
}

/* TST-1274 */
.titleSteps {
    padding-bottom: 1rem;
}

/* TST-1921 */
@media (max-width: 1039px) {

    .logo_ofgestion{
        width: 25%; 
        display : block;
        margin : auto;
    }

}

@media (max-width: 500px) {

    .logo_ofgestion{
        width: 35%; 
        display : block;
        margin : auto;
    }


}

@media (max-width: 48rem) {

    p{
        max-width: 100%;
        white-space: normal !important;
        word-wrap: break-word;
    }


    
}

@media (max-width: 1039px) {

    .logo_ofgestion {
        width: 13%;
    }
    
}

@media (max-width: 650px) {

    .logo_ofgestion {
        width: 20%;
    }
    
}

@media (max-width: 450px) {

    .logo_ofgestion {
        width: 25%;
    }
    
}


@media (max-width: 350px) {

    .logo_ofgestion {
        width: 30%;
    }
    
}