/* FONTS */
@font-face {
    font-family: 'SohoGothicStd-Regular';
    src: url('../fonts/SohoGothicRegular/312FC6_0_0.eot');
    src: url('../fonts/SohoGothicRegular/312FC6_0_0.eot?#iefix') format('embedded-opentype'), url('../fonts/SohoGothicRegular/312FC6_0_0.woff2') format('woff2'), url('../fonts/SohoGothicRegular/312FC6_0_0.woff') format('woff'), url('../fonts/SohoGothicRegular/312FC6_0_0.ttf') format('truetype');
}
@font-face {
    font-family: 'roboto_slabbold';
    src: url('../fonts/RobotoSlab/robotoslab-bold-webfont.woff2') format('woff2'),
    url('../fonts/RobotoSlab/robotoslab-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'roboto_slablight';
    src: url('../fonts/RobotoSlab/robotoslab-light-webfont.woff2') format('woff2'),
    url('../fonts/RobotoSlab/robotoslab-light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'roboto_slabregular';
    src: url('../fonts/RobotoSlab/robotoslab-regular-webfont.woff2') format('woff2'),
    url('../fonts/RobotoSlab/robotoslab-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'roboto_slabthin';
    src: url('../fonts/RobotoSlab/robotoslab-thin-webfont.woff2') format('woff2'),
    url('../fonts/RobotoSlab/robotoslab-thin-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
body {background: #fff;font-family: 'Archivo', sans-serif;color: #565656;}
a {text-decoration: none;color: #263f93}
.page-wrap {padding-top: 95px}
.robotoSlab {font-family: roboto_slabregular, serif;}
.robotoSlabBold {font-family: roboto_slabbold, serif;}

/*** COLORS ****/
.bggreen {background-color: #b3ce00}
.bggreenlight {background-color: #c2d733}
.bgorange {background-color: #fe8f00;color: white}
.orange {color: #fe8f00}
.orangelight {color:#fd9d2a}
.bgorangelight {background-color:rgba(253,157,42,0.05)}
.bgpurple {background-color: #de50b1;color: white}
.purple {color:#de50b1}
.bgpurplelight {background-color: #fef6fb}
.bglightblue {background-color: #3f76be;color: white}
.bglighterblue {background-color: #f2f8fc}
.lightblue {color:#3f76be}
.bgblue {background-color: #263f93;color: white}
.blue {color:#263f93}
.dark {color:#222222}
.bglightgrey {background-color: #f9f9f9}

/******HEADER******/
form.search {display: none}

/******NAV****/
header {transition: top 0.5s linear;}
.main-nav {transition: top 0.5s linear;}
.navbar-ctop {padding: 20px 0;}
.navbar-ctop a {color: white}
.navbar .container {padding-top: 0;padding-bottom: 0}
.navbar-brand {margin-right: 0}
.navbar-brand img {max-width: 250px}
.navbar-nav, input {font-family: 'Public Sans', sans-serif;font-size: 0.8em;color: white}
.navbar-login {display: none}
.main-nav ul {margin:0;padding: 0;list-style: none}
.root-menu-item ul li {text-align: center;padding: 4px 0;}
.root-menu-item ul li a {color: white;text-decoration: none;font-family: roboto_slabregular, serif;font-size: 1.4em;min-height: 55px;display: flex;align-items: center;}
.menu-sub {position:absolute;width: 100%;left: 0;margin: 0 0 !important;display: none}
.menu-close, .menu-text {display: none}
a.menu-item-root {justify-content: center;transition:transform .75s}
.fa, .fas{cursor:pointer;transition:transform .25s}
a.menu-item-root .fa-2x {font-size: 1.4em}
ul.menu-sub li {text-align: left;border-bottom: 1px solid rgb(0,0,0,0.1);padding: 10px 20px;}
.mobile-search .fa {font-size: 1.2em;}
.rotate{transform:rotate(180deg)}

/******HOME******/
.card-home {text-align: center;padding: 20px}
.card-home .card-body {padding: 0}
.card-body {text-align: center}
.card-body h2 {font-size:36px;padding-top: 20px;margin-bottom: 15px;}
.card-body h3 {margin-bottom: 30px;font-size: 1.5em}
.card-wrap {border: 1px solid #efefef}
.card-wrap p {font-size: 1.4em;color: #565656;padding-top: 20px;line-height: 1.0em}
.card-wrap a {display: block;width: 100%; color: white;padding: 10px;text-transform: uppercase;border-top-left-radius: 5px;border-top-right-radius: 5px}
.card-wrap a {display: block;width: 100%; color: white;padding: 5px;text-transform: uppercase;border-top-left-radius: 5px;border-top-right-radius: 5px}
.home-intro-wrap {margin-top:20px;margin-bottom: 80px}
.home-intro {margin-top: 70px;text-align: center}
.home-intro p {font-size: 1.1em}
.home-intro h2 {font-size: 2.8em}
#myModal {}

#home-news {background: url("/themes/front2023/img/calendrier-bkg.jpg");padding: 60px 0}
.home-news-title h2 {color: white}
.card-news {min-height: 333px;border-width: 0;box-shadow: rgba(34, 34, 34, 0.5) 1px 1px 20px 0 !important}
.card-news h5 {font-size: 1.2em;text-transform: capitalize}
.card-news h6 {font-size: 1.6em;color: #3f76be}
.card-news button {background-color: #444}
.home-news-title .event-none {color: white}

.card-society .card-body h2 {padding-top: 0;
    margin-bottom: 0;font-size: 24px}


/*** FORMS ****/
input, select, textarea {font-family: 'Public Sans', sans-serif;font-size: 0.8em;color: #666}
input::placeholder {color:lightgrey; opacity: 0.5;}
.contact-form fieldset {margin-bottom: 35px}
.form-select {margin-bottom: 15px}
.form-label {margin-top: 10px}
fieldset {margin-bottom: 20px}
#campus-form-register-form fieldset {background: aliceblue;padding: 10px;}
legend {font-size: 1.3rem;text-transform: uppercase;font-weight: bold;border-bottom: 1px solid #666;margin-bottom: 10px}

/***** ELEMENTS ********/
.accordion-item {margin-bottom:15px;border-radius: 0px !important;}
.accordion-body {background-color: #fafafa }
.accordion-item button {background-color: #fafafa;font-family: Archivo, Serif;font-weight: bold;color: #222222;font-size: 18px}
.accordion-item:first-of-type .accordion-button {border-radius: 0px !important;}
.accordion-item:not(:first-of-type) {border-top: 1px solid #dee2ef;}
.accordion-button:not(.collapsed) {color: inherit;background-color: #fafafa;border-bottom: none;}
.accordion-button:focus {border: none;box-shadow: none}
.btn {text-transform: uppercase;padding: 10px 30px}
.btn-outline, .cms-file {border: 1px solid}
.btn-cons {color: white;}
.btn-group-cons {margin-top: 40px}
.btn-group-cons a {margin: 0 20px 30px 0}
.cms-file {padding: 9px 30px;border-radius: 0.375rem;vertical-align: middle;display: inline-block;font-size: 0.9em}
ul.files {padding: 0;margin: 0;list-style-type: none}
ul.files li {margin-bottom: 8px}
.errorSummary ul {padding-left: 0}
.errorSummary ul li, .alert-error ul li, .flash-error {list-style: none;margin: 0 0 5px 0;background-color: #F2DEDE;color: #EE5F5B;border: 1px solid #FBEED5;padding: 8px 35px 8px 14px;}
.errorMessage {color: #EE5F5B;}
a.anchor {display: block;position: relative;top: 30px;visibility: hidden;}
a.site-anchor {display: block;position: relative;top: -70px;visibility: hidden;}
.flash-info, .flash-success, .flash-warning, .flash-error {margin: 0 auto;padding: 10px 22px;font-size: 1em;vertical-align: middle;}

/****** MAIN ********/
main .banner {padding-top: 11vh;padding-bottom: 10vh;background-size: cover;background-position: center center;background-repeat: no-repeat;margin-top: 48px}
main h1 {color: #9a9a9a;text-transform: uppercase;letter-spacing: 3px;font-size: 16px;margin-bottom: 30px}
main h2 {color: #4f5766;font-size: 36px;margin-bottom: 20px;font-family:  roboto_slabbold, serif}
main p.intro {font-family:  roboto_slabbold, serif;font-size: 20px}
/*.content-text {margin-top: 50px}*/
.expanded-info h4 {font-family: roboto_slabregular, Serif;margin-bottom: 30px;color: #222222}
.expanded-info h4 i {margin-right: 10px; border-radius: 50%;padding: 10px;color: white;}
.expanded-info p {font-size: 1.2em;margin-bottom: 30px}
.page-icon {margin-top: -50px}
.page-icon span {margin-left:15px;background-color: white;width: 105px;height:105px;line-height:105px;text-align: center;border-top-right-radius:50%;border-top-left-radius: 50%;margin-bottom: 25px }
.site h4 {font-size: 1.1em}
.site-chef-wrap {padding-left:15px}
.site-chef, .address {margin-bottom: 30px}
.site-dec, .address {padding-left: 15px}
h4.b_teacher {font-family: roboto_slabbold, Serif}
.btn-close-teacher {position: absolute;right: 45px;margin-top: 2px;}
.address-prof, .address-cours {padding: 2px 4px;background: #f9f9f9;border-right: 2px solid white;}
.address-prof p {margin-bottom: 5px}
.show-teacher {margin-top:40px}
.info-contact {margin-bottom: 30px}
.info-contact ul, ul.menu-fct, .tab-content ul, .alert-error ul {margin: 0;list-style-type: none;padding-left: 8px}
.col-left-wrap {margin-top: 25px; margin-bottom: 25px;padding-right: 25px}
ul.menu-fct li a {padding: 5px 0;font-size: 1.1em;font-weight: bold;display: block;border-bottom: 1px dotted #caccd1}
#topBtn {display: none;position: fixed;bottom: -5px;right: 30px;z-index: 99;border: none;outline: none;background-color: #555;color: white;cursor: pointer;padding: 5px;border-radius: 10px;font-size: 18px;opacity: 0.7;width: 45px;}

/****** TEXT ONLY **************************/
.content-text-block {padding: 50px 15px 30px 15px;border-bottom: 2px dotted #caccd1}
.text-only-title {background-color: #f9f9f9;padding: 50px 20px;margin-top: 50px}
.text-block-title h3 {font-family: roboto_slabbold, Serif, serif;font-size: 1.9em}
.text-block-title div {margin-top: 15px;margin-bottom: 20px}
.text-block-title img {width: 100%}

/*******GRIDDER****************/
.tab-content {width: 100%;padding-top: 20px;padding-bottom: 20px;display: none;}
.tab-content h2 {font-size: 26px}
.tab-content:first-child {display: block;}
.tabs-menu {height: 30px;clear: both;border-bottom: 1px dotted #878787;border-top: 1px dotted #878787;padding: 0;margin: 25px 0 0 0;list-style: none;}
.tabs-menu li {height: 30px;line-height: 30px;float: left;}
.tabs-menu li a {padding-right: 8px;padding-left: 8px;border-right: 1px dotted #878787;text-decoration: none;color: #494949;display: inline;font-size: 0.9em;}
.tabs-menu li:last-child a {border-right: none;}
.tabs-menu li:first-child a {padding-left: 0;}
/*.tab-content ul {padding-left: 35px}*/
.tab-content h5 {font-size: 1.0em;font-weight: bold;margin-bottom: .2rem}
.gridder-expanded-content h3 {font-family: roboto_slabregular, Serif, serif}
.gridder-expanded-content img {width: 100%}
.gridder-list img {border-top-left-radius: 12px;border-top-right-radius: 12px}
.gridder-list span {border-bottom-left-radius: 12px;border-bottom-right-radius: 12px;background-color: #4f5766;font-size: 15px}
.gridder-list:nth-child(n) {margin-bottom: 2%;}
.abrev-prof {display: none}
.close-teacher-profile {display: block;float: right !important;cursor: pointer}
/***********NEWS********************/
.news-item {padding: 40px 0;margin-bottom: 60px}
.news-title {margin-bottom: 35px}
.news-item h3, .news-item h4 {
    font-family: roboto_slabregular, Serif, serif}
.news-item h3 {color: white}
.news-item h4 {color: #de50b1;font-weight: bold;font-size: 1.7em}
/*.news-item-img img {max-width: 300px}*/
.news-text {font-family: "Archivo", serif;font-style:normal;font-size: 1.2em;color: rgba(0,0,0,0.7)}
.news-text-teaser {color:rgba(0,0,0,0.6);font-weight:700;}
.fusion-separator-border.sep-dotted  {border-bottom-style: dotted;height:20px;amount:20px;color:#caccd1;border-color:#caccd1;border-top-width:3px;margin: 40px 0}
.with-separator {border-bottom: 2px dotted #caccd1;margin-bottom: 50px}
.news-item-var {position:relative;background-color: white;padding:40px 20px 20px 20px;border-radius: 12px;box-shadow: 1px 1px 20px 0px rgba(79,87,102,0.5);width: 94%}
.news-item-var h3 {color: rgba(0,0,0,0.7)}
ul.agenda, .news-files ul, ul.file, ul.sites, ul.flashes {list-style-type: none;padding: 0;}
ul.agenda li a, ul.sites li a {padding: 3px 10px;font-size: 1.2em;display: block;width: 100%}
ul.agenda li a.active {text-decoration: underline}
.news-files li, ul.file li {margin-bottom:8px}
.news-files ul li a {border: 1px solid;text-transform: uppercase;padding: 10px 30px;border-radius: 0.375rem;font-size: 0.7em;font-weight: 500;display: inline-block;}
.news-files ul li a:before, .cms-file:before {font-family: "Font Awesome 5 Free";content: "\f1c1";display: inline-block;padding-right: 3px;margin-right: 3px;vertical-align: middle;font-weight: 500;}
.trombone {display: block;height: 45px;position: absolute;top: -74px;}
.trombone img {width: 40px}

/*** PRICES ********/
.table-price-item {padding: 10px 0}
.label-site, .label-prof {display: none;margin-bottom: 12px;font-weight: bold}
.form-registration fieldset {margin-top: 25px}
.form-registration label {margin-right: 12px}
.schedules {display: none;margin-left: 15px;padding: 10px 0}

/***FOOTER****/
footer {background-color: #222222;color: white}
.footer-top > .row > .col {line-height: 0.5em !important}
.title-footer {font-size: 1.9em;margin-top: 70px;margin-bottom: 90px}
.copyright {border-top: 1px solid #444444;padding: 40px 0;margin-top: 80px}
.footer-logo img {max-width: 240px}
.footer-col {margin-bottom: 45px}
.footer-col:first-child {border: none;padding-left: 35px}
.footer-col-wrap {padding-left: 45px;padding-right:25px;border-left: 1px solid #444444;margin-left: 25px}
.footer-col-wrap h5 {text-transform: uppercase;font-size: 1.4em;font-family: roboto_slabregular, serif}
.footer-separator {align-self: flex-start;margin-right: auto;margin-top: 0px;width: 100%;max-width: 42px;height: 20px;}
.footer-separator-border {border-color: #fe8f00;border-top-width: 2px;border-top-style: dotted}
.footer-nav ul {padding: 0;margin: 0;list-style-type: none}
.footer-nav ul li {margin: 10px 0}
.footer-nav ul li a {color: #eeee;font-size: 1.3em}
.newsletter {padding:0.8em 1.5em;border-radius: 0}
.btn-newsletter-submit {padding: 15px 35px;width: 100%;color: white;font-size: 1.4em;text-transform: uppercase;background-color: #8bca02}
.btn-text-newsletter {margin-right: 12px}
footer a.btn-dark {font-size: 0.7em}

/****BUTTONS****/
.btn-dark {background-color: #292929;padding: 8px 15px}
.btn-icon-left {margin-right: .7em}
.btn-small {padding: 3px 10px}

/*** HELPERS ***********************************/
.d-flex-wrap {flex-wrap: wrap}

/*** PHOTOS GALLERY ****************************/
#lightgallery { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }

/***** OTHER ***********************************/
#ex-sidebar {list-style: none;padding: 0;margin:0}
#ex-sidebar li {padding: 5px 3px;border-bottom: 1px solid #263f93}
#ex-sidebar li.active {font-weight: bold; background-color: lightgrey}

.youtube-video {
    aspect-ratio: 16 / 9;
    width: 100%;
}


/****RESPONSIVE*****/
/** hack to increase bootstrap container width **/
@media (min-width: 1200px) {
    .container{
        max-width: 1460px;
    }
}

/*Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) {

}

/*Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) {
    .navbar-ctop {padding: 8px 0;}
    .navbar-login {display: flex}
    .root-menu-item ul li a {min-height: 10px}
    .menu-text {display: flex}
    .menu-icon {display: none}
    .mobile-search {display: none}
    form.search {display: flex}
    main .banner {margin-top: 0}
    /*.content-text {margin-top: 0px}*/
    .text-only-title {margin-top: 0px}
    .home-intro {text-align: left}
    .footer-col:first-child {padding-left: 0px}
    .footer-col {border-left: 1px solid #444444;margin-bottom: 45px}
    .footer-col-wrap {border-left: none;margin-left: 0}
    .root-menu-item ul li a {font-size: 1.3em}
    .tabs-menu {margin: 0}
    .news-item-var {padding:40px 30px 20px 50px;}
    a.anchor {display: block;position: relative;top: -100px;visibility: hidden;}
    a.site-anchor {display: block;position: relative;top: -10px;visibility: hidden;}
    .with-separator {border-bottom: 2px dotted #caccd1;padding-bottom: 80px;margin-bottom: 50px;}
    .content-text-block {padding: 50px 30px 50px 20px}
    .abrev-prof {display: inline}
}

/*Large devices (desktops, 992px and up)*/
@media (min-width: 992px) {
    .menu-sub {position: absolute;width: calc(100% / 5);margin-top: -1px !important;margin-left: -12px !important;left: initial}

}

/*X-Large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) {}

/* styles CSS pour les écrans de 1340 pixels et en dessous */
@media (max-width: 1340px) {
    .home-intro .btn {display: flex; flex-direction: column; justify-content: center; align-items: center;}
}


/*XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1400px) {}


