/**************************************************************************************************************/
/*
			ST DO 2022 - V1.5 Site generique

			Date : 31 janvier 2022
			Auteur : Marlene
			URL : http://pommier2:41980/st-do - liberté 4


*/
/**************************************************************************************************************/


/*------------------------------------------------------------------------------------------------------------*/
/*
	= RESET
*/
/*------------------------------------------------------------------------------------------------------------*/
* {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
body {
	font-family: var(--font-current);
	font-size: 62.5%; /*ensuite 1em=10px en taille normale*/
	color: var(--color-current);
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	border: none;
	font-family: var(--font-current);
	font-weight: 900;
	letter-spacing: normal;
}
ul {
	margin: 0;
    padding: 0;
	list-style: none;
    line-height: 1.3;
}
img {
	border: none;
	vertical-align: middle;
}
a, a:link { 
	text-decoration: none;
	color: var(--color-current);
	transition: all 0.5s;
}
a:visited {
	text-decoration: none;
	color: var(--color-current);
}
a:hover, a:focus {
	text-decoration: underline;
	color: var(--color-current);
}
input,
select,
textarea {
	padding: 10px 20px;
	border: 1px solid var(--color-current);
	border-radius: 3px;
	font-family: var(--font-current)!important;
	font-size: 1em!important;
	color: var(--color-current);
	transition: all 0.5s;
}
input[type=submit] {
	cursor: pointer;
}
input[type="text"]:focus,
input[type="password"]:focus,
textarea:focus {
	background-color:var(--color-grey);
	color: var(--color-current);
	outline: none;
}
.noscroll {
	overflow: hidden;
}

/*
	ELEMENTS DE PLONE
*/
dl.portlet,
dl.portalMessage,
div.managePortletsLink,
a.managePortletsFallback,
div.portletAssignments,
#content,
div.overlay,
#edit-bar,
#portal-sitemap,
#portal-searchbox,
#portal-globalnav,
#portal-breadcrumbs,
#portal-column-content #content,
#portal-footer,
#portal-siteactions,
#portal-colophon,
#portal-languageselector,
#content pre,
.portletItemDetails,
#portal-personaltools,
#fieldset-openid-login input,
#login-form input,
div.listingBar,
#content legend,
#content div.documentByLine,
.commentDate,
.comment,
#portal-sitemap .navTreeLevel2,
#portal-sitemap .navTreeLevel2 ul,
#content .discreet,
#sidebar .discreet,
#category {
	font-size: 100%;
}
#content a:link,
dl.portlet a:link,
#content a:visited,
dl.portlet a:visited {
	border: none;
	color: var(--color-current);
}
#content {
	clear: none;
}
#content ul {
	list-style: none;
	margin: 0;
}
.portletAssignments .portlet_here.portlet_visible .portletHeader {
	color: var(--color-current);
	background: #666;
}
body.template-logged_out #content,
body.template-login_form #content {
	text-align: left;
}
.highlightedSearchTerm {
	background: none!important;
	font-weight: normal!important;
}
div.width-full {
	width: 100%;
}
div.position-0,
div.position-1\:2 {
	margin: 0;
}
div.cell {
	float: none;
	left: 0;
	margin: 0;
	width: auto;
}
div.row {
	float: none;
}
#content-ckeditor,
body.cke_panel_frame {
    background: var(--color-white) !important;
}

/*------------------------------------------------------------------------------------------------------------*/
/*
	= BXSLIDER
*/
/*------------------------------------------------------------------------------------------------------------*/
/*
	RESET - LAYOUT
*/
.bx-wrapper {
	position: relative;
	margin: 0 auto 20px;
	padding: 0;
	*zoom: 1;
}
.bx-wrapper img {
	max-width: 100%;
	display: block;
}

/*
	THEME
*/
.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
	position: absolute;
	bottom: -30px;
	width: 100%;
}

/* LOADER */
.bx-wrapper .bx-loading {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2000;
	height: 100%;
	width: 100%;
	min-height: 50px;
	background: url(../images/bx-slider/bx_loader.gif) center center no-repeat var(--color-white);
}

/* PAGER */
.bx-wrapper .bx-pager {
	text-align: center;
	font-size: .85em;
	font-weight: 700;
	color: #666;
}
.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
	display: inline-block;
	*zoom: 1;
	*display: inline;
}
.bx-wrapper .bx-pager.bx-default-pager a,
#content .bx-wrapper .bx-pager.bx-default-pager a {
	display: block;
	margin: 0 3px;
	width: 10px;
	height: 10px;
	background: var(--color-current);
	border: 2px solid var(--color-current);
	text-indent: -9999px;
	outline: 0;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a:focus,
#content .bx-wrapper .bx-pager.bx-default-pager a:hover,
#content .bx-wrapper .bx-pager.bx-default-pager a:focus {
	background: var(--color-white);
}
.bx-wrapper .bx-pager.bx-default-pager a.active,
#content .bx-wrapper .bx-pager.bx-default-pager a.active {
	background: var(--color-white);
}

/* DIRECTION CONTROLS (NEXT / PREV) */
.bx-wrapper .bx-prev {
	left: 10px;
	background: url(../images/bx-slider/controls.png) no-repeat 0 -32px;
}
.bx-wrapper .bx-next {
	right: 10px;
	background: url(../images/bx-slider/controls.png) no-repeat -43px -32px;
}
.bx-wrapper .bx-prev:hover {
	background-position: 0 0;
}
.bx-wrapper .bx-next:hover {
	background-position: -43px 0;
}
.bx-wrapper .bx-controls-direction a {
	position: absolute;
	top: 50%;
	margin-top: -16px;
	outline: 0;
	width: 32px;
	height: 32px;
	text-indent: -9999px;
	z-index: 9999;
}
.bx-wrapper .bx-controls-direction a.disabled {
	display: none;
}

/* AUTO CONTROLS (START / STOP) */
.bx-wrapper .bx-controls-auto {
	text-align: center;
}
.bx-wrapper .bx-controls-auto .bx-start {
	display: block;
	text-indent: -9999px;
	width: 10px;
	height: 11px;
	outline: 0;
	background: url(../images/bx-slider/controls.png) -86px -11px no-repeat;
	margin: 0 3px;
}
.bx-wrapper .bx-controls-auto .bx-start:hover,
.bx-wrapper .bx-controls-auto .bx-start.active {
	background-position: -86px 0;
}
.bx-wrapper .bx-controls-auto .bx-stop {
	display: block;
	text-indent: -9999px;
	width: 9px;
	height: 11px;
	outline: 0;
	background: url(../images/bx-slider/controls.png) -86px -44px no-repeat;
	margin: 0 3px;
}
.bx-wrapper .bx-controls-auto .bx-stop:hover,
.bx-wrapper .bx-controls-auto .bx-stop.active {
	background-position: -86px -33px;
}

/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
	width: 80%;
	text-align: left;
}
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
	right: 0;
	width: 35px;
}

/* IMAGE CAPTIONS */
.bx-wrapper .bx-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #666;
	background: rgba(80, 80, 80, 0.75);
}
.bx-wrapper .bx-caption span {
	display: block;
	padding: 10px;
	color: var(--color-white);
	font-size: 0.85em;
}

/*------------------------------------------------------------------------------------------------------------*/
/*
	= PORLTETS
*/
/*------------------------------------------------------------------------------------------------------------*/
#portal-columns dl.portlet {
	margin: 0 0 30px;
}
#portal-columns dl.portlet dt {
	padding: 0;
	background: none;
}
#portal-columns dl.portlet dd {
	padding: 0;
}

/*--------------------------------------------------------------------------------------------------------------
	== LANGUAGES
--------------------------------------------------------------------------------------------------------------*/
.languages ul {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}
.languages li {
	margin: 0;
}
.languages li + li {
	margin-right: 20px;
}
.languages a {
	font-weight: 800;
	font-size: 1.4em;
	text-transform: uppercase;
	line-height: 1.4;
}
.languages a:hover,
.languages a:focus {
	text-decoration: none;
	color: var(--color-primary);
}

/*--------------------------------------------------------------------------------------------------------------
	== SOCIAL NETWORKS
--------------------------------------------------------------------------------------------------------------*/
.social-networks ul {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}
.social-networks li {
	margin: 0;
}
.social-networks li + li {
	margin-left: 5px;
}
.social-networks a,
.social-networks a:hover,
.social-networks a:focus {
	font-size: 1.4em;
	text-decoration: none;
}
.social-networks a::before {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 20px;
	height: 20px;
	background: var(--color-current);
	border-radius: 2px;
	color: var(--color-white);
	transition: all 0.5s;
}
.social-networks a:hover::before,
.social-networks a:focus::before {
	background: var(--color-primary);
}
.social-networks a span {
	position: absolute;
	top: -5000px;
}

/*--------------------------------------------------------------------------------------------------------------
	== SHORTS ACCES
--------------------------------------------------------------------------------------------------------------*/
.shorts-access ul {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}
.shorts-access li {
	margin: 0;
	display: flex;
	align-items: center;
    font-size: 1.3em;
    align-items: center;
    font-weight: bold;
}
.shorts-access li + li {
	margin-left: 20px;
}
.shorts-access a {
	position: relative;
	display: block;
	padding: 5px;
	padding-left: 0;
	color: var(--color-white);
	margin-right: 5px;
}
.shorts-access a:hover,
.shorts-access a:focus {
	color: var(--color-current);
	text-decoration: none;
}
.shorts-access a::before {
	font-size: 1.5em;
}
@media only screen and (min-width: 800px) {
	.shorts-access a span {
		position: absolute;
		top: calc(100% + 20px);
		left: 50%;
		transform: translate(-50%, 0);
		padding: 5px 10px 3px;
		background: var(--color-current);
		border-radius: 5px;
		font-size: 1.2em;
		font-weight: 400;
		color: var(--color-white);
		text-transform: uppercase;
		white-space: nowrap;
		opacity: 0;
		visibility: hidden;
		transition: all 0.5s;
	}
	.shorts-access a:hover span {
		top: calc(100% + 5px);
		opacity: 1;
		visibility: visible;
	}
	.shorts-access a span::before {
		content: '';
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translate(-50%, 0);
		border: 5px solid transparent;
		border-bottom: 5px solid var(--color-current);
	}
}
@media only screen and (max-width: 800px) {
	.shorts-access a span {
		display: none;
	}
	.shorts-access a.notMobile {
		display: none;
	}
}

/*--------------------------------------------------------------------------------------------------------------
	== POPINS
--------------------------------------------------------------------------------------------------------------*/
dl.portlet.popin {
	margin: 0;
	font-size: 1.2em;
}
.popin dt.portletHeader {
	padding: 0;
	background: none;
	font-size: 2em;
	font-weight: 400;
	color: var(--color-white);
	text-decoration: none;
}
dl.portlet.popin dt.portletHeader a,
dl.portlet.popin dt.portletHeader a:hover,
dl.portlet.popin dt.portletHeader a:focus{
	color: var(--color-white)!important;
	text-decoration: none;
}
dl.popin dd.portletItem {
	margin: 10px 0 0;
	padding: 0;
}
.popin input[type="text"] {
	background: var(--color-white);
	border: 1px solid var(--color-white);
	color: var(--color-current);
	opacity: 0.8;
}
.popin input[type="text"]:focus {
	outline: none;
	opacity: 1;
}

/*--------------------------------------------------------------------------------------------------------------
	== BOUTON VIDEO
--------------------------------------------------------------------------------------------------------------*/
.bt-video-full {
	z-index: 4;
	display: flex;
	justify-content: center;
	font-size: 3em;
	text-align: center;
	color: var(--color-white);
	cursor: pointer;
	font-family: var(--font-picto);
	cursor: pointer;
	position: absolute;
	bottom: 130px;
    right: 0;
    background: rgba(0,0,0,0.5);
    padding: 20px 30px;
    border-radius: 30px 0 0 30px;
	z-index: 9;
}
.bt-video-full.actif {
	pointer-events: none;
}
.bt-video-full .pause{
	display: none;
	font-size: 1.5em;
}

.bt-video-full .play{
	padding: 7px;
}
.bt-video-full.actif .play{
	display: none;
}

.bt-video-full.actif .pause{
	display: block;
}
@media only screen and (max-width: 800px) {
	.bt-video-full {
		font-size: 2em;
		padding: 15px;
	}
}

/*--------------------------------------------------------------------------------------------------------------
	== IMAGE HOME
--------------------------------------------------------------------------------------------------------------*/
.image-home {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
}
.image-home::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.2) 100%);;
}

/*
	VIDEO
*/
.image-home p {
	height: 100%;
}
.image-home video {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

/*
	VIDEO FULL
*/
.image-home iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.video-full {
	z-index: 3;
	opacity: 0;
	visibility: hidden;
	transition: all .5s;
}
.video-full.actif {
	opacity: 1;
	visibility: visible;
	display: block;
	cursor: pointer;
	background: rgba(255,255,255);
}
.video-full.actif video{
	object-fit: contain;
}
.video-full iframe{
	display: none;
}
.video-full.actif iframe{
	display: block;
}

/*
	IMAGE
*/
.image-home ul {
	height: 100%;
}
.image-home li {
	position: relative;
	display: block;
	height: 100%;
}
.image-home img {
	position: absolute;
	top: -10px;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
}
.image-home img:last-child {
	-webkit-mask: linear-gradient(black, transparent 60%);
	-webkit-filter: blur(2px);
	filter: blur(2px);
	mask: url('#mask');
}
.image-home rect {
	width: 100vw;
	height: 70vh;
}

/*--------------------------------------------------------------------------------------------------------------
	== HEADER HOME
--------------------------------------------------------------------------------------------------------------*/
.header-home {
	position: relative;
	z-index: 2;
	margin: 0 var(--margin-window);
	padding: var(--margin-current) 0 0;
}
.header-home ul {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translate(0,85%);
	display: flex;
	align-items: center;
	margin: 0;
	list-style: none;
}
.header-home ul li:first-child {
	flex: 1;
}
.header-home ul li:last-child {
	margin: 0 0 0 20px;
}
.header-home ul a {
	position: relative;
	display: inline-block;
	color: var(--color-white);
}
.header-home ul a::before {
	font-size: 4em;
}
.header-home ul a:hover,
.header-home ul a:focus {
	text-decoration: none;
}
.header-home ul a span {
	position: absolute;
	top: calc(100% + 20px);
	left: 50%;
	transform: translate(-50%, 0);
	padding: 5px 10px 3px;
	background: var(--color-current);
	border-radius: 5px;
	font-size: 1.2em;
	font-weight: 400;
	text-transform: uppercase;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: all 0.5s;
}
.header-home ul a:hover span {
	top: calc(100% + 10px);
	opacity: 1;
	visibility: visible;
}
.header-home ul a span::before {
	content: '';
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translate(-50%, 0);
	border: 5px solid transparent;
	border-bottom: 5px solid var(--color-current);
}
.header-home p {
	padding-top: 100px;
	background: url(../images/logo-st-do-blanc.png) center top no-repeat;
	background-size: auto 70px;
	text-align: center;
	font-size: 3em;
	font-family: var(--font-exergue);
	color: var(--color-white);
}
.header-home p strong {
	display: block;
	font-family: var(--font-current);
	font-size: 2em;
	font-weight: 900;
	line-height: 1;
}
@media only screen and (max-width: 1200px) {
	.header-home p strong {
		font-size: 1.5em;
	}
}
@media only screen and (max-width: 800px) {
	.header-home {
		overflow: hidden;
	}
	.header-home ul {
		top: 20px;
	}
	.header-home ul a::before {
		font-size: 3em;
	}
	.header-home p {
		background-size: auto 45px;
		font-size: 2.5em;
	}
}

/*--------------------------------------------------------------------------------------------------------------
	== LES PLUS
--------------------------------------------------------------------------------------------------------------*/
.lesplus {
	text-align: center;
}
.lesplus {}

/*
	TEXTE
*/
#portal-columns dl.portletStaticText.lesplus {
	margin: var(--margin-current) auto;
	max-width: 700px;
}
#portal-columns dl.portletStaticText.lesplus dt {
	margin-bottom: var(--margin-text);
	padding-bottom: 55px;
	background: url(../images/logo-st-do.png) center bottom no-repeat;
	background-size: auto 60px;
	font-size: 2.5em;
	font-weight: 900;
	color: var(--color-secondary);
}

@media only screen and (max-width: 800px) {
	#portal-columns dl.portletStaticText.lesplus dd {
		margin: 0 var(--margin-window);
	}
}

/*
	NAV
*/
#portal-columns dl.portletNavigationPlusTree.lesplus {
	position: relative;
	z-index: 2;
}
#portal-columns dl.portletNavigationPlusTree.lesplus::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 2;
	transform: translate(-50%, -15px);
	border: 30px solid transparent;
	border-top: 30px solid var(--color-white);
}
#portal-columns dl.portletNavigationPlusTree.lesplus dt {
	display: none;
}
#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 {
	position: relative;
	display: flex;
	justify-content: center;
	margin: 0 var(--margin-text);
	background: var(--color-primary);
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li {
	position: relative;
	flex: 1;
	margin: 0;
	padding: 0;
	background: var(--color-primary);
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li + li {
	margin-left: 5px;
}
#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li > a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 60px 20px;
	height: 100%;
	font-size: 1.2em;
	font-weight: 900;
	color: var(--color-white);
}
#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li > a:hover,
#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li > a:focus {
	background: var(--color-secondary);
}
#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li a:hover,
#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li a:focus {
	color: var(--color-white)!important;
	text-decoration: none;
}
#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li ul {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, 0);
	z-index: 2;
	padding: 40px;
	width: calc(100% + 60px);
	background: var(--color-secondary);
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	opacity: 0;
	visibility: hidden;
	transition: all 0.5s;
}
#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li ul li {
	margin: 20px 0 0;
}
#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li ul a {
	color: var(--color-white);
}
#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li ul a:hover,
#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li ul a:focus {
	color: var(--color-current)!important;
}
#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li ul > a {
	display: block;
	margin: 0 0 30px;
	font-weight: 700;
	font-size: 1.2em;
}

@media only screen and (min-width: 1100px) {
	#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li:hover ul {
		top: -20px;
		opacity: 1;
		visibility: visible;
	}	
}
@media only screen and (max-width: 1100px) {
	#portal-columns dl.portletNavigationPlusTree.lesplus::before {
		display: none;
	}
	#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 {
		flex-direction: column;
		background: none;
		box-shadow: none;
	}
	#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li + li {
		margin: 5px 0 0;
	}
	#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li > a {
		padding: 20px;
	}
	#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li ul {
		left: calc(-1 * var(--margin-text));
		right: calc(-1 * var(--margin-text));
		transform: none;
		width: auto;
	}
	#portal-columns dl.portletNavigationPlusTree.lesplus ul.navTreeLevel0 > li ul.open {
		top: -20px;
		opacity: 1;
		visibility: visible;
	}	
}

/*--------------------------------------------------------------------------------------------------------------
	== RACCOURCIS
--------------------------------------------------------------------------------------------------------------*/
.raccourcis {
	position: relative;
	z-index: 1;
	margin: -60px 0 0;
	height: calc(25vw + 60px);
	background: url(/st-do/raccourcis/image-darriere-plan) no-repeat;
	background-size: cover;
	background-attachment: fixed;
}
.raccourcis::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	background: linear-gradient(0deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%);;
}
#content .raccourcis ul {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin: 0 var(--margin-window);
}
#content .raccourcis ul li {
	flex: 1;
	margin: 0;
	text-align: center;
}
#content .raccourcis ul a {
	font-family: var(--font-exergue);
	font-size: 1.9em;
	color: var(--color-white);
	line-height: 1.5;
}
#content .raccourcis ul a:hover,
#content .raccourcis ul a:focus {
	color: var(--color-white)!important;
	text-decoration: none;
}
@media only screen and (min-width: 800px) {
	.raccourcis ul a::before {
		content: '';
		position: relative;
		left: 0;
		display: block;
		margin: auto;
		width: 1px;
		height: 20px;
		background: var(--color-white);
		transform: skewX(-8deg);
		transition: all 0.5s;
	}
	.raccourcis ul a:hover::before {
		left: 1px;
		height: 40px;
	}
	.raccourcis ul a::after {
		content: '';
		position: relative;
		left: -5px;
		display: block;
		margin: auto;
		width: 1px;
		height: 15px;
		background: var(--color-white);
		transform: skewX(-8deg);
		transition: all 0.5s;
	}
	.raccourcis ul a:hover::after {
		left: -6px;
		height: 25px;
	}	
}
@media only screen and (max-width: 800px) {
	.raccourcis {
		margin: -25vh 0 0;
		height: 70vh;
		min-height: 700px;
		background-attachment: inherit;
	}
	.raccourcis::before {
		top: 50%;
	}
	#content .raccourcis ul {
		flex-wrap: wrap;
	}
	#content .raccourcis ul li {
		margin: 20px 0;
		min-width: 50%;
		line-height: 1;
	}
	#content .raccourcis ul li.ecoledirecte {
		order: 3;
	}
	#content .raccourcis ul li.inscription {
		order: 1;
	}
	#content .raccourcis ul li.rejoignez-nous {
		order: 4;
	}
	#content .raccourcis ul li.soutenez-saint-do {
		order: 2;
	}
	#content .raccourcis ul a {
		font-size: 1.2em;
	}
}

/*--------------------------------------------------------------------------------------------------------------
	== A LA UNE
--------------------------------------------------------------------------------------------------------------*/
.unes {
	margin: var(--margin-current) var(--margin-window) 0;
}
.unes .portletHeader {
	position: relative;
}
.unes .portletHeader span {
	display: block;
	margin-bottom: var(--margin-text);
	padding-top: 60px;
	background: url(../images/logo-st-do.png) center top no-repeat;
	background-size: auto 60px;
	font-size: 2.5em;
	font-weight: 900;
	color: var(--color-primary);
	text-align: center;
}
#content .unes .portletHeader a {
	position: absolute;
	bottom: 0;
	right: 0;
	font-weight: 700;
	color: var(--color-primary);
}
#content .unes .portletHeader a:hover,
#content .unes .portletHeader a:focus {
	color: var(--color-current)!important;
	text-decoration: none;
}
.unes ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0;
	padding: 0;
}
#content .unes ul li {
	position: relative;
	margin: 0;
	width: 33.333%;
}
.unes ul li::before {
	content: '';
	position: absolute;
	top: 50%;
	left: -10px;
	right: 25px;
	bottom: 0;
	background: var(--color-primary);
	transform: skewX(-10deg);
	transition: all 0.5s;
}
.unes ul li:hover::before {
	background: var(--color-secondary);
}
.unes ul .illustration {
	position: relative;
	display: block;
	margin: 0;
	clip-path: polygon(10% 0, 100% 0%, 90% 100%, 0% 100%);
	overflow: hidden;
}
.unes ul .illustration::before {
	content: "";
	display: block;
	padding: 60% 0 0;
}
.unes ul .illustration img {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
	transition: all 0.5s;
}
.unes ul li:hover .illustration img,
.unes ul .illustration:hover img,
.unes ul .illustration:focus img {
	transform: scale(1.05);
}
.unes ul h2 {
	position: relative;
	z-index: 2;
	margin: 0 40px 0 5px;
	padding: 0 !important;
	background: none;
	font-size: 1.2em;
	font-weight: 400;
	text-align: center;
	text-transform: uppercase;
	line-height: 1;
}
.unes ul h2 a {
	display: block;
	padding: 15px 0 10px;
	color: var(--color-white) !important;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
#content .unes ul h2 a:hover,
#content .unes ul h2 a:focus {
	color: var(--color-white)!important;
	text-decoration: none;
}
.unes ul h2 a {}
@media only screen and (max-width: 800px) {
	.unes {
		margin: var(--margin-current) 0 0;
	}
	.unes .portletHeader span {
		margin-bottom: 0;
	}
	#content .unes .portletFooter {
		padding: var(--margin-text) var(--margin-window) var(--margin-current);
		text-align: center;
	}
	#content .unes .portletFooter a {
		font-weight: 700;
		color: var(--color-primary);
	}
	.unes ul li::before {
		right: 17px;
	}
	.unes ul li > a {
		position: relative;
		display: block;
		margin: 0;
		clip-path: polygon(10% 0, 100% 0%, 90% 100%, 0% 100%);
		overflow: hidden;
	}
	.unes ul li > a::before {
		content: "";
		display: block;
		padding: 60% 0 0;
	}
	.unes ul li > a img {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		object-fit: cover;
		transition: all 0.5s;
	}
}

/*--------------------------------------------------------------------------------------------------------------
	== EN DIRECT
--------------------------------------------------------------------------------------------------------------*/
.en-direct {}
.en-direct .portletHeader {
	position: relative;
}
.en-direct .portletHeader span {
	display: block;
	padding-top: 60px;
	background: url(../images/logo-st-do.png) center top no-repeat;
	background-size: auto 60px;
	font-size: 2.5em;
	font-weight: 900;
	color: var(--color-primary);
	text-align: center;
}
.en-direct .splide__pagination {
	position: relative;
	bottom: auto;
	left: auto;
	transform: none;
}
.en-direct .splide__pagination {
	width: 100%;
}
.en-direct .splide__pagination__page {
	height: 15px;
	width: 15px;
	background: var(--color-white);
	border: 2px solid var(--color-primary);
	opacity: 1;
	transition: all 0.5s;
}
.en-direct .splide__pagination__page:hover {
	background: var(--color-grey);
}
.en-direct .splide__pagination__page.is-active {
	background: var(--color-primary);
	transform: none;
}

/*
	SLIDES
*/
#content .en-direct ul.splide__list {
	align-items: center;
}
#content .en-direct ul.splide__list li {
	margin: 0 -4vw;
	padding: 60px;
	position: relative;
	opacity: 0.6;
	transition: all 0.5s;
}
#content .en-direct ul.splide__list li.is-active {
	padding: 0;
	opacity: 1;
}
.en-direct ul.splide__list li > div.video,
.en-direct ul.splide__list li > a {
	position: relative;
	display: block;
	margin: 0;
	clip-path: polygon(10% 0, 100% 0%, 90% 100%, 0% 100%);
	overflow: hidden;
}
.en-direct ul.splide__list li > div.video::before,
.en-direct ul.splide__list li > a::before {
	content: "";
	display: block;
	padding: 60% 0 0;
}
.en-direct ul.splide__list li > a::after {
	content: '';
	position: absolute;
	top: 60%;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	background: linear-gradient(0deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%);;
}
.en-direct ul.splide__list li > div.video iframe,
.en-direct ul.splide__list li > a img {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
	transition: all 0.5s;
}
.en-direct ul.splide__list li:hover li > a img,
.en-direct ul.splide__list li > a:hover img,
.en-direct ul.splide__list li > a:focus img {
	transform: scale(1.05);
}
.en-direct ul.splide__list h2 {
	position: absolute;
	bottom: 70px;
	left: 0;
	right: 0;
	z-index: 2;
	margin: 0 40px 0 5px;
	padding: 0 !important;
	background: none;
	font-size: 1.2em;
	font-weight: 400;
	text-align: center;
	text-transform: uppercase;
	line-height: 1;
}
.en-direct ul.splide__list h2 a {
	display: block;
	padding: 15px 0 10px;
	color: var(--color-white) !important;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
#content .en-direct ul.splide__list h2 a:hover,
#content .en-direct ul.splide__list h2 a:focus {
	color: var(--color-white)!important;
	text-decoration: none;
}
.en-direct ul.splide__list .video h2 a {
	text-shadow: 0 0 10px #000;
}
@media only screen and (max-width: 800px) {
	#content .en-direct ul.splide__list li {
		margin: 0 -5vw;
		padding: 15px;
	}
	.en-direct ul.splide__list h2 {
		bottom: 10px;
	}
	.en-direct .splide__pagination {
		display: none;
	}
}

/*--------------------------------------------------------------------------------------------------------------
	== SHARE THIS
--------------------------------------------------------------------------------------------------------------*/
.portlet-embed-share-this {
	margin: 0 var(--margin-window);
}
.portlet-embed-share-this::before {
	content: '';
	display: block;
	margin: 0 auto var(--margin-text);
	width: 30px;
	height: 1px;
	background: var(--color-current);
}
.portlet-embed-share-this div {
	display: flex;
	justify-content: center;
}
.portlet-embed-share-this a {
	margin: 0 5px;
	color: var(--color-primary);
	font-size: 1.8em;
}
.portlet-embed-share-this a:hover,
.portlet-embed-share-this a:focus {
	color: var(--color-current);
	text-decoration: none;
}
.portlet-embed-share-this a::before {
	font-family: var(--font-picto);
}
.portlet-embed-share-this a.addthis_button_facebook::before {
	content: '\e91d';
}
.portlet-embed-share-this a.addthis_button_twitter::before {
	content: '\e91c';
}
.portlet-embed-share-this a.addthis_button_email::before {
	content: '\e90a';
}
.portlet-embed-share-this a.addthis_button_print::before {
	content: '\e908';
}
.portlet-embed-share-this a span {
	display: none;
}

/*--------------------------------------------------------------------------------------------------------------
	== PARTENAIRES
--------------------------------------------------------------------------------------------------------------*/
.partenaires {
	margin: var(--margin-current) 0 0;
}
.partenaires .portletHeader {
	position: relative;
}
.partenaires .portletHeader span {
	display: block;
	margin-bottom: var(--margin-text);
	font-size: 1.2em;
	font-weight: 700;
	color: var(--color-current);
	text-align: center;
}

/*
	CONTROLES
*/
.partenaires .splide__arrow {
	top: 25%;
	background: none;
}
.partenaires .splide__arrow svg {
	display: none;
}
.partenaires .splide__arrow::before {
	content: '';
	border: 10px solid transparent;
}
.partenaires .splide__arrow--next::before {
	border-left: 15px solid var(--color-current);
}
.partenaires .splide__arrow--prev::before {
	border-right: 15px solid var(--color-current);
}

/*
	SLIDES
*/
#content .partenaires ul.splide__list li {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 60px;
}
.partenaires ul.splide__list h2 {
	position: absolute;
	top: 150%;
	left: 50%;
	transform: translate(-50%, 0);
	padding: 5px 10px 3px;
	background: var(--color-primary);
	border-radius: 5px;
	font-size: 0.8em;
	font-weight: 400;
	text-transform: uppercase;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: all 0.5s;
}
.partenaires ul.splide__list li > a {
	display: block;
	width: 100%;
}
.partenaires ul.splide__list a img {
	max-width: 100%;
	filter: grayscale(1);
	transition: all 0.5s;
}
.partenaires ul.splide__list a:hover img,
.partenaires ul.splide__list a:focus img {
	filter: grayscale(0);
	transform: scale(1.05);
}
@media only screen and (min-width: 800px) {
	.partenaires ul.splide__list li:hover h2 {
		top: 120%;
		opacity: 1;
		visibility: visible;
	}
	.partenaires ul.splide__list li h2::before {
		content: '';
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translate(-50%, 0);
		border: 5px solid transparent;
		border-bottom: 5px solid var(--color-primary);
	}
	.partenaires ul.splide__list h2 a,
	#content .partenaires ul.splide__list h2 a:hover,
	#content .partenaires ul.splide__list h2 a:focus {
		color: var(--color-white)!important;
		text-decoration: none;
	}	
}
@media only screen and (max-width: 800px) {
	.partenaires .splide__track {
		margin: 0 calc(var(--margin-window) * 3);
	}
	#content .partenaires ul.splide__list li {
		margin: 0;
	}
}

/*--------------------------------------------------------------------------------------------------------------
	== CONNEXION
--------------------------------------------------------------------------------------------------------------*/
.portlet.portletLogin {
	margin: 0;
}
.portlet.portletLogin dt {
	padding: 0;
	background: none;
	color: var(--color-current);
}
.portlet.portletLogin dd {
	padding: 0;
}
.portlet.portletLogin dd .formControls {
	margin: 0;
	text-align: right;
}

/*--------------------------------------------------------------------------------------------------------------
	== ALBUM PHOTO
--------------------------------------------------------------------------------------------------------------*/
#portal-columns .albumPhotosPortlet {
	margin: 30px 0;
	padding: 10px 0 0;
	border-top: 1px dotted var(--color-current);
}
#portal-columns .albumPhotosPortlet dt {
	padding: 0;
	background: none;
}
#portal-columns .albumPhotosPortlet dt a,
#portal-columns .albumPhotosPortlet dt a:hover,
#portal-columns .albumPhotosPortlet dt a:focus {
	color: var(--color-current)!important;
	text-decoration: none;
}
#portal-columns .albumPhotosPortlet dd {
	padding: 0;
}
#portal-columns .albumPhotosPortlet dd p {
	margin: 0;
}
#portal-columns .albumPhotosPortlet dd ul {
	overflow: hidden;
}
#portal-columns .albumPhotosPortlet dd ul li {
	float: left;
	margin: 2px 2px 0 0;
}
#portal-columns .albumPhotosPortlet dd ul li a {
	display: block;
}
#portal-columns .albumPhotosPortlet dd.portletFooter a {
	color: var(--color-current)!important;
}

/*--------------------------------------------------------------------------------------------------------------
	== MENU UP
--------------------------------------------------------------------------------------------------------------*/
.menu-up > ul {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin: auto;
	max-width: 1900px;
	list-style: none;
}
.menu-up > ul > li {
	position: relative;
	margin: 0 10px;
	flex: 1;
}
.menu-up > ul > li::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	background: var(--color-white);
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	transform: skewX(-8deg);
}
.menu-up > ul > li a {
	position: relative;
	z-index: 3;
	display: block;
	padding: 30px 20px;
	font-size: 2em;
	font-weight: 800;
	text-transform: uppercase;
	text-align: center;
	line-height: 1;
}

.menu-up > ul > li.maternelle a {
	color: var(--color-maternelle);
}
.menu-up > ul > li.elementaire a {
	color: var(--color-elementaire);
}
.menu-up > ul > li.college a {
	color: var(--color-college);
}
.menu-up > ul > li.lycee a {
	color: var(--color-lycee);
}
.menu-up > ul > li.internat a {
	color: var(--color-internat);
}
@media only screen and (min-width: 800px) {
	.menu-up {
		padding: var(--margin-current);
		background: var(--color-primary);
	}
	.menu-up > ul > li:nth-child(even) {
		margin-top: 20px;
	}
	.menu-up > ul > li a::before {
		content: '';
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, 0) skewX(-8deg);
		height: 20px;
		width: 8px;
		background: var(--color-current);
		transition: all 0.5s;
	}
	.menu-up > ul > li.maternelle a::before {
		background: var(--color-maternelle);
	}
	.menu-up > ul > li.elementaire a::before {
		background: var(--color-elementaire);
	}
	.menu-up > ul > li.college a::before {
		background: var(--color-college);
	}
	.menu-up > ul > li.lycee a::before {
		background: var(--color-lycee);
	}
	.menu-up > ul > li.internat a::before {
		background: var(--color-internat);
	}
	.menu-up > ul > li:nth-child(even) a::before {
		top: auto;
		bottom: 0;
	}
	.menu-up > ul > li a:hover,
	.menu-up > ul > li a:focus {
		padding-top: 40px;
		padding-bottom: 20px;
		text-decoration: none;
	}
	.menu-up > ul > li:nth-child(even) a:hover,
	.menu-up > ul > li:nth-child(even) a:focus {
		padding-top: 20px;
		padding-bottom: 40px;
	}
	.menu-up > ul > li a:hover::before,
	.menu-up > ul > li a:focus::before {
		height: 30px;
	}
}
@media only screen and (max-width: 800px) {
	.menu-up {
		position: fixed;
		bottom: 10px;
		left: 5px;
		right: 5px;
		z-index: 999;
	}
	.menu-up > ul {
		flex-wrap: wrap;
	}
	.menu-up > ul > li {
		margin: 0 5px 10px;
	}
	.menu-up > ul > li a {
		padding: 15px 10px 10px;
		font-size: 1.5em;
	}
	.menu-up ul ul {
		display: none;
		position: fixed;
		bottom: 0;
		top: auto;
		left: 0;
		right: 0;
		z-index: 1;
		flex-direction: column;
		justify-content: center;
		margin: 0;
		padding: 0 0 110px;
		background: rgba(255,255,255,0.9);
	}
	
	.menu-up ul ul.open {
		display: flex;
	}
	/*.menu-up ul ul::before {
		content: 'x';
		position: fixed;
		top: 10px;
		right: 10px;
	}*/
	.menu-up ul ul li {
		display: block;
		margin: 0;
	}
	.menu-up ul ul li a {
		margin: 5px var(--margin-text);
		background:none;
	}
}

/*--------------------------------------------------------------------------------------------------------------
	== SOUS NAVIGATION
--------------------------------------------------------------------------------------------------------------*/
dl.portlet.portletNavigationTree {
	margin: 0;
	font-size: 1.2em;
}
dl.portlet.portletNavigationTree dd ul {}


/* premier niveau */
dl.portlet.portletNavigationTree ul li,
dl.portlet ul.navTreeLevel0 > .navTreeItem {
	position: relative;
	margin: 0 0 15px;
	padding: 0 10px;
	background: none;
	border: none;
}
dl.portlet.portletNavigationTree ul li.navTreeCurrentNode::before {
	content: '';
	position: absolute;
	right: 100%;
	top: 50%;
	transform: translate(0, -50%);
	width: 50px;
	height: 5px;
	background: var(--color-secondary);
}
dl.portlet.portletNavigationTree ul li a {
	margin: 0;
	padding: 0!important;
	background: none;
	font-size: 1.4em;
	line-height: 1.2em;
	color: var(--color-secondary)!important;
}
dl.portlet.portletNavigationTree ul li a:hover,
dl.portlet.portletNavigationTree ul li a:focus {
	color: var(--color-current)!important;
	text-decoration: none;
}
dl.portlet.portletNavigationTree ul li a.navTreeCurrentItem,
dl.portlet.portletNavigationTree ul li a.navTreeItemInPath {
	margin: 0;
	background: none;
	border: none;
	color: var(--color-primary)!important;
}
dl.portlet.portletNavigationTree ul li a img {
	display: none;
}

/* deuxieme niveau */
dl.portlet.portletNavigationTree ul li ul {
	margin: 5px 0 0;
	border-top: 1px dotted var(--color-current);
}
dl.portlet.portletNavigationTree ul li ul li.navTreeItem {
	margin: 0;
	padding: 5px 0;
	background: none;
	border-bottom: 1px dotted var(--color-current);
	list-style: none;
}
dl.portlet.portletNavigationTree ul li ul li a {
	font-size: 1em;
}
dl.portlet.portletNavigationTree ul li ul li a.navTreeCurrentItem {
	font-weight: 700;
}

/* troisieme niveau */
dl.portlet.portletNavigationTree ul li li ul {
	margin: 0 0 0 10px;
}

/*--------------------------------------------------------------------------------------------------------------
	== SCROLL DOWN
--------------------------------------------------------------------------------------------------------------*/
.scroll-down {
	position: absolute;
	bottom: var(--margin-text);
	left: calc(var(--margin-window) * 0.5);
	right: calc(var(--margin-window) * 0.5);
	z-index: 2;
}
.scroll-down p {
	display: flex;
	justify-content: space-between;
}
.scroll-down a {
	display: block;
	margin-bottom: 20px;
	font-size: 3em;
	font-family: var(--font-picto);
	animation: 4s linear 0s infinite alternate anim_down;
	color:#FFFFFF;
}
.scroll-down a:hover,
.scroll-down a:focus {
	text-decoration: none;
}
.scroll-down a {} 

@keyframes anim_down { 
	0% { margin-bottom: 20px; }
	25% { margin-bottom: 0px; }
	50% { margin-bottom: 20px; }
	75% { margin-bottom: 0px; }
	100% { margin-bottom: 20px; }  
}


/*--------------------------------------------------------------------------------------------------------------
	== CONTACTS
--------------------------------------------------------------------------------------------------------------*/
.portlet.contacts {
	font-size: 1.6em;
	line-height: 1.4;
}
#content .bgGrey,
.portlet.contacts > ul > li {
	display: block;
	position: relative;
	padding: var(--margin-current) 0;
}
#content .bgGrey::before,
#content .bgGrey::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 100%;
	content: "";
	background: var(--color-grey);
	width: 500px;
}
#content .bgGrey::after {
	left: auto;
	right: 100%;
}
#content .bgGrey,
.portlet.contacts > ul > li:nth-child(odd) {
	background: var(--color-grey);
}
.portlet.contacts > ul > li > h2 {	
	margin: 0 0 var(--margin-text);
	font-size: 2.5em;
	line-height: 1.1;
	color: var(--color-current)!important;
	text-align: center;
}
.portlet.contacts > ul > li:nth-child(1) > h2 {	
	color: var(--color-maternelle)!important;
}
.portlet.contacts > ul > li:nth-child(2) > h2 {	
	color: var(--color-elementaire)!important;
}
.portlet.contacts > ul > li:nth-child(3) > h2 {	
	color: var(--color-college)!important;
}
.portlet.contacts > ul > li:nth-child(4) > h2 {	
	color: var(--color-lycee)!important;
}
.portlet.contacts > ul > li:nth-child(5) > h2 {	
	color: var(--color-internat)!important;
}
.portlet.contacts > ul > li > h2::before {
	content: '';
	display: block;
	margin: 0 auto var(--margin-text);
	width: 30px;
	height: 1px;
	background: var(--color-current);
}

.portlet.contacts > ul > li > .description {
	margin: auto;
	max-width: 1100px;
	text-align: center;
}
.portlet.contacts > ul > li div {
	margin: auto;
	max-width: 1100px;
}
.portlet.contacts > ul > li div h2 {
	margin: var(--margin-text) 0;
	font-family: var(--font-exergue);
	text-align: center;
	color: var(--color-current)!important;
}
.portlet.contacts > ul > li div a {
	box-shadow: inset 0 -2px 0 var(--color-current);
	color: var(--color-current)!important;
}
.portlet.contacts > ul > li div a:hover,
.portlet.contacts > ul > li div a:focus {
	box-shadow: inset 0 -20px 0 var(--color-current);
	text-decoration:none;
	color: var(--color-white)!important;
}
.portlet.contacts > ul > li:nth-child(1) div a {
	box-shadow: inset 0 -2px 0 var(--color-maternelle);
	color: var(--color-maternelle)!important;
}
.portlet.contacts > ul > li:nth-child(1) div a:hover,
.portlet.contacts > ul > li:nth-child(1) div a:focus {
	box-shadow: inset 0 -20px 0 var(--color-maternelle);
	color: var(--color-white)!important;
}
.portlet.contacts > ul > li:nth-child(2) div a {
	box-shadow: inset 0 -2px 0 var(--color-elementaire);
	color: var(--color-elementaire) !important;
}
.portlet.contacts > ul > li:nth-child(2) div a:hover,
.portlet.contacts > ul > li:nth-child(2) div a:focus {
	box-shadow: inset 0 -20px 0 var(--color-elementaire);
	color: var(--color-white)!important;
}
.portlet.contacts > ul > li:nth-child(3) div a {
	box-shadow: inset 0 -2px 0 var(--color-college);
	color: var(--color-college)!important;
}
.portlet.contacts > ul > li:nth-child(3) div a:hover,
.portlet.contacts > ul > li:nth-child(3) div a:focus {
	box-shadow: inset 0 -20px 0 var(--color-college);
	color: var(--color-white)!important;
}
.portlet.contacts > ul > li:nth-child(4) div a {
	box-shadow: inset 0 -2px 0 var(--color-lycee);
	color: var(--color-lycee)!important;
}
.portlet.contacts > ul > li:nth-child(4) div a:hover,
.portlet.contacts > ul > li:nth-child(4) div a:focus {
	box-shadow: inset 0 -20px 0 var(--color-lycee);
	color: var(--color-white)!important;
}
.portlet.contacts > ul > li:nth-child(5) div a {
	box-shadow: inset 0 -2px 0 var(--color-internat);
	color: var(--color-internat)!important;
}
.portlet.contacts > ul > li:nth-child(5) div a:hover,
.portlet.contacts > ul > li:nth-child(5) div a:focus {
	box-shadow: inset 0 -20px 0 var(--color-internat);
	color: var(--color-white)!important;
}

@media only screen and (max-width: 800px) {
	.portlet.contacts {
		margin: 0 calc(var(--margin-window) * -1);
	}
}

/*--------------------------------------------------------------------------------------------------------------
	== CONTENUS CORRELES
--------------------------------------------------------------------------------------------------------------*/
.portlet.lire-aussi {
	margin: 0;
	padding: var(--margin-current) 0;
	background: var(--color-grey);
	font-size: 1.4em;
}
.portlet.lire-aussi .portletHeader {
	margin: 0;
	padding: 0;
	background: none;
	text-align: center;
	font-size: 1.8em;
	font-weight: 700;
	color: var(--color-secondary);
}
.portlet.lire-aussi .portletHeader span {
	margin: 0;
	color: var(--color-secondary);
}

/*
	SLIDER
*/
.portlet.lire-aussi div.portletHeader span {
	font-size: 1.3em;
}
.portlet.lire-aussi .splide {
	width: 100%;
}
.portlet.lire-aussi .splide__list {}
.portlet.lire-aussi .splide li.splide__slide {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0;
}
.portlet.lire-aussi .splide li.splide__slide::before {
	content: '';
	position: absolute;
	top: 50%;
	left:-10px;
	right: 25px;
	bottom: 0;
	background: var(--color-secondary);
	transform: skewX(-8deg);
	transition: all 0.5s;
}
.portlet.lire-aussi .splide li.splide__slide:hover::before {
	background: var(--color-primary);
}
.portlet.lire-aussi .splide li.splide__slide > a:first-child {
	order: 2;
	position: relative;
	z-index: 2;
	margin: 0 35px 0 0;
	padding: 15px 0 10px!important;
	background: none;
	font-size: 1.3em;
	font-weight: 400;
	color: var(--color-white)!important;
	text-transform: uppercase;
	text-align: center;
	line-height: 1;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
.portlet.lire-aussi .splide li a:hover,
.portlet.lire-aussi .splide li a:focus {
	color: var(--color-white)!important;
	text-decoration: none;
}
.portlet.lire-aussi .splide li.splide__slide > a:first-child::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.portlet.lire-aussi .splide li ul,
.portlet.lire-aussi .splide li a + a {
	order: 1;
	position: relative;
	margin: 0 3vw 0 0;
	overflow: hidden;
	clip-path: polygon(9% 0, 100% 0%, 91% 100%, 0% 100%);

}
.portlet.lire-aussi .splide li ul::before,
.portlet.lire-aussi .splide li a + a::before {
	content: '';
	display: block;
	padding: 60% 0 0;
}
.portlet.lire-aussi .splide li ul img,
.portlet.lire-aussi .splide li a img {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
	transition: all 0.5s;
}
.portlet.lire-aussi .splide li:hover a img,
.portlet.lire-aussi .splide li a:hover img,
.portlet.lire-aussi .splide li a:focus img {
	transform: scale(1.05);
}
.portlet.lire-aussi span {
	order: 3;
	margin: 5px 0;
	color: var(--color-current);
	line-height: 1.3;
	transition: all 0.5s;
}
.portlet.lire-aussi p {
	order: 4;
	line-height: 1.4;
	transition: all 0.5s;
}
.portlet.lire-aussi .splide li:hover span,
.portlet.lire-aussi .splide li:hover p {
	color: var(--color-primary);
}


/*
	LISTE
*/
dl.portlet.lire-aussi  {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0;
	padding: var(--margin-current) var(--margin-window);
}
.portlet.lire-aussi dt {
	width: 100%;
	font-size: 2em;
}
.portlet.lire-aussi dd {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 10px;
	width: calc(25% - 20px);
}
.portlet.lire-aussi dd::before {
	content: '';
	position: absolute;
	top: 50%;
	left: -10px;
	right: 10px;
	bottom: 0;
	background: var(--color-secondary);
	transform: skewX(-8deg);
	transition: all 0.5s;
}
.portlet.lire-aussi dd:hover::before {
	background: var(--color-primary);
}
.portlet.lire-aussi dd > a:first-child {
	order: 2;
	position: relative;
	z-index: 2;
	margin: 0 30px 0 0;
	padding: 15px 0 10px!important;
	background: none;
	font-size: 1.5em;
	font-weight: 400;
	color: var(--color-white)!important;
	text-transform: uppercase;
	text-align: center;
	line-height: 1;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
.portlet.lire-aussi dd a:hover,
.portlet.lire-aussi dd a:focus {
	color: var(--color-white)!important;
	text-decoration: none;
}
.portlet.lire-aussi dd > a:first-child::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.portlet.lire-aussi dd ul,
.portlet.lire-aussi dd a + a {
	order: 1;
	position: relative;
	margin: 0;
	overflow: hidden;
	clip-path: polygon(9% 0, 100% 0%, 91% 100%, 0% 100%);
}
.portlet.lire-aussi dd ul::before,
.portlet.lire-aussi dd a + a::before {
	content: '';
	display: block;
	padding: 60% 0 0;
}
.portlet.lire-aussi dd ul img,
.portlet.lire-aussi dd a img {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
	transition: all 0.5s;
}
.portlet.lire-aussi dd:hover a img,
.portlet.lire-aussi dd a:hover img,
.portlet.lire-aussi dd a:focus img {
	transform: scale(1.05);
}
.portlet.lire-aussi span {
	order: 3;
	margin: 5px 0;
	color: var(--color-current);
	line-height: 1.3;
	transition: all 0.5s;
}
.portlet.lire-aussi p {
	display: none;
}
@media only screen and (max-width: 1800px) {
	.portlet.lire-aussi dd {
		width: calc(33.333% - 40px);
	}
}
@media only screen and (max-width: 800px) {
	.portlet.lire-aussi dd {
		width: calc(100% - 40px);
	}
}

/*------------------------------------------------------------------------------------------------------------*/
/*
	= CONTENEUR GLOBAL
*/
/*------------------------------------------------------------------------------------------------------------*/
#visual-portal-wrapper {
	position: relative;
}

@media only screen and (max-width: 800px) { 
	#visual-portal-wrapper {
		padding-bottom: 150px;
	}
}

/*------------------------------------------------------------------------------------------------------------*/
/*
	= HEADER
*/
/*------------------------------------------------------------------------------------------------------------*/
#portal-top {
	position: sticky;
	z-index: 999;
	top: 0;
	margin: 0;
}
#portal-top.fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	transition: all 0.5s;
	opacity: 0;
}
#portal-top.fixed.actif {
	opacity: 1;
}
#portal-top > div:first-child {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px var(--margin-window);
	background: var(--color-primary);
}
div.InHeaderPortletManager1 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 5px var(--margin-window);
	overflow: hidden;
}
div#portal-popins {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: var(--margin-current);
	background: rgba(255,255,255,0.8);
	opacity: 0;
	visibility: hidden;
	transition: all 0.5s;
}
div#portal-popins.actif {
	opacity: 1;
	visibility: visible;
}
div#portal-popins::before {
	content: '\e902';
	position: absolute;
	top: var(--margin-current);
	right: var(--margin-current);
	z-index: 2;
	font-family: var(--font-picto);
	font-size: 2.5em;
	cursor: pointer;
}
div#portal-popins > div {
	position: absolute;
	top: -5000px;
	width: 100%;
	max-width: 830px;
	max-height: calc(100vh - calc(var(--margin-text) * 2));
	padding: var(--margin-current);
	background: var(--color-primary);
	overflow: auto;
}
div#portal-popins > div.actif {
	position: relative;
	top: auto;
}
@media only screen and (max-width: 800px) {
	#portal-top {
		overflow: hidden;
	}
	div#portal-popins::before {
		top: 10px;
		right: 10px;
	}
}

/*--------------------------------------------------------------------------------------------------------------
	== LOGO
--------------------------------------------------------------------------------------------------------------*/
#portal-logo {
	margin: 0;
	color: var(--color-white);
	font-size: 2.5em;
	line-height: 2;
	padding-left: 70px;
	position: relative;
}
#portal-logo:hover,
#portal-logo:focus {
	color: var(--color-white);
	text-decoration: none;
}
#portal-logo::after {
	content: "";
	background: url(../images/logo-blancSmall.png) center top no-repeat;
	background-size: contain;
	width: 60px;
	height: 30px;
	position: absolute;
	left: 0;
	top: 45%;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
@media only screen and (max-width: 800px) {
	#portal-logo {
		font-size: 1.8em;
		line-height: 1;
	}
	#portal-logo span {
		display: block;
	}
}

/*--------------------------------------------------------------------------------------------------------------
	== RECHERCHE
--------------------------------------------------------------------------------------------------------------*/
#portal-searchbox {
	position: absolute;
	top: -5000px;
	float: none;
	margin: 20px 0;
	padding: 0;
	font-size: 1.2em;
	opacity: 0;
	visibility: hidden;
	transition: all 0.5s;
}
#portal-searchbox.actif {
	position: relative;
	top: auto;
	opacity: 1;
	visibility: visible;
}
#portal-searchbox form {
	position: relative;
}
#portal-searchbox form::before {
	content: "\e905";
	position: absolute;
	top: 50%;
	right: 10px;
	z-index: 2;
	transform: translate(0, -50%);
	font-family: var(--font-picto);
}
#portal-searchbox input[type=text] {
	width: 100%;
}
#portal-searchbox input[type=submit] {
    position: absolute;
    top: 0;
    bottom: 0;
	right: 0;
	z-index: 3;
    margin: 0;
    padding: 0;
    width: 30px;
    background: none;
    border: none;
    text-indent: -5000px;
    cursor: pointer;
}
#portal-searchbox .searchSection,
#portal-searchbox #LSShadow {
	display: none;
}

/*--------------------------------------------------------------------------------------------------------------
	== NAVIGATION
--------------------------------------------------------------------------------------------------------------*/
/*
  	RUBRIQUES
*/
#portal-globalnav {
	position: absolute;
	top: -5000px;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
	padding: var(--margin-current);
	width: 100%;
	max-width: 600px;
	max-height: calc(100vh - calc(var(--margin-current) * 2));
	background: var(--color-primary);
	opacity: 0;
	visibility: hidden;
	overflow: auto;
	transition: all 0.5s;
}
#portal-globalnav.actif {
	position: relative;
	top: auto;
	opacity: 1;
	visibility: visible;
}
#portal-globalnav > li {
	position: relative;
	margin: 0;
	width: 100%;
	text-align: center;
}
#portal-globalnav > li + li {
	margin-top: var(--margin-text);
}
#portal-globalnav > li > a {
	display: block;
	padding: 10px;
	min-width:0;
	background: none;
	border: none;
	text-transform: uppercase;
	font-size: 1.8em;
	line-height: 1;
	color: var(--color-white);
}
#portal-globalnav li:hover a,
#portal-globalnav a:hover,
#portal-globalnav a:focus {
	background: none;
	color: var(--color-current);
	text-decoration: none;
}
#portal-globalnav .selected a,
#portal-globalnav .selected a:hover,
#portal-globalnav .selected a:focus,
#portal-globalnav li#portaltab-index_html.selected a:hover,
#portal-globalnav li#portaltab-index_html.selected a:focus {
	background: none;
	color: var(--color-current);
	text-align: center;
}

/*
	MENU DEROULANT
*/
#portal-globalnav li ul.submenu,
#portal-globalnav li.ssnav.selected.close ul.submenu {
	position: relative;
	top: auto;
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	height: 0;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}
#portal-globalnav li.ssnav.selected ul.submenu,
#portal-globalnav li.ssnav.open ul.submenu {
	height: auto;
	opacity: 1;
	visibility: visible;
}
#portal-globalnav li ul.submenu li a {
	padding: 10px;
	min-width: 0;
	width: auto;
	background: var(--color-primary);
	border: none;
	font-size: 1.5em;
	text-transform: none;
	text-align: center;
	color: var(--color-current) !important;
}

#portal-globalnav li ul.submenu li a:hover,
#portal-globalnav li ul.submenu li a:focus {
	background: none;
	border: none;
	color: var(--color-white)!important;
}
#portal-globalnav li ul.submenu li a img{
	display: none;
}


/*--------------------------------------------------------------------------------------------------------------
	== CHEMIN DE FER
--------------------------------------------------------------------------------------------------------------*/
#portal-breadcrumbs {
	margin: 0;
	padding: 0;
	text-align: center;
	font-size: 1.4em;
	color: var(--color-secondary);
}
#portal-breadcrumbs #breadcrumbs-you-are-here {
	display: none;
}
#portal-breadcrumbs .breadcrumbSeparator,
#portal-breadcrumbs a {
	color: var(--color-secondary);
}
#portal-breadcrumbs a:hover,
#portal-breadcrumbs a:focus {
	color: var(--color-current);
	text-decoration: none;
}
@media only screen and (max-width: 800px) {
	#portal-breadcrumbs {
		position: relative;
		margin: 0;
		padding: 0 var(--margin-window);
		background: var(--color-grey);
	}
	#portal-breadcrumbs span {
		display: none;
	}
	#portal-breadcrumbs span:nth-last-child(3) {
		display: block;
	}
	#portal-breadcrumbs span:nth-last-child(3) a {
		position: relative;
		display: flex;
		align-items: center;
		padding: 10px 0;
		font-weight: 700;
		color: var(--color-secondary);
		text-align: left;
		text-transform: uppercase;
	}
	#portal-breadcrumbs span:nth-last-child(3) a::before {
		content: "\e904";
		margin: 0 10px 0 0;
		font-family: var(--font-picto);
		font-size: 0.7em;
	}
	#portal-breadcrumbs span:nth-last-child(3) a:hover {
		text-decoration: none;
	}
}

/*------------------------------------------------------------------------------------------------------------*/
/*
	= MAIN
*/
/*------------------------------------------------------------------------------------------------------------*/
#portal-columns {
	padding: var(--margin-current) 0 0;
}
#portal-column-content {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	justify-content: center;
	align-items: flex-start;
	margin: var(--margin-current) 0;
	overflow: hidden;
}
#portal-column-content:first-child {
	margin-top: 0;
}
#portal-column-content #content {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0;
	width: 100%;
	max-width: 1100px;
	min-height: 300px;
	background: transparent;
}
#portal-column-content aside ~ #content {
	flex: 1;
	padding: 0 var(--margin-text) 0 calc(200px + var(--margin-text));
	max-width: calc(1100px + calc(var(--margin-text) *2));
  }
#portal_colonne {
	position: sticky;
	top: 150px;
	width: 200px;
}
@media only screen and (max-width: 1200px) {
	#portal-column-content aside ~ #content {
		padding: 0 var(--margin-text);
	}
}
@media only screen and (max-width: 800px) {
	#portal-columns {
		padding: var(--margin-current) var(--margin-window) 0;
	}
	#portal_colonne {
		display: none;
		margin: 0;
		width: 100%;
	}
}

/*--------------------------------------------------------------------------------------------------------------
	== ELEMENTS GENERAUX
--------------------------------------------------------------------------------------------------------------*/
/*
	TITRE
*/
#portal-column-content h1 {
	order: 1;
	width: 100%;
	border: none;
	font-size: 5em;
	font-weight: 900;
	color: var(--color-primary);
	text-align: center;
	line-height: 1;
}
#portal-column-content h1 span.discreet {
	display: block;
}
#portal-column-content h1 strong#search-term {
	color: var(--color-current);
	font-style: italic;
	text-transform: none;
}
@media only screen and (max-width: 800px) {
	#portal-column-content h1 {
		font-size: 3.5em;
	}
}

/*
  	IMAGE
*/
#portal-column-content .imageContainer {
	order: 3;
	position: relative;
	float: none;
	margin: var(--margin-text) 0 0;
}
#portal-column-content .imageContainer::before {
	content: '';
	display: block;
	padding: 67% 0 0;
}
#portal-column-content .imageContainer img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#portal-column-content .imageContainer p {
	position: absolute;
	bottom: 5px;
	margin: 0;
	padding: 5px;
	background: rgba(0,0,0,0.6);
	color: var(--color-white);
}
@media only screen and (min-width: 800px) {
	#portal-column-content .imageContainer {
		width: 68%;
		clip-path: polygon(10% 0, 100% 0%, 90% 100%, 0% 100%);
	}
}
@media only screen and (max-width: 800px) {
	#portal-column-content .imageContainer {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		width: 100vw;
	}	
}

/*
	DESCRIPTION
*/
#portal-column-content .documentDescription {
	order: 2;
	flex: 1;
	margin: var(--margin-text) auto 0;
	max-width: 1100px;
	color: var(--color-primary);
	font-family: var(--font-current);
	font-size: 2em;
	font-weight: 400;
	text-align: center;
}
/*
.template-albumphotos_view #portal-column-content .documentDescription,
.template-folder_summary_view #portal-column-content .documentDescription,
.template-agenda_view #portal-column-content .documentDescription,
.template-summary_view #portal-column-content .documentDescription {
	margin: var(--margin-text) auto 0;
	padding: 0;
	max-width: 1100px;
	background: none;
	clip-path: none;
	color: var(--color-primary);
}*/

@media only screen and (min-width: 800px) {
	#portal-column-content .imageContainer + .documentDescription {
		align-self: flex-end;
		position: relative;
		z-index: 2;
		margin: 0 -100px 20px 0;
		padding: 50px;
		min-height: 200px;
		background: var(--color-primary);
		color: var(--color-white);
		font-size: 1.8em;
		clip-path: polygon(8% 0, 100% 0%, 92% 100%, 0% 100%);
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 1.4;
	}
}

/*
	CORPS DE TEXTE
*/
#portal-column-content #content-core {
	order: 4;
	margin: var(--margin-current) var(--margin-current) 0;
	width: calc(100% - calc(var(--margin-current) * 2));
}
#portletPageColumns,
#portal-column-content #content-core > div {
	font-size: 1.6em;
	line-height: 1.4;
}
@media only screen and (max-width: 800px) {
	#portal-column-content #content-core {
		margin: var(--margin-text) 0 0;
		width: 100%;
	}
}

/*
	MESSAGE DE FEEDBACK
*/
dl.portalMessage {
	margin: 0 0 20px;
	width: 100%;
	background: var(--color-white);
	border: 1px solid var(--color-current);
	font-size: 1.1em;
}
dl.portalMessage dt {
	background: var(--color-current);
}
dl.error dd {
	background: var(--color-white);
}

/*
  	SOMMAIRE
*/
#portal-column-content dl.toc {
	float: none;
	margin: var(--margin-text) 0;
	padding: var(--margin-text);
	background: var(--color-grey);
	width: 100%;
	font-size: 1.4em;
}
#portal-column-content dl.toc dt {
	margin: 0 0 10px;
	color: var(--color-current);
}
#portal-column-content dl.toc dd {
	margin: 0;
	color: var(--color-current);
}
#portal-column-content dl.toc dd ol {
	margin-top: 10px;
}
#portal-column-content dl.toc dd li {
	margin: 0 0 8px;
	line-height: 1.1;
}
#portal-column-content dl.toc dd li a {
	color: var(--color-current);
}
#portal-column-content dl.toc dd li a:hover,
#portal-column-content dl.toc dd li a:focus {
	color: var(--color-primary)!important;
	text-decoration: none;
}

/*
	SUIVANT / PRECEDENT
*/
#portal-column-content > a {
	display: flex;
	align-items: center;
	float: left;
	margin: var(--margin-text) 0;
	width: 50%;
	font-size: 1.4em;
	font-weight: 700;
	color: var(--color-primary);
}
#portal-column-content > a:hover,
#portal-column-content > a:focus {
	text-decoration: none;
	color: var(--color-current);
}
#portal-column-content > a.next {
	justify-content: flex-end;
	float: right;
}
#portal-column-content > a.previous::before {
	content: "\e904";
	font-family: var(--font-picto);
}
#portal-column-content > a.next::after {
	content: "\e903";
	font-family: var(--font-picto);
}

/*
	PAGINATION
*/
#portal-column-content .listingBar {
	margin: 0;
	padding: var(--margin-current) 0 0;
	width: 100%;
	text-align: center;
	color: var(--color-white);
	font-size: 1.2em;
}
#portal-column-content .listingBar > a {
	display: inline-block;
	padding: 0;
	width: 30px;
	height: 30px;
	background: #e7e5e8;
	border: none;
	border-radius: 50px;
	text-align: center;
	line-height: 30px;
}
#portal-column-content .listingBar a:hover,
#portal-column-content .listingBar a:focus {
	background: var(--color-primary);
	color: var(--color-white)!important;
	text-decoration: none;
}
#portal-column-content .listingBar span {
	display: inline-block;
	padding: 0;
	width: 30px;
	height: 30px;
	background: var(--color-primary);
	border: none;
	border-radius: 50px;
	font-weight: 400;
	text-align: center;
	line-height: 30px;
}
#portal-column-content .listingBar span:last-child {
	padding: 0 0 0 5px;
	width: auto;
	background: none;
	color: var(--color-primary);
}
#portal-column-content .listingBar span:last-child a {
	margin: 0 0 0 5px;
}
#portal-column-content .listingBar .previous {
	float: left;
	background: none;
	width: auto;
}
#portal-column-content .listingBar .next {
	float: right;
	background: none;
	width: auto;
}
#portal-column-content .listingBar .previous,
#portal-column-content .listingBar .next {
	width: auto;
	background: none;
	color: var(--color-primary)!important;
}
#portal-column-content .listingBar .previous:focus,
#portal-column-content .listingBar .next:focus,
#portal-column-content .listingBar .previous:hover,
#portal-column-content .listingBar .next:hover {
	width: auto;
	background: none;
	color: var(--color-current)!important;
}

/*
	COMMENTAIRES
*/
.discussion {
	margin: var(--margin-current) 0 20px;
	border-bottom: 2px solid var(--color-grey);
}
.discussion::before {
	content: "Commentaires";
	display: block;
	margin: 0 0 10px;
	font-size: 3em;
	color: var(--color-grey);
}
.discussion > div {
	margin: 0 0 10px;
	padding: 10px 0 0;
	border-top: 2px solid var(--color-grey);
	text-align: right;
}
.discussion > .replyTreeLevel1 {
	margin-left: 30px;
}
.discussion .documentByLine {
	float: none;
	margin: 0;
	text-align: left;
	font-size: 1.4em;
	font-weight: 700;
	color: var(--color-grey);
}
.discussion > div .commentImage {
	display: none;
}
.discussion > div .commentDate {
	display: inline;
	font-weight: 400;
	color: var(--color-grey);
}
.discussion > div .commentBody {
	position: relative;
	margin: 10px 0;
	padding: 0;
	border: none;
	border-radius: 0 ;
	box-shadow: none;
	text-align: left;
	font-size: 1.3em;
	color: var(--color-grey);
	overflow: visible;
}
.discussion > div .commentBody p {
	float: none;
}
.discussion > div button {
	margin: 0;
	padding: 5px 10px;
	background: var(--color-grey);
	border: none;
	border-radius: 3px;
	font-weight: 700;
	font-size: 1em;
	color: var(--color-white);
	text-transform: uppercase;
	cursor: pointer;
	transition: all 0.5s;
}
.discussion > div button:hover {
	background: var(--color-current);
	color: var(--color-white);
}

/*
	DEPOT DE COMMENTAIRES
*/
#commenting {
	margin: 0;
}
.reply {
	margin: 20px 0 0 80px;
}
#commenting fieldset,
.reply fieldset {
	margin: 0;
	padding: 0;
	border: none;
}
#commenting fieldset legend,
.reply fieldset legend {
	margin: 0;
	padding: 0;
	font-size: 2em;
	line-height: 1.8;
	color: var(--color-grey);
}
#commenting fieldset p,
.reply fieldset p {
	display: none;
}
#commenting fieldset form,
.reply fieldset form {
	margin: 0;
}
#commenting fieldset form .field,
.reply fieldset form .field {
	clear: none;
	text-align: left;
	font-size: 1.4em;
}
#commenting fieldset form .field label,
.reply fieldset form .field label {
	display: block;
	margin: 0 0 5px;
	font-weight: 400;
	color: var(--color-grey);
}
#commenting fieldset form .field input,
.reply fieldset form .field input {
	padding: 5px;
	width: 100%;
	border: 1px solid var(--color-grey);
	font-size: 1.2em;
}
#commenting fieldset form .field textarea,
.reply fieldset form .field textarea {
	padding: 5px;
	width: 100%;
	border: 1px solid var(--color-grey);
	font-size: 1.2em;
}
#commenting fieldset form #formfield-form-widgets-etablissement,
.reply fieldset form #formfield-form-widgets-fonction {
	display: none;
}
#commenting fieldset form #formfield-form-widgets-captcha label,
.reply fieldset form #formfield-form-widgets-captcha strong {
	display: none;
}
#commenting fieldset form #formfield-form-widgets-captcha span,
.reply fieldset form #formfield-form-widgets-captcha span {
	float: right;
	padding: 0 135px 0 0;
	color: var(--color-grey);
	font-size: 1.2em;
	font-weight: 700;
}
#commenting fieldset form #formfield-form-widgets-captcha input,
.reply fieldset form #formfield-form-widgets-captcha input {
	float: right;
	margin: -15px 0 0;
	width: 125px;
}
#commenting fieldset form .formControls,
.reply fieldset form .formControls {
	clear: both;
	margin: 0;
	text-align: right;
}
#commenting fieldset form .formControls input,
.reply fieldset form .formControls input {
	padding: 5px 10px;
	margin: 0 0 0 5px;
	background: var(--color-grey);
	border: none;
	color: var(--color-white);
	font-weight: 700;
	font-size: 1.2em;
	text-transform: uppercase;
	cursor: pointer;
	transition: all 0.5s;
}
#commenting fieldset form .formControls input:hover,
.reply fieldset form .formControls input:hover {
	background: var(--color-current);
	color: var(--color-white);
}

/*
	PLAYER AUDIO
*/
#audio-player {
	width: 100%;
}

/*--------------------------------------------------------------------------------------------------------------
	== PAGE DE LISTE
--------------------------------------------------------------------------------------------------------------*/
.template-folder_summary_view #portal-column-content #content,
.template-agenda_view #portal-column-content #content,
.template-summary_view #portal-column-content #content {
	padding: 0 var(--margin-window);
	max-width: none;
}
.template-folder_listing_projets_view #portal-column-content #content-core,
.template-folder_summary_view #portal-column-content #content-core,
.template-agenda_view #portal-column-content #content-core,
.template-summary_view #portal-column-content #content-core {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: var(--margin-current) -20px 0;
	padding: 0;
	width: 100%;
}
#portal-column-content #content-core #search-results {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: var(--margin-current) 0 0;
	padding: 0;
}
#portal-column-content #content-core .tileItem {
	position: relative;
	margin: 20px;
	width: calc(25% - 40px);
}
#portal-column-content #content-core #search-results .tileItem {
	font-size: 1.4em;
}
#portal-column-content #content-core .tileItem * {
	position: relative;
	z-index: 2;
}
#portal-column-content #content-core .tileItem h2 {
	margin: 0;
	padding: 0!important;
	background: none;
	font-size: 1.2em;
	font-weight: 400;
	text-align: center;
	text-transform: uppercase;
	line-height: 1;
}
#portal-column-content #content-core .tileItem h2 a {
	display: block;
	padding: 15px 0 10px;
	color: var(--color-white)!important;
}
#portal-column-content #content-core .tileItem:hover h2 a,
#portal-column-content #content-core .tileItem h2 a:hover,
#portal-column-content #content-core .tileItem h2 a:focus {
	color: var(--color-white)!important;
	text-decoration: none;
}
#portal-column-content #content-core .tileItem h2 a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0; 
}
#portal-column-content #content-core .tileItem h2 a.state-private {
	color: red!important;
}
#portal-column-content #content-core .tileItem h2 a.state-private::after {
	content: "contenu non publié";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	padding: 5px;
	background: red;
	border-radius: 3px 3px 0 0;
	text-transform: none;
	color: var(--color-white);
	font-size: 0.6em;
}
#portal-column-content #content-core .tileItem .imageContainer {
	margin: 0;
	width: auto;
}
#portal-column-content #content-core .tileItem .imageContainer::before {
	display: none;
}
#portal-column-content #content-core .tileItem .imageContainer a,
#portal-column-content #content-core .tileItem > a:first-child {
	position: relative;
	display: block;
	margin: 0;
	overflow: hidden;
}
#portal-column-content #content-core .tileItem .imageContainer a::before,
#portal-column-content #content-core .tileItem > a:first-child::before {
	content: "";
	display: block;
	padding: 60% 0 0;
}
#portal-column-content #content-core .tileItem .illustration-event::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(0deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%);;
	z-index: 2;
}
#portal-column-content #content-core .tileItem .imageContainer img,
#portal-column-content #content-core .tileItem > a img {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
	transition: all 0.5s;
}
#portal-column-content #content-core .tileItem:hover .imageContainer a img,
#portal-column-content #content-core .tileItem .imageContainer a:hover img,
#portal-column-content #content-core .tileItem .imageContainer a:focus img,
#portal-column-content #content-core .tileItem:hover > a img,
#portal-column-content #content-core .tileItem > a:hover img,
#portal-column-content #content-core .tileItem > a:focus img {
	transform: scale(1.05);
}
#portal-column-content #content-core .tileItem .documentByLine {
	position: absolute;
	top: 70%;
	left: 10px;
	right: 40px;
	overflow: hidden;
	text-align: center;
	color: var(--color-white);
}
#portal-column-content #content-core .tileItem .documentByLine span .fin,
#portal-column-content #content-core .tileItem .documentByLine span .location,
#portal-column-content #content-core .tileItem .documentByLine span .heure {
	display: none;
}
#portal-column-content #content-core .tileItem .documentByLine .debut .jour {
	display: block;
	color: var(--color-white);
}
#portal-column-content #content-core .tileItem .audio-player {
	position: absolute;
	top: 60%;
	width: 93%;
	overflow: hidden;
}
#portal-column-content #content-core .tileItem .audio-player audio {
	position: relative;
	z-index: 2;
	width: 100%;
}
#portal-column-content #content-core .tileItem p,
#portal-column-content #content-core .tileItem cite,
#portal-column-content #content-core .tileItem p.tileFooter {
	display: none;
}

@media only screen and (max-width: 2000px) {
	#portal-column-content #content-core .tileItem {
		width: calc(33.333% - 40px);
	}
}
@media only screen and (max-width: 1500px) {
	#portal-column-content #content-core .tileItem {
		width: calc(50% - 40px);
	}
}
@media only screen and (min-width: 800px) {
	#portal-column-content #content-core #search-results {
		margin: var(--margin-current) calc(-1 * var(--margin-window)) 0;
	}	
	#portal-column-content #content-core .tileItem::before {
		content: '';
		position: absolute;
		top: 50%;
		left: -10px;
		right: 25px;
		bottom: 0;
		background: var(--color-secondary);
		transform: skewX(-10deg);
		transition: all 0.5s;
	}
	#portal-column-content #content-core .tileItem:hover::before {
		background: var(--color-primary);
	}
	#portal-column-content #content-core .tileItem h2 {
		margin: 0 40px 0 5px;
	}
	#portal-column-content #content-core .tileItem h2:first-child {
		margin-top: 60%;
	}
	#portal-column-content #content-core .tileItem h2 a {
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow: hidden;
	}
	#portal-column-content #content-core .tileItem .audio-player {
		clip-path: polygon(2% 0, 100% 0%, 97% 100%, 0% 100%);
	}	
	#portal-column-content #content-core .tileItem .imageContainer a,
	#portal-column-content #content-core .tileItem > a:first-child {
		clip-path: polygon(10% 0, 100% 0%, 90% 100%, 0% 100%);
	}
}
@media only screen and (max-width: 800px) {
	.template-folder_summary_view #portal-column-content #content,
	.template-agenda_view #portal-column-content #content,
	.template-summary_view #portal-column-content #content {
		padding: 0;
	}
	#portal-column-content #content-core .tileItem {
		margin: 10px 0;
		width: 100%;
		background: var(--color-secondary);
	}
	#portal-column-content #content-core .tileItem h2 a {
		padding: 15px 15px 10px;
	}
	#portal-column-content #content-core .tileItem .imageContainer a,
	#portal-column-content #content-core .tileItem > a:first-child {
		width: 100%;
	}
}

/*
  	RESULTATS RECHERCHE
*/
form.searchPage h1.documentFirstHeading {
	float: none;
	margin: 0;
}
#portal-column-content #content-core #searchform #search-field {
	margin: 0;
	padding: 0 0 var(--margin-current);
	text-align: center;
}
#portal-column-content #content-core #searchform #search-field input.searchPage {
	font-size: 100%!important;
}
#portal-column-content #content-core #searchform #search-field input[type="submit"] {
	padding: 10px 20px;
}

#portal-column-content #content-core #search-results-wrapper {
	margin: var(--margin-text) 0 0;
}
#portal-column-content #content-core #search-results-bar {
	padding: 0;
	background: none;
	border: none;
}
#portal-column-content #content-core #search-results-bar > span:first-child {
	display: block;
	float: none;
	margin: 0 0 10px;
	font-size: 1.4em;
	text-align: center;
}
#portal-column-content #content-core #search-results-bar dl.actionMenu,
#portal-column-content #content-core #search-results-bar span#searchResultsSort {
	display: none;
}
@media only screen and (min-width: 800px) {
}

/*--------------------------------------------------------------------------------------------------------------
	== PAGE MAGAZINE
--------------------------------------------------------------------------------------------------------------*/
/*.template-facetednavigation_view.portaltype-folder .faceted-results {
	clear: both;
}
.template-facetednavigation_view.portaltype-folder #portal-column-content #content-core .tileItem {
	float: left;
	margin: 10px 0 0;
	padding: 0;
	width: 24%;
	border: none;
	overflow: hidden;
}
.template-facetednavigation_view.portaltype-folder #portal-column-content #content-core .tileItem h2 {
	margin: 0;
	padding: 10px;
	background: rgba(0,0,0,0.8);
	font-family: var(--font-current);
	font-size: 1em;
}
.template-facetednavigation_view.portaltype-folder #portal-column-content #content-core .tileItem a + h2 {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 3;
}
.template-facetednavigation_view.portaltype-folder #portal-column-content #content-core .tileItem h2 a {
	color: var(--color-white);
}

/*--------------------------------------------------------------------------------------------------------------
	== PAGE D'INSCRIPTION A LA NEWSLETTER
--------------------------------------------------------------------------------------------------------------*/
#portal-column-content #newsletter {
	font-size: 1em!important;
}
#portal-column-content #newsletter .documentDescription {
	margin: 0!important;
}
#portal-column-content #newsletter form#nl_form {
	margin: var(--margin-current) 0 0;
	padding: 0;
	font-size: 1.4em;
}
#portal-column-content #newsletter form#nl_form fieldset {
	margin: 0;
	padding: 0;
	border: none;
}
#portal-column-content #newsletter form#nl_form fieldset .field input[type=text] {
	width: 50%;
}
#portal-column-content #newsletter form#nl_form fieldset .field p {
	margin: 0;
	font-weight: 700;
}
#portal-column-content #newsletter form#nl_form fieldset .field p ~ label {
	font-weight: 400;
}
#portal-column-content #newsletter form#nl_form fieldset .formControls input {
	background: var(--color-current);
	border: none;
	border-radius: 50px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--color-white);
}
#portal-column-content #newsletter form#nl_form fieldset .formControls input:hover {
	background: var(--color-primary);
}
@media only screen and (max-width: 1024px) {
	#portal-column-content #newsletter form#nl_form fieldset .field input[type=text] {
		width: 100%;
	}
}

/*--------------------------------------------------------------------------------------------------------------
	== PAGE CONTACT
--------------------------------------------------------------------------------------------------------------*/
.template-contact-info #content > div {
	order: 2;
	width: 100%;
}
.template-contact-info #content > div > div:first-child {
	margin: var(--margin-text) 0 0;
	padding: 0;
	background: none;
	clip-path: none;
	color: var(--color-primary);
	text-align: center;
	font-size: 1.8em;
}
.template-contact-info #content #feedback_form {
	font-size: 1.6em;
	line-height: 1.4;
}

/*--------------------------------------------------------------------------------------------------------------
	== PAGE VIDEOS
--------------------------------------------------------------------------------------------------------------*/
.template-video_view #content-core {
	position: relative;
	padding-bottom: 56.25%;
}
.template-video_view #content-core iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*--------------------------------------------------------------------------------------------------------------
	== PAGE EVENEMENT
--------------------------------------------------------------------------------------------------------------*/
#portal-column-content #content-core .eventDetails {
	clear: both;
	float: none;
	margin: var(--margin-text) 0;
	padding: 0;
	width: auto;
	border: none;
	overflow: hidden;
}
#portal-column-content #content-core .eventDetails ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -20px;
	color: var(--color-primary);
}
#portal-column-content #content-core .eventDetails ul li {
	margin: 10px 20px;
	width: calc(33.333% - 40px);
	line-height: 1;
	text-align: center;
}
#portal-column-content #content-core .eventDetails ul li.calendrier {
	display: none;
}
#portal-column-content #content-core .eventDetails ul li.site-web {
	margin-top: 20px;
	width: calc(100% - 20px);
}
#portal-column-content #content-core .eventDetails ul li.recurrences {
	position: relative;
	margin-top: 40px;
	padding: 10px;
	width: calc(100% - 20px);
}
#portal-column-content #content-core .eventDetails ul li.recurrences::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--color-grey);
	opacity: 0.2;
}
#portal-column-content #content-core .eventDetails ul li::before {
	display: block;
	margin: 0 0 10px;
	font-family: var(--font-picto);
	font-size: 1.3em;
}
#portal-column-content #content-core .eventDetails ul li.quand::before {
	content: '\e915';
}
#portal-column-content #content-core .eventDetails ul li.ou::before {
	content: '\e90c';
}
#portal-column-content #content-core .eventDetails ul li.contact_name::before {
	content: '\e90d';
}
#portal-column-content #content-core .eventDetails ul li.telephone::before {
	content: '\e90b';
}
#portal-column-content #content-core .eventDetails ul li.participants::before {
	content: '\e90e';
}
#portal-column-content #content-core .eventDetails ul li.inscription::before {
	content: '\e909';
}
#portal-column-content #content-core .eventDetails ul li span.entete {
	display: block;
	margin: 0 0 5px;
	font-size: 1.1em;
	font-weight: 700;
	text-transform: uppercase;
}
#portal-column-content #content-core .eventDetails ul li span.date {
	padding: 0;
	background: none;
	border: none;
	box-shadow: none;
	font-size: inherit;
	text-align: left;
}
#portal-column-content #content-core .eventDetails ul li p {
	margin: 0;
}
#portal-column-content #content-core .eventDetails ul li a,
#portal-column-content #content-core .eventDetails ul li a:hover,
#portal-column-content #content-core .eventDetails ul li a:focus {
	color: var(--color-primary)!important;
}
#portal-column-content #content-core .eventDetails .site-web a {
	display: inline-block;
	padding: 10px 20px 6px;
	border: 1px solid var(--color-primary);
	border-radius: 50px;
	font-size: 0.9em;
}
#portal-column-content #content-core .eventDetails .site-web a:hover,
#portal-column-content #content-core .eventDetails .site-web a:focus {
	background: var(--color-current);
	color: #fff!important;
	text-decoration: none;
}
#portal-column-content #content-core .eventDetails ul li.contact_name p a::before {
	content: "\e90a";
	display: inline-block;
	margin: 0 5px 0 0;
	font-family: var(--font-picto);
}
#portal-column-content #content-core .eventDetails ul li .timezone {
	display: none;
}
#portal-column-content #content-core #parent-fieldname-eventUrl {
	display: inline-block;
	margin: var(--margin-text) 0 0;
	padding: 10px 20px;
	background: var(--color-current);
	border-radius: 50px;
	color: var(--color-white);
	font-size: 1.4em;
	line-height: 1;
}
#portal-column-content #content-core #parent-fieldname-eventUrl:hover,
#portal-column-content #content-core #parent-fieldname-eventUrl:focus {
	background: var(--color-primary);
	color: var(--color-white)!important;
	text-decoration: none;
}
@media only screen and (max-width: 1100px) {
	#portal-column-content #content-core .eventDetails ul li {
		width: calc(50% - 40px);
	}
}
@media only screen and (max-width: 800px) {
	#portal-column-content #content-core .eventDetails ul li {
		width: calc(100% - 40px);
	}
}

/*--------------------------------------------------------------------------------------------------------------
	== PAGE CALENDRIER
--------------------------------------------------------------------------------------------------------------*/
/*
	BOUTON CALENDRIER
*/
#portal-column-content .voir-le-calendrier,
#portal-column-content .retour-agenda {
	order: 2;
	position: relative;
	margin: var(--margin-text) 0 0;
}
#portal-column-content .voir-le-calendrier a,
#portal-column-content .retour-agenda a {
	padding: 10px 20px 7px;
	background: var(--color-grey);
	border-radius: 50px;
	color: var(--color-current)!important;
	font-weight: 700;
	font-size: 1.2em;
	text-transform: uppercase;
}
#portal-column-content .voir-le-calendrier a:hover,
#portal-column-content .voir-le-calendrier a:focus,
#portal-column-content .retour-agenda a:hover,
#portal-column-content .retour-agenda a:focus {
	background: var(--color-primary);
	color: var(--color-white)!important;
	text-decoration: none;
}

/*
	CALENDRIER
*/
#calendar {
	margin: var(--margin-current) 0 0;
}
#content div.fc#calendar a {
	border: none;
}
#content div.fc#calendar a:hover,
#content div.fc#calendar a:focus {
	color: var(--color-primary)!important;
	text-decoration: none;
}

/* entete */
div.fc#calendar .fc-header {
	font-size: 1.2em;
}
.fc-header h2 {
	font-size: 1.4em;
	font-weight: 400;
	text-transform: uppercase;
	color: var(--color-current);
}
.fc-header .fc-state-default,
.fc-header .fc-state-default a,
.fc-header .fc-state-default span {
	background: none;
	border: none;
}
.fc-header .fc-state-active a {
	color: var(--color-primary);
}

/* calendrier */
.fc#calendar .fc-content .fc-grid th {
	padding: 10px 0;
}
.fc-content th.fc-day-header {
	font-size: 1.2em;
}
.fc-content .fc-state-highlight {
	background: #e8e8e8;
	border: 1px solid var(--color-grey);
	font-weight: 700;
}
.fc-content a.fc-event {
	background: #666;
	border: 1px solid #666!important;
	font-size: 1.1em;
}
#content .fc-content a.fc-event:hover,
#content .fc-content a.fc-event:focus {
	color: var(--color-white)!important;
}
.fc-grid .fc-day-number {
	padding: 10px;
}
.fc-event, .fc-agenda .fc-event-time, .fc-event a {
	background: var(--color-primary);
}
#content div.fc#calendar .fc-content a:hover,
#content div.fc#calendar .fc-content a:focus {
	background: var(--color-current);
	color: var(--color-white)!important;
	text-decoration: none;
}

/*--------------------------------------------------------------------------------------------------------------
	== PAGE ALBUM PHOTOS
--------------------------------------------------------------------------------------------------------------*/
#content span.nb-photo {
	display: none;
}
#content .liste-photos {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -10px;
	height: auto!important;
}
#content .liste-photos .imageAlbumContainer {
	position: relative!important;
	top: auto!important;
	left: auto!important;
	margin: 10px 0;
	width: calc(33.3333% - 20px);
	overflow: hidden;
	clip-path: polygon(9% 0, 100% 0%, 91% 100%, 0% 100%);
}
#content .liste-photos .imageAlbumContainer::before {
	content: "";
	display: block;
	padding: 60% 0 0;
}
#content .liste-photos .imageAlbumContainer > a > img {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
	transition: all 0.5s;
}
#content .liste-photos .imageAlbumContainer:hover > a > img {
	-webkit-transform: scale(1.05);
	-moz-transform: scale(1.05);
	-ms-transform: scale(1.05);
	-o-transform: scale(1.05);
	transform: scale(1.05);
}
@media only screen and (max-width: 1500px) {
	#content .liste-photos .imageAlbumContainer {
		width: calc(25% - 20px);
	}
}
@media only screen and (max-width: 1150px) {
	#content .liste-photos .imageAlbumContainer {
		width: calc(33.333% - 20px);
	}
}
@media only screen and (max-width: 1024px) {
	#content .liste-photos .imageAlbumContainer {
		width: calc(50% - 20px);
	}
}
@media only screen and (max-width: 800px) {
	#content .liste-photos {
		margin: 0 calc(-1 * var(--margin-window));
	}
	#content .liste-photos .imageAlbumContainer {
		width: 50%;
		clip-path: polygon(0 0, 100% 0%, 91% 100%, 0% 100%);
	}
	#content .liste-photos .imageAlbumContainer:nth-child(even) {
		clip-path: polygon(9% 0, 100% 0%, 100% 100%, 0% 100%);
	}
	#content .liste-photos .imageAlbumContainer:nth-child(odd):last-child {
		width: 100%;
		clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
	}
}

/*--------------------------------------------------------------------------------------------------------------
	== PAGE SON
--------------------------------------------------------------------------------------------------------------*/
.portaltype-son h2#download-son {
	margin: 30px 0 10px;
	padding: 0;
	color: var(--color-current);
	font-size: 1.6em;
	font-weight: normal;
	text-transform: uppercase;
	line-height: 1em;
}

/*--------------------------------------------------------------------------------------------------------------
	== PAGE FICHIER
--------------------------------------------------------------------------------------------------------------*/
.portaltype-file #content-core a {
	display: inline-block;
	margin: 5px 0;
	padding: 5px 10px;
	background: var(--color-current);
	-webkit-border-radius: 5px;
	border-radius: 5px;
	border-bottom: none;
	font-size: 1.2em;
	color: var(--color-white);
}
.portaltype-file #content-core a:hover,
.portaltype-file #content-core a:focus {
	background: var(--color-current);
	color: var(--color-white)!important;
	text-decoration: none;
}
.portaltype-file #content-core a img {
	display: none;
}

/*--------------------------------------------------------------------------------------------------------------
	== PAGE PLONE FORM GEN
--------------------------------------------------------------------------------------------------------------*/
.portaltype-formfolder div[id^="parent-fieldname-"] {
	margin: var(--margin-current) 0;
	font-size: 1.4em;
	line-height: 1.4;
}
.pfg-form {
	margin: var(--margin-current) 0;
	font-size: 1.4em;
	line-height: 1.4;
}
#content .pfg-form fieldset {
	margin: var(--margin-current) 0 0;
	padding: 0;
	border: none;
}
#content .pfg-form fieldset legend {
	margin: 0 0 var(--margin-text);
	padding: 0;
	border: none;
	font-size: 1.5em;
	font-weight: 700;
	color: var(--color-primary);
	text-transform: uppercase;
}
.pfg-form input + label {
	font-weight: 400;
}
.pfg-form .field select,
.pfg-form .field input {
	width: 50%!important;
}
.pfg-form input[type=checkbox],
.pfg-form input[type=radio] {
	width: auto!important;
}
.pfg-form input[type=submit] {
	background: var(--color-current);
	border: none;
	border-radius: 50px;
	color: var(--color-white);
	text-transform: uppercase;
	font-weight: 700;
}
.pfg-form input[type=submit]:hover {
	background: var(--color-primary);
}

@media only screen and (max-width: 1200px) {
	.pfg-form .field select,
	.pfg-form .field input {
		width: 100%!important;
	}
	.pfg-form input[type=checkbox],
	.pfg-form input[type=radio] {
		width: auto!important;
	}

}

/*--------------------------------------------------------------------------------------------------------------
	== PAGE MEDIATHEQUE
--------------------------------------------------------------------------------------------------------------*/
/*#mediatheque-search-results-bar {
	margin: 0 0 10px;
	padding: 20px;
	background: #f0eee8;
}
#mediatheque-search-results-bar #mediatheque_header_title {
	display: none;
}
#mediatheque-search-results-bar fieldset {
	margin: 0 0 30px;
	padding: 0;
	border: none;
}
#mediatheque-search-results-bar fieldset#mediatheque-SearchableText {
	float: left;
	width: 45%;
}
#mediatheque-search-results-bar fieldset#mediatheque-chemin {
	float: right;
	width: 45%;
}
#mediatheque-search-results-bar fieldset#mediatheque-chemin + fieldset {
	clear: both;
}
#mediatheque-search-results-bar fieldset legend {
	margin: 0 0 5px;
	padding: 0;
	border: none;
	font-size: 1.4em;
	font-weight: 700;
	text-transform: uppercase;
}
#mediatheque-search-results-bar fieldset ul li {
	display: inline-block;
	margin: 0 10px 0 0;
}
#mediatheque-search-results-bar fieldset#mediatheque-SearchableText input,
#mediatheque-search-results-bar fieldset#mediatheque-chemin select {
	padding: 3px;
	width: 100%;
}
#mediatheque-search-results-bar fieldset ul li input {
	vertical-align: middle;
}
#mediatheque-search-results-bar fieldset ul li label {
	font-weight: normal;
}
#mediatheque-search-results-bar .input_submit_mediatheque input {
	display: inline-block;
	padding: 5px 10px;
	background: #17afd0;
	border: none;
	-webkit-border-radius: 50px;
	border-radius: 50px;
	color: #444;
	text-transform: uppercase;
	font-weight: 700;
	cursor: pointer;
	
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}
#mediatheque-search-results-bar .input_submit_mediatheque input:hover {
	background: var(--color-current);
}

/*--------------------------------------------------------------------------------------------------------------
	== PAGE DE PLAN DU SITE
--------------------------------------------------------------------------------------------------------------*/
#portal-column-content #content-core #portal-sitemap {
	margin: 30px 0 0;
}
#portal-column-content #content-core #portal-sitemap li {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 1;
}
#portal-column-content #content-core #portal-sitemap li a {
	background: none;
	line-height: 1;
}
#portal-column-content #content-core #portal-sitemap li img {
	display: none;
}

/* premier niveau */
#portal-column-content #content-core #portal-sitemap > li {
	margin: var(--margin-current) 0 0;
}
#portal-column-content #content-core #portal-sitemap > li > div > a {
	display: block;
	margin: 0;
	padding: 0!important;
	font-size: 2em;
	color: var(--color-primary)!important;
	text-transform: uppercase;
}
#portal-column-content #content-core #portal-sitemap > li > div > a:hover,
#portal-column-content #content-core #portal-sitemap > li > div > a:focus {
	color: var(--color-current)!important;
	text-decoration: none;
}

/* deuxieme niveau */
#portal-column-content #content-core #portal-sitemap > li > ul {
	margin: 0 0 0 30px;
}
#portal-column-content #content-core #portal-sitemap > li > ul > li {
	margin: var(--margin-text) 0 0;
	list-style: disc;
}
#portal-column-content #content-core #portal-sitemap > li > ul > li > div > a {
	margin: 0 0 5px;
	padding: 0!important;
	background: none;
	font-size: 1.6em;
	font-weight: 700;
	color: var(--color-current)!important;
}
#portal-column-content #content-core #portal-sitemap > li > ul > li > div > a:hover,
#portal-column-content #content-core #portal-sitemap > li > ul > li > div > a:focus {
	border: none;
	color: var(--color-primary)!important;
	text-decoration: none;
}

/* troisieme niveau */
#portal-column-content #content-core #portal-sitemap li li ul {
	margin: 0 -20px;
}
#portal-column-content #content-core #portal-sitemap li li li {
	display: inline-block;
	margin: 0 20px;
}
#portal-column-content #content-core #portal-sitemap li li li a {
	padding: 0!important;
	background: none;
	text-transform: none;
	font-size: 1.4em;
	color: var(--color-current)!important;
}
#portal-column-content #content-core #portal-sitemap li li li a:hover,
#portal-column-content #content-core #portal-sitemap li li li a:focus {
	color: var(--color-primary)!important;
	text-decoration: none;
}

/*--------------------------------------------------------------------------------------------------------------
	== PAGE DE CONNEXION
--------------------------------------------------------------------------------------------------------------*/
#portal-column-content #login-form {
	font-size: 1.4em;
}
#portal-column-content #login-form:before {
	content: "Identifiez-vous";
	display: block;
	padding: 0 0 20px 148px;
	font-size: 2em;
	color: var(--color-current);
}
#portal-column-content #login-form .field label {
	font-style: 400;
}
#portal-column-content #login-form .field input {
	width: 50%;
}
#portal-column-content #login-form .formControls {
	margin: 0 0 0 148px;
}
#portal-column-content #login-form .formControls input {
	background: var(--color-current);
	border: none;
	border-radius: 50px;
	color: var(--color-white);
	text-transform: uppercase;
	font-weight: 700;
}
#portal-column-content #login-form .formControls input:hover {
	background: var(--color-primary);
}
#portal-column-content #login-forgotten-password {
	margin: 40px 0 0 148px;
	padding: 40px 0 0;
	border-top: 1px dotted var(--color-grey);
	font-size: 1.1em;
}
#portal-column-content #login-forgotten-password a:hover,
#portal-column-content #login-forgotten-password a:focus {
	color: var(--color-primary)!important;
	text-decoration: none;
}

/*
	MOT DE PASSE PERDU
*/
#portal-column-content #mail_password {
	font-size: 1.4em;
}
#portal-column-content #mail_password fieldset {
	margin: 0;
	padding: 0;
	border: none;
}
#portal-column-content #mail_password fieldset legend {
	display: none;
}
#portal-column-content #mail_password .field {
	clear: none;
	margin: 0 ;
}
#portal-column-content #mail_password .field label {
	margin: 0 10px 0 0;
	font-style: normal;
	font-weight: 400;
}
#portal-column-content #mail_password .field input.context {
	margin: var(--margin-text) 0 0;
	background: var(--color-current);
	border: none;
	border-radius: 50px;
	color: var(--color-white);
	text-transform: uppercase;
	font-weight: 700;
}
#portal-column-content #mail_password .field input.context:hover {
	background: var(--color-primary);
}
#portal-column-content #mail_password + p {
	margin: var(--margin-text) 0 0;
	font-size: 1.4em;
}
#portal-column-content #mail_password + p a:hover,
#portal-column-content #mail_password + p a:focus {
	color: var(--color-current)!important;
}

/*------------------------------------------------------------------------------------------------------------*/
/*
	= FOOTER
*/
/*------------------------------------------------------------------------------------------------------------*/
#portal-footer {
	margin: var(--margin-current) 0 0;
	padding: 0;
	background: none;
	border: none;
}

/*--------------------------------------------------------------------------------------------------------------
	== ALERTE POPIN
--------------------------------------------------------------------------------------------------------------*/
#portal-footer #alerte-popin {
	display: flex;
	padding: 10px;
	max-width: none;
}
#portal-footer #alerte-popin > div {
	margin: auto;
	padding: 30px;
	max-width: 900px;
	width: auto;
}
#portal-footer #alerte-popin > div img {
	max-width: 100%;
	height: auto!important;
}

/*--------------------------------------------------------------------------------------------------------------
	== COORDONNEES
--------------------------------------------------------------------------------------------------------------*/
#coordonnees {
	margin: var(--margin-current) 0 0;
	padding: 0;
	text-align: center;
	font-weight: 400;
	font-size: 1.4em;
}
#coordonnees img {
	display: block;
	margin: 0 auto var(--margin-text);
}
#coordonnees strong {
	display: block;
	font-size: 3em;
	font-weight: 900;
	text-align: center;
}
#coordonnees em {
	display: block;
	font-family: var(--font-exergue);
	font-size: 1.4em;
	font-style: normal;
	text-align: center;
	line-height: 2;
}
#coordonnees p + p {
	max-width: 400px;
	margin: var(--margin-text) auto 0;
	color: var(--color-institution);
	font-size: 1.2em;
	line-height: 1.3;
	text-align: center;
}
#coordonnees ul {
	position: relative;
	display: flex;
	justify-content: center;
	margin: 0;
	padding: var(--margin-current) 0 0;
}
#coordonnees ul a {
	position: relative;
	z-index: 2;
	display: block;
	padding: 20px;
	font-size: 1.2em;
	color: var(--color-institution);
}
#coordonnees ul a::before {
	display: block;
	margin: 0 0 10px;
	font-size: 2.2em;
}
#coordonnees ul a:hover,
#coordonnees ul a:focus {
	color: var(--color-current);
	text-decoration: none;
}

@media only screen and (min-width: 800px) {
	#coordonnees ul::before {
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		bottom: 0;
		background: var(--color-secondary);
	}
	#coordonnees ul li {
		position: relative;
		z-index: 2;
		margin: 0 10px;
	}
	#coordonnees ul li::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: var(--color-white);
		box-shadow: 0 0 10px rgba(0,0,0,0.2);
		transform: skewX(-10deg);
	}	
}
@media only screen and (max-width: 800px) {
	#coordonnees {
		margin: 0;
		background: var(--color-primary);
	}
	#coordonnees p {
		display: none;
	}
	#coordonnees ul {
		flex-direction: column;
		padding-bottom: var(--margin-current);
	}
	#coordonnees ul a {
		color: var(--color-white);
	}
	#coordonnees ul li:first-child a {
		padding-top: 0;
	}
	#coordonnees ul li:last-child a {
		padding-bottom: 0;
	}
	
}

/*--------------------------------------------------------------------------------------------------------------
	== SITE ACTION
--------------------------------------------------------------------------------------------------------------*/
#portal-siteactions {
	clear: none;
	float: none;
	padding: var(--margin-current) var(--margin-window);
	background: var(--color-secondary);
	border: none;
	color: var(--color-white);
	font-size: 1.5em;
}
#portal-siteactions li {
	display: inline;
	margin: 0 10px;
	color: var(--color-white);
}
#portal-siteactions li a,
#portal-siteactions li a:visited {
	border: none;
	text-transform: none;
	color: var(--color-white);
	opacity: 0.7;
}
#portal-siteactions li a:hover,
#portal-siteactions li a:focus {
	border: none;
	background: none;
	color: var(--color-white);
	text-decoration: none;
	opacity: 1;
}
@media only screen and (max-width: 800px) {
	#portal-siteactions li + li::before,
	#portal-siteactions li {
		display: none;
	}
	#portal-siteactions li#siteaction-mentions-legales,
	#portal-siteactions li#siteaction-gestion-cookies {
		display: block;
	}
}

/*------------------------------------------------------------------------------------------------------------*/
/*
	= POPINS
*/
/*------------------------------------------------------------------------------------------------------------*/
#exposeMask {
	background: var(--color-white)!important;
	opacity: .8!important;
}
div.overlay div.close {
	position: fixed;
	top: var(--margin-text)!important;
	right: var(--margin-text)!important;
	left: auto!important;
	background: none;
}
div.overlay div.close::before {
	content: "\e902";
	font-size: 2em;
	font-family: var(--font-picto);
	color: var(--color-current);
}

/*
	POPIN
*/
.overlay.overlay-ajax {
	position: fixed!important;
	top: 50%!important;
	left: 50%!important;
	transform: translate(-50%, -50%);
	margin: 0;
	padding: calc(var(--margin-text) * 2);
	width: 100%!important;
	max-width: 830px;
	max-height: calc(100vh - calc(var(--margin-text) * 2));
	background: var(--color-primary);
	overflow: auto;
}
.overlay.overlay-ajax .pb-ajax {
	background: none;
	box-shadow: none;
	border: none;
}
.overlay.overlay-ajax .pb-ajax > div {
	margin: auto;
	padding: 0;
	font-size: 1.6em;
	color: var(--color-white);
}
.overlay.overlay-ajax .pb-ajax #portal-column-content #content-core > div {
	font-size: 1em;
}
.overlay.overlay-ajax #portal-column-content #content {
	display: block;
}
.overlay.overlay-ajax #portal-column-content {
	margin: 0;
	padding: 0;
}

/*
	CONTENU
*/
.pb-ajax h1 {
	position: relative!important;
	top: auto!important;
	padding: 0!important;
	background: none;
	color: var(--color-white)!important;
	font-family: var(--font-title);
	font-weight: 400!important;;
	font-size: 2em!important;
	text-align: left!important;
}
.pb-ajax .documentDescription {
	margin: var(--margin-text) 0!important;
	padding: 0!important;
	font-family: var(--font-current)!important;
	font-weight: 400!important;;
	font-size: 1.2em!important;
	color: var(--color-white)!important;
	text-align: left!important;
}
.pb-ajax div div:first-child {
	padding: var(--margin-text) 0;
	width: 100%;
	background: none;
}
.pb-ajax #content-core {
	justify-content: flex-start!important;
	margin: 0!important;
	padding: 0!important;
}
.pb-ajax form {
	width: 100%;
}
.pb-ajax .field,
.pb-ajax form > div {
	margin: 0 0 var(--margin-text)!important;
	padding: 0!important;
	border: none!important;
}	
.pb-ajax .field label {
	margin: 0!important;
	text-transform: uppercase;
	font-size: 1.1em!important;
}
.pb-ajax .field .formHelp,
.pb-ajax .field label .formHelp {
	text-transform: none;
	color: var(--color-white);
	font-size: 0.8em!important;
	font-style: italic;
}
/*.pb-ajax .field div {
	font-style: italic;
	font-weight: 300;
	color: var(--color-white);
	opacity: 0.8;
	font-size: 0.8em;
}*/
.pb-ajax .field input,
.pb-ajax .field textarea {
	width: 100%!important;
	background: var(--color-white);
	border: 1px solid var(--color-white);
	border-radius: 3px;
	color: var(--color-current);
	opacity: 0.8;
	transition: all 0.5s;
}	
.pb-ajax .field input:focus,
.pb-ajax .field textarea:focus {
	outline: none;
	opacity: 1;
}
.pb-ajax input[type=checkbox],
.pb-ajax input[type=radio] {
	width: auto!important;
}
.pb-ajax input[type=submit],
.pb-ajax div .formControls input[type=submit] {
	margin: 0;
	padding: 10px 20px!important;
	background: var(--color-current)!important;
	border: none!important;
	border-radius: 50px!important;
	color: var(--color-white)!important;
	font-weight: 700!important;
	cursor: pointer;
	transition: all 0.5s;
}
.pb-ajax input[type=submit]:hover {
	color: var(--color-primary);
}

/*
	FORM LOGIN
*/
.pb-ajax #login-form {
	text-align: left;
}
.pb-ajax #login-form label {
	text-align: left;
}
.pb-ajax #login-forgotten-password {
	margin: var(--margin-text) 0 0;
	padding: var(--margin-text) 0 0;
	border-top: 1px dotted var(--color-white);
}
.pb-ajax #login-forgotten-password p.discreet {
	color: var(--color-white);
	font-size: 0.8em;
}
.pb-ajax #login-forgotten-password p a,
.pb-ajax #login-forgotten-password p a:hover,
.pb-ajax #login-forgotten-password p a:focus {
	color: var(--color-white)!important;
}

/* FORM FEEDBACK */
.pb-ajax div #feedback_form p a {
	box-shadow: inset 0 -2px 0 var(--color-white);
	color: var(--color-white)!important;
}
.pb-ajax div #feedback_form p a:hover,
.pb-ajax div #feedback_form p a:focus {
	box-shadow: inset 0 -20px 0 var(--color-white);
	text-decoration:none;
	color: var(--color-primary)!important;
}

/* FORM CONTACT */
.modal-content .contact-mail {}
.modal-content .contact-mail label {
	position: relative;
	text-transform: uppercase;
	font-size: 1em;
}
.modal-content .contact-mail label input,
.modal-content .contact-mail label textarea {
	width: 100%!important;
	background: var(--color-white);
	border: 1px solid var(--color-white);
	border-radius: 3px;
	color: var(--color-current);
	transition: all 0.5s;
}	
.modal-content .contact-mail input:focus,
.modal-content .contact-mail textarea:focus {
	outline: none;
	background: var(--color-grey);
	border: 1px solid var(--color-grey);
}
.modal-content .contact-mail input[type=submit] {
	margin: 0;
	padding: 10px 20px;
	background: var(--color-current);
	border: none;
	border-radius: 50px;
	color: var(--color-white);
	font-weight: 700;
	font-size: 1em;
	cursor: pointer;
	transition: all 0.5s;
}
.modal-content .contact-mail input[type=submit]:hover {
	color: var(--color-primary);
}
.modal-content .contact-mail div:first-child {
	margin: 0;
}

/* PAGE PAR DEFAUT */
#default_page_form {}
#default_page_form label {
	padding: 0!important;
	background: none!important;
}
#default_page_form dd {
	display: none;
}
#default_page_form .formControls {
	border: none!important;
}

/* AJOUT CORRELES */
.pb-ajax #search .field {
	display: flex;
}
.pb-ajax #search .field input[type=text] {
	flex: 1;
	margin: 0 10px 0 0;
	width: auto!important;
}
.pb-ajax #search .field input[type=submit] {
	width: auto!important;
}
.pb-ajax #messageWrapper {
	height: 100px!important;
}
.pb-ajax dl.portalMessage {
	margin: 0;
	background: none;
}
.pb-ajax dl.portalMessage dd {
	background: none;
}

/*
	REPETITION EVENT
*/
div.riform {
	font-size: 1.4em;
	color: var(--color-current);
}
div.riform a.close {
	position: fixed;
	top: var(--margin-current)!important;
	right: var(--margin-current)!important;
	left: auto!important;
	background: none;
}
div.riform a.close::before {
	content: '\e902';
	font-family: var(--font-picto);
	font-size: 2em;
}
div.riform h1,
div.riform h2 {
	color: var(--color-current);
}
div.riform .label {
	width: 155px;
}
.ricancelbutton {
	display: none;
}


/*------------------------------------------------------------------------------------------------------------*/
/*
	=  ADMINISTRATION
*/
/*------------------------------------------------------------------------------------------------------------*/
.portlets-manager .section ~ .section select {
	padding: 0 5px;
}

/*--------------------------------------------------------------------------------------------------------------
	== EDIT BAR
--------------------------------------------------------------------------------------------------------------*/
#edit-bar {
	width: 100%;
}
.template-dashboard #edit-bar {
	display: none;
}
.template-dashboard.userrole-manager #edit-bar {
	display: block;
}
#edit-bar #contentActionMenus dl.actionMenu dd li a {
	line-height: 1.8;
}

/*--------------------------------------------------------------------------------------------------------------
	== FORMULAIRES D'EDITION
--------------------------------------------------------------------------------------------------------------*/
form[name=edit_form] {
	font-size: 1.1em;
}

/*--------------------------------------------------------------------------------------------------------------
	== FOLDER CONTENT
--------------------------------------------------------------------------------------------------------------*/
.template-folder_contents #portal-column-content .listingBar {
	margin: var(--margin-text) 0;
}
.template-folder_contents .btn-group input,
.template-folder_contents .btn-group a {
	padding: 5px 10px!important;
	font-size: 14px!important;
}

/*--------------------------------------------------------------------------------------------------------------
	== BOUTONS EDITION PORTLET
--------------------------------------------------------------------------------------------------------------*/
.managePortletsAboveLink {
	width: 100%;
}
/*--------------------------------------------------------------------------------------------------------------
	== ZAPETTE
--------------------------------------------------------------------------------------------------------------*/
.portletPaletteAdministration.close {
	display: none;
}
.portletPaletteAdministration {
    display: flex;
    flex-wrap: wrap;
    padding: 20px!important;
    border-radius: 0!important;
    background: var(--color-grey)!important;
	font-size: 1.4em!important;
}
.portletPaletteAdministration dt {
	background: none!important;
	padding: 0 10px!important;
    width: 100%;
	border-bottom: none!important;
	color: var(--color-primary)!important;
}
.portletPaletteAdministration dd {
	position: relative;
	flex: 1;
	margin: 5px;
	min-width: 150px;
	border-radius: 5px;
	overflow: hidden;
}
.portletPaletteAdministration dd::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--color-white);
	opacity: 0.3;
	transition: all 0.5s;
}
.portletPaletteAdministration dd:hover::before {
	opacity: 0.7;
}
#portal-columns dl.portlet.portletPaletteAdministration dd a {
	position: relative;
	z-index: 2;
	padding: 10px;
	height: 100%;
	background: none!important;
	color: var(--color-primary)!important;
	text-align: center;
}
#portal-columns dl.portlet.portletPaletteAdministration dd a:hover,
#portal-columns dl.portlet.portletPaletteAdministration dd a:focus {
	color: var(--color-primary)!important;
	text-decoration: none!important;
}

/*--------------------------------------------------------------------------------------------------------------
	== BOUTON SE CONNECTER
--------------------------------------------------------------------------------------------------------------*/
#portal-personaltools-wrapper {}
#portal-personaltools-wrapper ul#portal-personaltools,
#portal-personaltools-wrapper dl {
	position: fixed;
	z-index: 200000;
	padding: 0;
	background: none;
	-webkit-border-radius: 0;
	border-radius: 0;
}
#portal-personaltools-wrapper > ul {
	display: none;
}
#portal-personaltools-wrapper ul li a,
#portal-personaltools-wrapper dl a {
	color: var(--color-current);
	font-size: 1.3em;
}
#portal-personaltools-wrapper ul li a {
	text-decoration: underline;
}
#portal-personaltools-wrapper ul li a + a {
	display: none;
}
#portal-personaltools-wrapper dl dd {
}
#portal-personaltools-wrapper dl dd a:hover {
	background: var(--color-current);
}

/*------------------------------------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------------------------------------*/
