/*
Theme Name: Studio 303 (Neve FSE Child)
Template: neve-fse
*/

/* Structure */

@media screen and (min-width: 1300px) {
	:root{
		--wp--style--global--wide-size: 1400px;
		--wp--style--global--content-size: 1400px;
	}
}

@media screen and (min-width: 1850px) {
	:root{
		--wp--style--global--wide-size: 1800px;
		--wp--style--global--content-size: 1800px;
	}
}

/* Header */

header ul.wp-block-navigation__container > li.has-child > a span{
	text-transform: uppercase;
}

header .wp-block-navigation-item.has-child > a:hover,
header .wp-block-navigation-item.has-child > a:focus{
	paint-order: stroke fill;
	-webkit-text-stroke-width: 0.0625rem;
	color: var(--wp--preset--color--ti-fg);
	-webkit-text-stroke-color: var(--wp--preset--color--ti-fg);
	transition: linear 0.25s;
}

header .wp-block-navigation-item.has-child > a span{
	text-underline-offset: 0.125rem;
	text-decoration-thickness: 0.125rem;
}

header .wp-block-navigation-item.has-child > a:hover span,
header .wp-block-navigation-item.has-child > a:focus span{
	text-decoration-color: var(--wp--preset--color--ti-accent);
}

header .wp-block-navigation__container > .wp-block-navigation-link a:hover,
header .wp-block-navigation__container > .wp-block-navigation-link a:focus{
	paint-order: stroke fill;
	-webkit-text-stroke-width: calc(0.0625rem);
	color: var(--wp--preset--color--ti-fg);
	-webkit-text-stroke-color: var(--wp--preset--color--ti-fg);
	transition: linear 0.25s;
}

header .wp-block-navigation__container > .wp-block-navigation-link a span{
	text-underline-offset: 0.125rem;
	text-decoration-thickness: 0.125rem;
}

header .wp-block-navigation__container > .wp-block-navigation-link a:hover span,
header .wp-block-navigation__container > .wp-block-navigation-link a:focus span{
	text-decoration-color: var(--wp--preset--color--ti-accent);
}

header .wpml-language-switcher-navigation-block .wp-block-navigation-item__label{
	text-transform: capitalize;
}

header .wp-block-navigation-item[data-wpml='language-item']:first-of-type{
	margin-top:0px !important;
}

body.lang-fr header .wp-block-navigation-item[data-wpml='language-item']:first-of-type a span{
	font-weight:bold;
}

body.lang-en header .wp-block-navigation-item[data-wpml='language-item']:last-of-type a span{
	font-weight:bold;
}

header .wp-block-navigation-item[data-wpml='current-language-item']:after{
	margin-left:0.25rem;
	content:'/';
}

header .wp-block-navigation-item[data-wpml='current-language-item'] span{
	color:var(--wp--preset--color--ti-bg-alt);
}

header .wp-block-navigation .wpml-language-switcher-navigation-block ul.horizontal-list{
	gap:0.25rem !important;
}

body.lang-fr header .wp-block-navigation .wpml-language-switcher-navigation-block ul.horizontal-list{
	flex-direction:row-reverse;
}

@media screen and (min-width: 601px) {

	header .wp-block-navigation__submenu-container > li a:hover,
	header .wp-block-navigation__submenu-container > li a:focus{
		background: radial-gradient(circle,var(--wp--preset--color--white) 0%,var(--wp--preset--color--ti-accent) 50%,var(--wp--preset--color--white) 100%);
	}

	header .wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container, .wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container, .wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container{
		min-width:225px;
		border:1px solid var(--wp--preset--color--ti-accent);
	}

}

@media screen and (max-width: 600px) {

	header .wp-block-navigation__responsive-container-content ul li span,
	header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container>li>a span{
		font-size:1.25rem;
		line-height:1.5rem;
	}

	header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container{
		padding:0px;
	}

	header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
		gap:0px !important;
	}

	header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
		gap:12px !important;
	}
	
	header .wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container, .wp-block-navigation .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container, .wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within > .wp-block-navigation__submenu-container {
		min-width:100%;
		width:100%;
	}

	header .wp-block-navigation-item[data-wpml='current-language-item'] div{
		display:none !important;
	}
	
	header .wp-block-navigation-item[data-wpml='language-item']:first-of-type:after{
		content:'';
		display:none;
	}

	
}

.current-menu-ancestor > .wp-block-navigation-item__content,
body.programmation-template-wp-custom-template-l-ment-unique-l-ment-de-programmation-atelier-pro .menu_former > .wp-block-navigation-item__content,
body.programmation-template-wp-custom-template-l-ment-unique-l-ment-de-programmation-cours-tous-niveaux .menu_former > .wp-block-navigation-item__content,
body.programmation-template-wp-custom-template-l-ment-unique-l-ment-de-programmation-r-sidence  .menu_creer > .wp-block-navigation-item__content{
	paint-order: stroke fill;
	-webkit-text-stroke-width: calc(0.0625rem);
	color: var(--wp--preset--color--ti-fg);
	-webkit-text-stroke-color: var(--wp--preset--color--ti-fg);
	text-decoration:underline;
	text-underline-offset: 0.125rem;
	text-decoration-thickness: 0.125rem;
	text-decoration-color: var(--wp--preset--color--ti-accent);
}

li.current-menu-item > .wp-block-navigation-item__content{
	paint-order: stroke fill;
	-webkit-text-stroke-width: calc(0.0625rem);
	color: var(--wp--preset--color--ti-fg);
	-webkit-text-stroke-color: var(--wp--preset--color--ti-fg);
}

/* Homepage */

.landing_layout{
	height:calc(100vh - 150px);
	justify-content:space-between;
}

.wp-block-group.has-background.landing_layout{
	padding:0px;
}

h2.home_heading a{
	font-size:clamp(2.786rem, 2.786rem + ((1vw - 0.2rem) * 5.061), 5.38rem);
	font-style:normal;
	font-weight:700;
	text-decoration:none;
}

h2.home_heading a:hover, h2.home_heading a:focus{
	paint-order: stroke fill;
	text-shadow: -1px -1px 0px var(--wp--preset--color--ti-accent), 1px -1px 0px var(--wp--preset--color--ti-accent),
		-1px 1px 0px var(--wp--preset--color--ti-accent), 1px 1px 0px var(--wp--preset--color--ti-accent);
	color: var(--wp--preset--color--ti-accent) !important;
	cursor:pointer;
	-webkit-text-stroke-color: var(--wp--preset--color--ti-accent);
	-webkit-text-stroke-width: 0.095rem;
}

.prog_list_item_img img{
	border-radius: 2rem 8rem 0.5rem 3rem;
}


/* Buttons */

.home_buttons{
	gap:1px;
}

.home_buttons .wp-block-button:nth-child(even){
	/*margin-left:1rem;*/
}

.home_buttons .wp-block-button__link, .section_buttons .wp-block-button__link,
body .wp-block-button.is-style-outline>.wp-block-button__link{
	font-size:1.25rem;
	font-weight:600;
	color: var(--wp--preset--color--ti-fg);
	border:1px solid var(--wp--preset--color--ti-accent) !important;
	box-shadow:none;
	margin:0px;
	padding:0rem 1.5rem !important;
	background:var(--wp--preset--color--white);
	border-radius:1rem !important;
}

body .wp-block-button.is-style-fill > .wp-block-button__link{
	font-size:1.25rem;
	font-weight:500;
	color: var(--wp--preset--color--ti-fg);
	text-decoration:underline;
	text-underline-offset: 0.125rem;
	text-decoration-thickness: 0.125rem;
	background:none;
	border:1px solid var(--wp--preset--color--white);
	margin:0px;
	padding:0rem 1.5rem;
	border-radius:1rem;
}

body .programming_buttons .wp-block-button.is-style-outline > .wp-block-button__link,
body .programming_buttons .wp-block-button.is-style-fill > .wp-block-button__link{
	text-transform:uppercase;
}

body .wp-block-button.is-style-outline > .wp-block-button__link{
	font-weight:500;
}

.home_buttons .wp-block-button__link:hover, .section_buttons .wp-block-button__link:hover,
.home_buttons .wp-block-button__link:focus, .section_buttons .wp-block-button__link:focus,
.section_buttons .active_section .wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link:hover{
	background: radial-gradient(circle,var(--wp--preset--color--white) 0%,var(--wp--preset--color--ti-accent) 50%,var(--wp--preset--color--white) 100%);
}

body .wp-block-button.is-style-fill > .wp-block-button__link:hover,
body .wp-block-button.is-style-fill > .wp-block-button__link:focus{
	border:1px solid var(--wp--preset--color--ti-fg);
}

/* Table of Contents */

.simpletoc-list{
	list-style-type:none;
	padding-left:0px;
}

.simpletoc-list li a{
	color: var(--wp--preset--color--ti-bg-alt);
	font-weight:300;
	text-decoration:none;
}

.simpletoc-list li a:hover, .simpletoc-list li a:focus{
	margin-left: 0.5rem;
	transition: linear 0.15s;
}

/* Footer */

.footer_flex{
	align-items:flex-start;
}

@media screen and (max-width: 600px) {

	footer p{
		text-align:center;
	}
	.footer_flex{
		flex-wrap:wrap;
	}
	.footer_social{
		justify-content:center;
	}
	.footer_full{
		flex:0 0 100%;
		justify-content:center;
	}
	
}

.footer_first{
	max-width:400px;
}

.footer_flex .footer_menu nav li a{
	font-size:0.85em;
}

.footer_flex .footer_menu .wp-block-navigation__container li.semibold a{
	font-weight:500;
}

.footer_button a.wp-block-button__link{
	border-color: var(--wp--preset--color--ti-accent) !important;
}

.footer_button a.wp-block-button__link:hover,
.footer_button a.wp-block-button__link:focus{
	background: var(--wp--preset--color--ti-accent-secondary);
	box-shadow: var(--nv-site-bg, #FFFFFF) 0 0 4px 1px inset;
}

footer .wp-block-group.newsletter{
	border-top: 1px dashed var(--wp--preset--color--ti-accent);
}

footer .wp-block-group.newsletter a{
	font-size:1.15rem;
	font-weight:500;
	text-decoration:underline;
	text-underline-offset: 0.125rem;
	text-decoration-thickness: 0.125rem;
	text-decoration-color: var(--wp--preset--color--ti-accent);
}

/* Archives styling */

.prog_grid_item_img img, .prog_grid_item_img_placeholder{
	border-radius: 0.5rem 4rem 0.5rem 1.75rem;
	border: 3px var(--wp--preset--color--ti-accent);
	border-style: none solid;
}

.archived_prog_grid_item .prog_grid_item_img img,
.archived_prog_grid_item .prog_grid_event_item_img img,
.archived_prog_grid_item .prog_grid_item_img_placeholder{
	filter: grayscale(100%);
}

.prog_grid_item_datetime{
	font-family:var(--wp--preset--font-family--roboto-condensed);
	font-weight:400;
	font-size:1rem;
}

.prog_grid_item .prog_grid_item_resume p,
.prog_grid_item .prog_feat_item_resume p{
	line-height:1.5rem;
}

.prog_grid_item h4{
	margin:0px;
	line-height:1.5rem;
}

.prog_grid_item h4 a{
	font-family:var(--wp--preset--font-family--roboto-condensed);
	font-weight:600;
	font-size:1.25rem;
	text-decoration:none;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
		line-clamp: 2; 
	-webkit-box-orient: vertical;
}

.prog_list_grid .prog_grid_item h4 a{
	font-family:var(--wp--preset--font-family--roboto-condensed);
	font-weight:700;
	font-size:1rem;
	text-decoration:none;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
		line-clamp: 2; 
	-webkit-box-orient: vertical;
}

.prog_list_list h4{
	margin:0px;
}

.prog_list_list h4 a{
	font-family:var(--wp--preset--font-family--roboto-condensed);
	font-weight:700;
	font-size:1.25rem;
	text-decoration:none;
}

.prog_feat h3, .prog_feat_sidebar h3{
	margin:0px;
}

.prog_feat h3 a, .prog_feat_sidebar h3 a{
	font-family:var(--wp--preset--font-family--roboto-condensed);
	font-weight:700;
	font-size:1.25rem;
	text-decoration:none;
}

.prog_list_list .prog_grid_item_datetime{
	font-size:1.125rem;
}

.prog_feat_item_datetime{
	font-family:var(--wp--preset--font-family--roboto-condensed);
	font-weight:200;
	font-size:1.25rem;
}

.prog_feat_sidebar .prog_feat_item_datetime{
	font-family:var(--wp--preset--font-family--roboto-condensed);
	font-weight:200;
	font-size:1rem;
}

.prog_grid_item h5{
	font-weight:400;
	font-size:1rem;
	color: var(--wp--preset--color--ti-bg-alt);
	margin:0px;
}

.prog_list_grid .prog_grid_item_datetime{
	font-size:1rem;
	font-weight:200;
	height:3.5rem;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
		line-clamp: 2; 
	-webkit-box-orient: vertical;
}

@media screen and (max-width: 600px) {

	.prog_list_grid .prog_grid_item_datetime{
		height:1.5rem;
		-webkit-line-clamp: 1;
			line-clamp: 1; 
	}

}

.titre_residence{
	font-family:var(--wp--preset--font-family--roboto);
	font-size:1rem;
	font-weight:400;
}
.titre_nom_artistes{
	font-family:var(--wp--preset--font-family--roboto);
	font-size:1.25rem;
	font-weight:400;
	text-transform:uppercase;
}

.filter_link{
	cursor: pointer;
	text-decoration:underline;
	text-underline-offset: 0.125rem;
	text-decoration-thickness: 0.125rem;
}

.filter_element_count{
	color: var(--wp--preset--color--ti-bg-alt);
	font-size:0.95rem;
}

.filter_section{
	line-height:1.125rem;
}

.filter_section_title{
	text-transform: uppercase;
	font-weight:200;
}

.filter_section_item{
	display:inline-block;
	font-size: 0.85rem;
	line-height:1rem;
	margin-top:0.5rem;
}

/* Content styling */

.wp-singular.single-programmation p.navigation_separator,
.page-template-wp-custom-template-page-avec-navigation p.navigation_separator,
.page-template-wp-custom-template-page-with-navigation p.navigation_separator,
.page-template-wp-custom-template-page-lan p.navigation_separator,
.page-template-wp-custom-template-page-leap p.navigation_separator,
.entry-content p.navigation_separator{
	height: 0.75rem;
	width: 4rem;
	border-radius: 1rem;
	border: 1px solid var(--wp--preset--color--ti-accent-secondary);
	background: var(--wp--preset--color--ti-accent-secondary);
	box-shadow: var(--wp--preset--color--white) 0px 0px 3px 2px inset;
}

.page-template-wp-custom-template-page-avec-navigation p.navigation_separator{
	margin-top:0.5rem;
}

hr, .wp-block-separator:not(.is-style-wide):not(.is-style-dots),
.wp-block-separator.is-style-wide{
	width:100%;
	border-bottom:1px dashed var(--wp--preset--color--ti-accent-secondary);
}

.entry-content ul, .wp-block-post-content ul, .wp-block-acf-field-blocks-acf-text ul{
	list-style:none;
	margin-left:0;
	padding-left:1.2rem;
}

.entry-content ul li, .wp-block-post-content ul li, .wp-block-acf-field-blocks-acf-text ul li{
	text-indent:-1.2rem;
}

.entry-content ul li::before, .wp-block-post-content ul li::before, .wp-block-acf-field-blocks-acf-text ul li::before{
	content: "~ ";
	display:block;
	float:left;
	width:1.2rem;
}

.entry-content a:not(.wp-block-button__link):not(.programming_link):not(.home_link),
.wp-block-post-content a:not(.wp-block-button__link):not(.programming_link):not(.home_link),
.wp-block-acf-field-blocks-acf-text a:not(.wp-block-button__link):not(.programming_link), .partners_mention a:not(.wp-block-button__link){
	font-weight: 600;
	color: var(--wp--preset--color--ti-bg-alt);
	text-decoration: underline;
	text-underline-offset: 0.125rem;
	text-decoration-thickness: 0.125rem;
	text-decoration-color: var(--wp--preset--color--ti-accent);
}

.list_link{
	text-transform:uppercase;
	padding-top:1rem;
}

.programming_link{
	text-decoration:none;
}

.elan_heading a:where(:not(.wp-element-button)){
    font-family: var(--wp--preset--font-family--roboto-flex);
	font-weight:bold;
	font-size:0.85em;
}

.entry-content a:hover:not(.wp-block-button__link):not(.programming_link), .entry-content a:focus:not(.wp-block-button__link):not(.programming_link), .entry-content a:active:not(.wp-block-button__link):not(.programming_link),
.wp-block-post-content a:hover:not(.wp-block-button__link):not(.programming_link), .wp-block-post-content a:focus:not(.wp-block-button__link):not(.programming_link), .wp-block-post-content a:active:not(.wp-block-button__link):not(.programming_link),
.wp-block-acf-field-blocks-acf-text a:hover:not(.wp-block-button__link):not(.programming_link), .wp-block-acf-field-blocks-acf-text a:focus:not(.wp-block-button__link):not(.programming_link), .wp-block-acf-field-blocks-acf-text a:active:not(.wp-block-button__link):not(.programming_link),
.partners_mention a:hover:not(.wp-block-button__link):not(.programming_link), .partners_mention a:focus:not(.wp-block-button__link):not(.programming_link), .partners_mention a:active:not(.wp-block-button__link){
	color: var(--wp--preset--color--ti-fg);
	text-decoration-color: var(--wp--preset--color--ti-accent-secondary);
}

.wp-block-themeisle-blocks-accordion:not(.is-style-default):not(.studio303_filter) .wp-block-themeisle-blocks-accordion-item[open] > .wp-block-themeisle-blocks-accordion-item__title::after,
.wp-block-themeisle-blocks-accordion:not(.is-style-default):not(.studio303_filter) .wp-block-themeisle-blocks-accordion-item:not([open])>.wp-block-themeisle-blocks-accordion-item__title:after{
	font-size:1.5rem;
	line-height:1rem;
	transform: scale(1.5, 2.25);
	-webkit-transform: scaleX(1.5, 2.25);
}

.wp-block-themeisle-blocks-accordion:not(.is-style-default):not(.studio303_filter) .wp-block-themeisle-blocks-accordion-item__title,
.wp-block-themeisle-blocks-accordion:not(.is-style-default):not(.studio303_filter) .wp-block-themeisle-blocks-accordion-item__content{
	border-top:none;
	border-right:none;
	border-left:none;
	border-bottom-size:1px;
	border-bottom-style:dashed;
	border-bottom-color:var(--wp--preset--color--ti-accent-secondary);
}

.wp-singular.single-programmation .acf_data_wrapper{
	display:flex;
	flex-wrap:wrap;
}

.wp-singular.single-programmation .wp-block-post-featured-image img{
	border-radius:1rem 4rem 1rem 4rem;
}

.wp-singular.single-programmation .acf_data_wrapper span,
.wp-block-acf-field-blocks-acf-text span.prefix{
	padding-right:0.25rem;
}

.wp-block-acf-field-blocks-acf-text pre{
	margin:0;
}

.wp-block-acf-field-blocks-acf-text code{
	text-wrap-mode:wrap;
}

.wp-singular.single-programmation .group_dropin{
	gap:0.5rem;
}

.wp-singular.single-programmation .group_dropin,
.wp-singular.single-programmation .questions_lang,
.wp-singular.single-programmation .wp-block-acf-field-blocks-acf-text,
.wp-block-columns .wp-block-post-terms:not(.taxonomy-langue), .partners_mention, .partners_mention p:first-child{
	margin-top:0px;
}

.wp-singular.single-programmation .taxonomy-categorie_atelier .wp-block-post-terms__prefix,
.wp-singular.single-programmation .taxonomy-categorie_cours .wp-block-post-terms__prefix,
h3.partners, h3.documentation{
	flex-basis:100%;
	color: var(--wp--preset--color--ti-fg);
    font-family: var(--wp--preset--font-family--roboto-condensed);
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 400;
	line-height: var(--neve-font-line-height-h3, 1.35);
}

.wp-singular.single-programmation .taxonomy-langue .wp-block-post-terms__prefix{
	padding-right:0.25rem;
}

.wp-singular.single-programmation .taxonomy-accessibilite div, .wp-singular.single-programmation .taxonomy-rythme_atelier div{
	flex-basis:100%;
}

.residence_img_group{
	width:50%;
	float:right;
	margin-left:1rem;
}

.related_title:before, .prog_list_title:before, .prog_feat_title:before, .prog_feat_sidebar_title:before{
	content:"";
	background-image:url('assets/icon1.svg');
	background-size: contain;
	background-repeat: no-repeat;
	display: inline-block;
	width:0.75rem;
	height:0.75rem;
	line-height:1rem;
	margin-right:0.5rem;
}

/* Location template components */

.location-separateur {
	height: 10px;
	width: 76rem;
	border-radius: 1rem;
	border: 1px solid var(--wp--preset--color--ti-accent-secondary);
	background: var(--wp--preset--color--ti-accent-secondary);
	box-shadow: var(--wp--preset--color--white) 0px 0px 2px 2px inset;
}

.location-gallerie img {
	border-radius: 0.5rem 4rem 0.5rem 1.75rem;
	border: 3px var(--wp--preset--color--ti-accent);
	border-style: none solid;
}


/* Mobile display and styling */

.mobile-show, .mobile_show{
	display:none;
}

@media screen and (max-width: 600px) {

	.mobile-show, .mobile_show{
		display:block;
	}
	
	.mobile-hide, .mobile_hide{
		display:none;
	}
	
	.reverse-mobile, .reverse_mobile{
		flex-direction:column-reverse;
	}

	#landing{
		background:none !important;
	}
	
	.landing_layout{
		height:auto;
	}
	
	.landing_layout .landing_row{
		flex-wrap:wrap;
		justify-content: center;
		gap:0.25rem;
		margin-bottom:0.5rem;
	}
	
	.landing_layout .landing_row h2{
		width:100%;
		text-align:center;
	}
	
	.landing_layout .landing_row .wp-block-buttons.is-vertical{
		flex-direction:row;
		flex-wrap:wrap;
		gap:0.5rem 0.25rem;
		justify-content: center;
	}
	
	.residence_img_group{
		width:100%;
		float:none;
		margin-left:0;
	}


}