body .tt_wrapper  {
	margin-bottom: 75px;
    margin-top: 15px;
}

body form.tt_generate_pdf input[type="submit"] {
    line-height: 2.15384615;
    font-family: inherit;
    padding: 0 15px 0 15px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    display: inline-block;
    min-height: 40px;
    letter-spacing: 0;
    text-transform: uppercase;
    font-weight: 600;
    background-color: var(--main-color);
    border: 1px solid var(--main-color);
}

.event_container .registered-users{
  height: 100px;
  overflow-y: scroll;
  padding-top: 5px;
  padding-bottom: 3px;  
  margin-bottom: 7px;
  margin-top: 7px;
}

.single-post:not(.elementor-page) .entry-content a:not(.wp-block-button__link):not(.wp-block-file__button), .page:not(.elementor-page):not(.woocommerce-page) .entry a:not(.wp-block-button__link):not(.wp-block-file__button){
	    text-decoration: none!important;
}

html body .tt_timetable .event a.event_hour_booking.booked{
	cursor: not-allowed;
}

html body #main .tt_tabs_navigation li, .ui-tabs .tt_tabs_navigation li {
    margin: 0 10px 0 0 !important;
}

#id-2530-646, #id-2530-647{
    border-bottom: solid 1px #dee2e6;
}

.page:not(.elementor-page):not(.woocommerce-page) .entry a:focus:not(.wp-block-button__link):not(.wp-block-file__button).event_hour_booking.booked:focus{
	background-color: rgba(0,0,0,.08);
	color: rgba(0,0,0,.2) !important;
	cursor: default;
}

body .tt_responsive .tt_timetable.small .box_header {
    color: #000 !important;
    font-family: inherit;
    font-weight: 600;
}

a.event_hour_booking:focus{
	background-color: var(--main-color)!important;
	color: #FFF!important;
}

body .tt_responsive .tt_timetable.small .tt_items_list span.available_slots, body .tt_responsive .tt_timetable.small .tt_items_list span.available_slots span.count{
	color: var(--main-color)!important;
}

body .tt_responsive .tt_timetable.small .tt_items_list span.available_slots{
	margin-top: 5px;
}

body .tt_responsive .tt_timetable.small .tt_items_list .value a.event_hour_booking {
	text-transform: uppercase;
	font-weight: 600;
}

body .tt_responsive .tt_wrapper {
    margin-bottom: 45px;
}

body .tt_responsive .tt_items_list li {
    padding: 8px 0 !important;
}

body .tt_responsive .tt_timetable.small .tt_items_list a, body .tt_responsive .tt_timetable.small .tt_items_list span {
    font-family: inherit;
    color: #000 !important;
    font-size: 14px;
}

body .tt_responsive .tt_timetable.small .tt_items_list span.event_description {
    margin-top: 5px;
}

body .tt_responsive .tt_timetable.small .tt_items_list span.event_description_1 {
    color: #666 !important;
}

body .registered-user{
	color: #AAAAAA;
	padding: 0 5px;
	font-size: 14px;
}

body .tt_booking_message select{
	height: 42px;
	border: 1px solid #dee2e6;
	padding: 0 10px;
}

body .registered-user i.wpmi-icon:not(.wpmi-label-1).wpmi-position-before {
    margin-right: 5px;
    font-size: 16px;
}

body .tt_booking .event_details_wrapper {
    padding: 14px 13px 15px;
    border: 1px solid #dee2e6;
    margin: 0 0 15px 0;
}

body .tt_timetable .event_container.responsable-examens-ecrits{
	border-bottom: 1px solid #dee2e6;
}

body .tt_timetable .tt_single_event .event_container{
	border-bottom: none;
}

html body .tt_timetable .event.tt_single_event .event_hour_booking_wrapper{
	border-bottom: none;
}

#efaelec-ie-2021 .row_12, #efaelec-ie-2021 .row_13, #efaelec-ie-2021 .row_14, #efaelec-ie-2021 .row_15, #efaelec-ie-2021 .row_16, #efaelec-ie-2021 .row_17{
	display: none;
}

body .tt_timetable .event .before_hour_text, body .tt_timetable .event .after_hour_text {
    display: block;
    margin-bottom: 5px;
    color: #666;
}

body .tt_navigation_cell {
    margin: 0 30px 0 0 !important;
}

html body .tt_tabs_navigation li a:hover, html body .tt_tabs_navigation li a.selected, html body .tt_tabs_navigation li.ui-tabs-active a, html body .tt_tabs_navigation li a{
	padding-bottom: 5px!important;
	min-height: 33px;
}

html body .tt_tabs_navigation li a:hover, html body .tt_tabs_navigation li a.selected, html body .tt_tabs_navigation li.ui-tabs-active a{
	border-color: var(--main-color) !important;
}

html body #main .tt_tabs_navigation li a{
	border-bottom: 1px solid #999 !important;
	font-size: 13px!important;
}

body .tabs_box_navigation.sf-timetable-menu .tabs_box_navigation_selected {
    width: 280px;
    height: auto;
    min-height: 40px;
    padding: 0 15px 0 15px !important;
    line-height: 2.15384615;
    border-radius: 3px;
    background-color: var(--main-color);
    border: 1px solid var(--main-color);
}

body .tt_timetable .event a.event_hour_booking.unavailable, body .tt_timetable .event:hover a.event_hour_booking.unavailable, body .tt_timetable .event a.event_hour_booking.booked, body .tt_timetable .event:hover a.event_hour_booking.booked, body .tt_responsive .tt_timetable.small .tt_items_list .value a.event_hour_booking.unavailable, .tt_responsive .tt_timetable.small .tt_items_list .value a:hover.event_hour_booking.unavailable, body .tt_responsive .tt_timetable.small .tt_items_list .value a.event_hour_booking.booked, body .tt_responsive .tt_timetable.small .tt_items_list .value a:hover.event_hour_booking.booked {
    background-color: rgba(0,0,0,.08);
    color: rgba(0,0,0,.2) !important;
    cursor: default;
}

body .tt_timetable .hours {
    font-weight: 600;
}

body .tt_timetable .event span.available_slots{
	color: var(--main-color);
	font-weight: 600;
}

body .tt_timetable .event a, body .tt_timetable .event .event_header, body .tt_timetable .hours{
	color: #000!important;
}

body .tt_timetable .event a, body .tt_timetable .event .event_header{
	text-transform: uppercase;
	font-weight: 600;
}

body .tt_timetable .event{
	background-color: #FFF;
}

body .tt_timetable .event:hover, body .tt_timetable .event .event_container.tt_tooltip:hover {
    background-color: #FFF;
}

body form.tt_generate_pdf input[type="submit"]:hover{
	background-color: rgba(var(--main-color-rgb),.6);
    border: 1px solid rgba(var(--main-color-rgb),.6);
}

body .tabs_box_navigation label {
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
}

body .tabs_box_navigation .tabs_box_navigation_icon {
    margin-top: 15px;
}

body .sf-timetable-menu li ul{
	width: 100%;
	border-radius: 3px; 
	margin: 0!important;
	padding: 6px 0!important;
}

body .sf-timetable-menu li ul li a:hover, body .sf-timetable-menu li ul li.selected a:hover {
    background-color: #FFF;
    color: var(--main-color) !important;
}

body .tabs_box_navigation.sf-timetable-menu li:hover ul, body .tabs_box_navigation.sf-timetable-menu li.sfHover ul {
    top: 41px !important;
}

body .sf-timetable-menu li:hover ul a, body .sf-timetable-menu li.submenu:hover ul a{
	color: #000!important;
}

body .sf-timetable-menu li ul li {
    width: 100%;
    padding: 0!important;
}

body .sf-timetable-menu li ul li a{
	display:block;
}

body table.tt_timetable {
	background: #dee2e6!important;
}

body .sf-timetable-menu li:hover ul a, body .sf-timetable-menu li.submenu:hover ul a {
    font-size: 14px;
    font-family: "Open Sans",sans-serif;
    padding: 6px 14px;
}

body .tabs_box_navigation.sf-timetable-menu .tabs_box_navigation_selected:hover {
    color: #000000;
}

body .tt_timetable th, .tt_timetable td {
    color: #000;
    background: #FFF;
}

body .tt_timetable th{
	font-weight: 600;
}

body table.tt_timetable {
    border-spacing: 1px !important;
}

body .tt_booking a.tt_btn.book, body .tt_booking a.tt_btn.login, body .tt_booking a.tt_btn.continue {
    background-color: var(--main-color);
}

body .tt_booking a.tt_btn:hover {
    background-color: rgba(var(--main-color-rgb),.6);
    color: #fff;
}

body .tt_booking a.tt_btn{
	border-radius: 3px;
    display: inline-block;
    font-family: inherit;
    font-size: 14px;
    line-height: 2.15384615;
    min-height: 40px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    text-transform: uppercase;	
    padding: 5px 15px;
    border: 0;
    cursor: pointer;
    text-align: center;
    transition: all 0.3s ease;
    height: auto;
    min-height: 40px;	
}

body .tt_timetable .event .event_container:last-child, body .tt_timetable .event.tt_single_event .event_hour_booking_wrapper{
	border-bottom: 1px solid #dee2e6;
}

body .tt_timetable .event.tt_single_event{
	border-bottom: 1px solid #dee2e6!important;
}

body .tt_timetable td.tt_single_event .event_hour_booking_wrapper.always {
    padding: 0 10px 10px 10px;
    margin: 3px 0 0 0;
    z-index: 2;
    position: relative;
}

body .tt_booking .tt_booking_message h2{
	font-family: inherit;
}

body .tt_booking .tt_booking_message p, body .before_hour_text {
    color: #000;
}

#efaelec-ie-2021{
	margin-bottom: 0;
}

body .tt_timetable .event hr {
    display: none;
}

body .tt_timetable .event span.available_slots + .event_hour_booking_wrapper.always{
	margin-top: 10px;
    position: absolute;
    width: 100%;
    bottom: 7px;
}

body .tt_timetable .event .bottom_hour, .event_layout_4 .tt_timetable .event .top_hour{
	margin-bottom: 5px;
}

body .tt_booking_overlay {
    background-color: rgba(var(--main-color-rgb),.6);
}

body .tt_timetable .event_container{
	padding-left: 0;
	padding-right: 0;
	border-bottom: solid 1px #dee2e6;
    position: relative;
    padding-bottom: 60px;
}

body .tt_timetable .event .event_header, body .tt_timetable .event .before_hour_text, body .tt_timetable .event .after_hour_text, body .tt_timetable .event .bottom_hour, body .tt_timetable .event span.available_slots, body .tt_timetable td .event_hour_booking_wrapper{
	padding-left: 10px;
	padding-right: 10px;
}

body .single-post:not(.elementor-page) .entry-content a:focus:not(.wp-block-button__link):not(.wp-block-file__button), .page:not(.elementor-page):not(.woocommerce-page) .entry a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
    background: inherit;
    color: inherit;
}

.tt_navigation_wrapper {
    margin-bottom: 20px;
}

.page-template-page-calendrier-ie .tt_navigation_wrapper  {
    margin-bottom: 0;
}

#efaelec-ie-2021.tt_tabs .tt_timetable td, #efaelec-em-2021.tt_tabs .tt_timetable td {
    min-width: 215px;
}

body .tt_timetable .event a.event_hour_booking, body .tt_items_list .value a.event_hour_booking {
    background-color: var(--main-color);
    color: #FFF!important;
    font-weight: 600;
}

body .tt_timetable .event a.event_hour_booking:hover, body .tt_items_list .value a.event_hour_booking:hover {
    background-color: var(--main-color);
}

span.info-btn{
	transition: .2s;
	cursor: pointer;
}

span.info-btn:hover{
	opacity: .6;
}

body .tt_booking .tt_booking_message .content-info-popup{
	text-align: left;
}

span.info-btn i.wpmi-icon:not(.wpmi-label-1).wpmi-position-before{
	margin-right: 0;
	margin-left: 0;
}

body .tt_booking .tt_booking_message .content-info-popup p{
	margin-top: 0;
	margin-bottom: .5rem;
}

body .tt_timetable .event .close-for-expert a.event_hour_booking,
body .tt_timetable .event .montage-postes-oraux-manipulations-iele a.event_hour_booking,
body .tt_timetable .event .demontage a.event_hour_booking,
body .tt_timetable .event .montage-examens-ecrits-maturites a.event_hour_booking,
body .tt_timetable .event .surveillants-examens-ecrits-maturites a.event_hour_booking{
	background-color: #000;
}

body .tt_timetable .event .poste-2-ie-manipulations a.event_hour_booking,
body .tt_timetable .event .poste-3-ie-manipulations-conseils-clients a.event_hour_booking,
body .tt_timetable .event .poste-4-ie-manipulations a.event_hour_booking,
body .tt_timetable .event .poste-5-ie-manipulations-telecom a.event_hour_booking,
body .tt_timetable .event .formation-manipulations a.event_hour_booking,
body .tt_timetable .event .poste-2-em-manipulations a.event_hour_booking,
body .tt_timetable .event .poste-3-em-manipulations-conseils-clients a.event_hour_booking,
body .tt_timetable .event .poste-1-et-2-em-manipulations a.event_hour_booking,
body .tt_timetable .event .poste-2-ie-manipulations-equipe a.event_hour_booking,
body .tt_timetable .event .poste-3-ie-manipulations-conseils-clients-equipe a.event_hour_booking,
body .tt_timetable .event .poste-4-ie-manipulations-equipe a.event_hour_booking,
body .tt_timetable .event .poste-2-3-em-manipulations-conseils-clients .event_hour_booking,
body .tt_timetable .event .poste-2-3-em-manipulations-conseils-clients .event_hour_booking:hover{
	background-color: #ffcd39;
}



body .tt_timetable .event .formation-oraux a.event_hour_booking,
{
	background-color: var(--main-color);
}

body .tt_timetable .event .taxation-tp-em a.event_hour_booking{
  background-color: #FF6961;
}

body .tt_timetable .event .taxation-tp-ie a.event_hour_booking{
  background-color: #77B5FE;
}

body .tt_booking a {
    color: var(--main-color);
}

body .tt_timetable .event a.event_hour_booking.unavailable{
	display:none;
}

body table.tt_timetable{
	margin-bottom: 0;
}

body .tt_timetable td.tt_single_event .event_hour_booking_wrapper.always{
    margin-top: -50px;
}

@media only screen and (max-width: 767px){
	body .registered-user {
	    padding: 0 0 2px 0;
	}
}

.legend-container {
    display: flex;
    gap: 20px; /* Espacement entre les éléments */
    align-items: center;
    font-family: Arial, sans-serif;
    margin-top:15px;
}

.legend-item {
    display: flex;
    align-items: center;
}

.legend-color {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    border: 1px solid #ddd; /* Légère bordure pour visibilité */
}

/* Couleurs spécifiques */
.color-black { background-color: #000; }
.color-blue { background-color: #77B5FE; }
.color-red { background-color: #FF6961; }
.color-green { background-color: var(--main-color); }
.color-yellow { background-color: #ffcd39; }

.dashicons.color-red{
  background-color: #FFF;
}