
@media screen and (min-width: 841px) {
	.visible-mobile {display: none;}
}

@media screen and (max-width: 840px) {
	body:not(.homepage) {
		background: transparent;
	}
	
	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, 
	ins, kbd, q, s, samp, small, strike, strong, tt, var, b, u, i, center, dl, dt, dd, fieldset, form, label, legend, table, ol, ul, li {font-size: 14px;}
	
	h2 { font-size: 26px !important; }
	
	h3 { font-size: 18px !important; }
	
	h4 { font-size: 16px !important; }

	img {
		display: block;
	  max-width: 100%;
	  height: auto;
	}
	
	table {
		width: 100% !important;
		max-width: 100%;
		margin: 10px 0;
	}
	
	table td:not(:first-child) {
		/*display: none;*/
	}
	
	table td img:only-child {
		display: none;
	}
	
	p a {
		word-break: break-word;
	}
	
	.container {
		width: 100%;
		background: transparent;
	}
	
	.container .home_link,
	.print-icon {display: none;}
	
	.container .container_bis {
		width: auto;
		margin-left: 0;
	}
	
	.container .container_bis > div {
		padding: 0 15px;
	}
	
	.container .container_bis .header-mobile {
		margin-top: 30px;
	}
	
	
	/* ###### MAIN MENU ###### */
	
	.container .container_bis .menu {
		margin: 0;
		padding: 10px 0 0 0 !important;
		height: auto;
		background-color: #069ebb;
		top: -100px;
		-webkit-transition: top .25s ease-in-out;
		-moz-transition: top .25s ease-in-out;
		-ms-transition: top .25s ease-in-out;
		-o-transition: top .25s ease-in-out;
		transition: top .25s ease-in-out;
	}
	
	.menu .btn-menu-wrapper {
		padding: 0 15px;
	}
	
	.container .container_bis .menu.bar-fixed {
		position: fixed;
		top: 0;
		left: 0;
	  width: 100%;
	  z-index: 100000;
	}
	
	.container .container_bis .menu.bar-fixed .btn-menu-wrapper {
		-webkit-box-shadow: 0px 8px 8px -8px rgba(0,0,0,0.75);
		-moz-box-shadow: 0px 8px 8px -8px rgba(0,0,0,0.75);
		box-shadow: 0px 8px 8px -8px rgba(0,0,0,0.75);
	}
	
	.container .container_bis .menu.bar-fixed.open .btn-menu-wrapper {
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		box-shadow: none;
	}
	
	.menu .logo-mobile img {
		display: inline-block;
		width: 25px;
	}

	.mobil-menu-btn {
		float: right;
		cursor: pointer;
		margin-top: 10px;
		padding: 9px 10px;
		border-radius: 3px;
	}
	
	.mobil-menu-btn:active {
		background: white;
		opacity: 0.5;
	}
	
	.mobil-menu-btn .icon-bar {
		display: block;
	  width: 22px;
	  height: 2px;
	  border-radius: 1px;
		background-color: white;
	}
	
	.mobil-menu-btn:active .icon-bar {
		background-color: #069ebb;
	}
	
	.mobil-menu-btn .icon-bar+.icon-bar {
		margin-top: 4px;
	}
	
	.menu .menu_flat {
		margin-top: 0px;
		padding: 0 15px;
	}
	
	.menu .menu_flat a {
		height: 0;
		padding: 0;
		display: block;
		padding: 0px 0 0px 10px;
		font-size: 14px;
		background: rgba(250,250,250,0.5);
		margin-bottom: 0;
		color: black;
		overflow: hidden;
		-webkit-transition: height .25s ease-in-out, padding .25s ease-in-out;
		-moz-transition: height .25s ease-in-out, padding .25s ease-in-out;
		-ms-transition: height .25s ease-in-out, padding .25s ease-in-out;
		-o-transition: height .25s ease-in-out, padding .25s ease-in-out;
		transition: height .25s ease-in-out, padding .25s ease-in-out;
	}
	
	/*body.homepage .menu .menu_flat a {
		background: rgba(250,250,250,0.5);
		color: black;
	}*/
	
	.menu .menu_flat.open {
		padding-bottom: 20px;
		margin-top: 10px;
	}
	
	.menu .menu_flat.open a {
		margin-bottom: 5px;
		padding: 10px 0 10px 10px;
		height: 24px;
	}

	
	/* ###### LEFT MENU ###### */
	.contenu .left {
		height: auto;
		width: auto;
		float: none;
	}
	
	.contenu .left .imcm {
		margin: 30px 0 !important;
	}
	
	.contenu .left .imcm li {
		width: auto !important;
		float: none;
	} 
	
	.contenu .left .imcm li a {
		color: white !important;
		margin: 0 10px 10px 0 !important;
		border-radius: 5px;
		font-size: 14px !important;
		padding: 10px 12px 10px 12px !important;
	}
	
	body._default .contenu .left .imcm li a { background-color: #97bd14 !important; border: 2px dashed #97bd14 !important; }
	body._default .contenu .left .imcm li.active a { color: #97bd14 !important; background-color: white !important; border: 2px dashed #97bd14 !important; }
	
	body.enseignement .contenu .left .imcm li a { background-color: #9175f9 !important; border: 2px dashed #9175f9 !important; }
	body.enseignement .contenu .left .imcm li.active a { background-color: white !important; color: #9175f9 !important; }
	
	body.cursus .contenu .left .imcm li a { background-color: #f19002 !important; border: 2px dashed #f19002 !important; }
	body.cursus .contenu .left .imcm li.active a { background-color: white !important; color: #f19002 !important; }
	
	body.inscriptions .contenu .left .imcm li a { background-color: #80d7e7 !important; border: 2px dashed #80d7e7 !important; }
	body.inscriptions .contenu .left .imcm li.active a { background-color: white !important; color: #80d7e7 !important; }
	
	body.manifestation .contenu .left .imcm li a { background-color: #e85366 !important; border: 2px dashed #e85366 !important; }
	body.manifestation .contenu .left .imcm li.active a { background-color: white !important; color: #e85366 !important; }
	
	body.infos .contenu .left .imcm li a { background-color: #00a477 !important; border: 2px dashed #00a477 !important; }
	body.infos .contenu .left .imcm li.active a { background-color: white !important; color: #00a477 !important; }
	
	.contenu .left .imcm li .imsc .imsubc {
		position: initial;
		visibility: visible;
	}
	
	.contenu .left .imcm li > div {padding-left: 15px;}
	
	.contenu .left .imcm li .imsc .imsubc > ul {border: 0 !important;}
	
	.contenu .left .imcm li .imsc .imsubc > ul > li a {
		height: 0;
	  padding: 0px 12px 0px 12px !important;;
	  margin: 0 !important;
	  border: 0 !important;
		opacity: 0;
		-webkit-transition: all .25s ease-in-out;
		-moz-transition: all .25s ease-in-out;
		-ms-transition: all .25s ease-in-out;
		-o-transition: all .25s ease-in-out;
		transition: all .25s ease-in-out;
	}
	
	.contenu .left .imcm li.imatm.ishow .imsc .imsubc > ul > li a {
		height: 25px;
		margin: 0 10px 10px 0 !important;
		padding: 7px 12px 7px 12px !important;
		opacity: 1;
	}
	
	
	
	/* ###### CONTENT ###### */
	
	.container_bis .header {
		display: none;
	}
	
	.content .contenu .infobox {
		height: auto;
	}
	
	.content .contenu .infobox h2 {
		float: none;
	}
	
	.content .contenu .infobox p {
		position: initial;
	}
	
	.content .contenu .box.info .infobox {
		padding: 10px 0;
	}
	
	.content .contenu .main_content {
		width: 100%;
	}
	
	.main_content h1, .main_content h2, .main_content h3, .main_content h4, .main_content p,
	.agenda .month ul .event, .doc_liste ul .document.separated {
		padding: 20px 0;
	}
	
	.doc_liste ul > li span:first-child {
		display: inline-block;
		width: 88%;
	}
	
	.doc_liste ul .document { 
		padding-top: 20px; 
		padding-left: 0;
	}
	
	.doc_liste ul .document:last-child { padding-bottom: 20px; }
	
	.doc_liste ul .document span img { display: inline; }
	
	.content .contenu .main_content #tools a img {
		display: inline;
	}
	
	.content .agenda_list_short {
		width: auto !important;
		padding: 10px 0;
	}
	
	.content .agenda_list_short > div {
		width: auto !important;
	}
	
	
	/* ###### FORM ###### */
	#mailform_inscriptionstage .mailform_inscriptionstage_type label {
		width: 100%;
  	padding: 10px 0;
	}
	
	#mailform_inscriptionstage label {
		width: 100%;
	}
	
	form .field input.text, form img {
		width: 98%;
  	margin: 10px 0;
		height: 30px;
	}
	
	form .submit {
		text-align: center;
	}
	
	form input[type="submit"] {
		width: 50%;
		height: 40px;
		margin-top: 20px;
	}
	
	form .field textarea {
		width: 98%;
		margin: 10px 0;
	}
	
	#mailform_inscriptionstage .mailform_inscriptionstage_address .postcode {
		width: 100%;
		float: none;
	}
	
	#mailform_inscriptionstage .mailform_inscriptionstage_address .postcode input {
		width: 98%;
	}
	
	#mailform_inscriptionstage .mailform_inscriptionstage_address .town {
		padding-left: 0;
		width: 100%;
	}
	
	form .field.float {
		float: none;
  	width: 100%;
	}
	
	.main_content form .inscription_row input[type="text"] {
		width: 96%;
	}
	
	form .field label, form .field .label {
		margin-bottom: 10px;
	}
	
	
	/* ###### GOOGLE MAPS ###### */
	#divgmap { margin-top: 20px; }
	
	
	/* ###### AGENDA ###### */
	.event span:first-child { 
		display: inline-block;
		width: 52%;
	}
	
	
	/* ###### AGENDA ###### */
	.doc_liste ul .document .poid { right: 0; }
	
	
	/* ###### SITEMAP ###### */
	.sitemap a {
		display: inline-block;
		padding: 10px 0;
	}
	
	
	/* ###### NYRO MODAL ###### */
	#nyroModalLoading {
		height: auto !important;
	}
	
	body div#nyroModalFull div#nyroModalWrapper,
	body div#nyroModalFull div#nyroModalWrapper .wrapperImg,
	body div#nyroModalFull div#nyroModalWrapper .wrapperImg #nyroModalContent {
		height: auto !important;
	}
	
	.gallery_liste .photo a {
		width: auto;
		height: auto;
	}
	
	
	/* ###### FOOTER ###### */
	
	.footer {
		margin: 20px 0 0 0;
		padding: 0 15px;
	}
	
	.footer .menu_flat {
		height: auto;
	}
	
	.footer .menu_flat a {
		display: block;
		padding: 10px 0 10px 10px;
		font-size: 14px;
		background-color: rgba(7,158,187,0.5);
		margin-bottom: 5px;
		color: white;
	}
	
	body.homepage .footer .menu_flat a {
		background-color: rgba(250,250,250,0.5);
		color: black;
	}
	
	.footer .partner_box .box p {
		margin-top: 10px;
	}
	
	.footer .copyright {
		padding: 50px 0 20px 0; 
	}
	
	.footer .backtotop {
		float: none;
	 	padding: 10px 0 10px 10px;
	 	font-size: 14px;
	 	background-color: rgba(7,158,187,0.5);
	 	margin-bottom: 5px;
		line-height: 24px;
	}
	
	.footer .backtotop a { color: white; }
}
