* { 
	margin: 0; 
	padding: 0; 
    box-sizing: border-box;
}

@font-face {
	font-family: "Roboto";
	src: url('fonts/Roboto-Regular.ttf');
	font-display: swap;
}

@font-face {
	font-family: "EBGaramond";	
	src: url('fonts/EBGaramond-Regular.ttf');
	font-display: swap;
}

body {
	color: #000000; /** #555555 **/
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    line-height: 1.6; 
    min-width: 300px;
    background: #ffffff no-repeat top center;
    background-size:  100% auto;
   	background-attachment: fixed;
}

@media (max-width: 500px) {
	body {
		background-size:  300% auto;
	}
}

img {
	width: 100%;
}

a {
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

#more1, #more2, #more3 {
	display: none;
}

.clear {
	clear: both;
}

.message {
	background-color: #ff0000;
	padding: 5px;
	color: #ffffff;
	text-align: center;
}

header {
	text-align: center;
}

header img{
	max-width: 450px;
	padding: 10px 2%;
	line-height: 0px;
	aspect-ratio: auto 500 / 95;
}

@media (max-width: 750px) {
	header {
		text-align: left;
		background: #ffffff;
	}

	header img {
		width: 80%;
	}
}

header .menu-toggle {
	display: none;
}

header nav {
    border-top: 1px dashed #205be4;
    border-bottom: 1px dashed #205be4;
    text-align: center;
    z-index: 200;
    padding: 8px;
}

header nav a {
    margin: 15px 0px;
    padding: 11px 10px 12px;
    color: #3329e1;
    font-size: 16px;
	text-decoration: none;
	border-left: 1px dashed #205be4;
}

header nav a:hover {
    background-color: #205be4;
    color: #ffffff;
}

header nav a:last-child {
    border-right: 1px dashed #205be4;
}


@media (max-width: 1050px) {
	header .menu-toggle {
		display: block;
		position: fixed;
		top: 20px; 
		right: 30px;
		cursor: pointer; 
		font-size: 18px; 
		font-weight: 800;
		background: #205be4;
		padding: 5px 15px;
		color: #ffffff;
		border-top-right-radius: 10px;
		border-bottom-left-radius: 10px;
	}
 
	header nav { 
		position: fixed; 
		top: 85px; 
		right: 30px; 
		background: #ffffff; 
		width: 300px; 
		padding: 0px 10px; 
		border: 1px solid #205be4;
		border-radius: 10px;
		text-align: left;
		box-shadow: 0px 4px 4px #c0c0c0;
		max-height: 0;
	  	opacity: 0;
		transition: max-height 0.30s ease, opacity 0.30s ease;
		overflow-x: hidden;
	}
	
	header nav.open {
		max-height: 800px;
	  	opacity: 1;
	}
	      
	header nav a { 
		display: block;
		padding: 6px 15px;
		font-size: 18px;
		border: 0px;
		border-bottom: 1px dotted #e0e4ec;
	}
	
	header nav a:before { 
		content: "✹";
		padding-right: 5px;
		font-size: 20px;
		font-weight: 800;
	}
	
	header nav a:last-child { 
		border: 0px;
	}
}

@media (max-width: 600px) {
	header .menu-toggle {
		top: 8px;
		right: 8px;
		z-index: 300;
		font-size: 16px; 
		padding: 2px 12px;
	}
	
	header nav {
		top: 8px;
		right: 8px;
		width: calc(100% - 16px);
	} 
}

.title {
	color: #3329e1;
	border-bottom: 1px dotted #205be4;
	padding: 0px 5px 5px;
    font-size: 34px;
    font-weight: 700;
    margin-bottom: 20px;
   	font-family: "EBGaramond";
    letter-spacing: 1px;
    max-width: 500px;
    line-height: 50px;
}

.subtitle {
	color: #3329e1;
    font-size: 24px;
    letter-spacing: 1px;
    line-height: 30px;
}

@media (max-width: 500px) {
	.title {
	    font-size: 28px;
	    text-align: center;
	}
	
	.subtitle {
	    font-size: 20px;
	    line-height: 26px;
	}
}

.home {
	padding: 0px 10%;
}
	
.home .about {
	padding-top: 40px;
}

@media (max-width: 450px) {
	.home {
		padding: 0px 5%;
	}
	
	.home .about {
		padding-top: 0px;
	}
}

.home .about .content {
	width: 50%;
	display: inline-block;
	vertical-align: top;
	padding-left: 30px;
}
	
.home .about img {
	width: 49%;
	aspect-ratio: auto 550 / 413;
	display: inline-block;
	vertical-align: top;
	border: 1px solid #205be4; 
	padding: 2px;
}

@media (max-width: 1100px) {	
	.home .about .content {
		width: 100%;
		display: block;
		padding-left: 0px
	}

	.home .about img {
		display: block;
		text-align: center;
		width: 100%;
		margin-bottom: 20px;
	}
}

.home .cobis {
	margin: 30px 0px;
	background: #205be4;
	color: #ffffff;
	padding: 20px;
}

.home .cobis img {
	width: 150px;
	aspect-ratio: auto 342 / 194;
	height: auto;
	float: right;
    margin-left: 10px;
	border: 1px solid #c0c0c0;
}

.home .aim {
	border: 1px solid #205be4;
	margin: 50px 0px 40px; 
	padding: 0px 30px 30px;
}

.home .aim li {
	margin-left: 40px;
}

.home .aim .title {
	font-size: 30px; 
	line-height: 40px;
	letter-spacing: 1px; 
	margin: 30px 0px 20px; 
	font-family: "EBGaramond";
	color: #3329e1;
}

@media (max-width: 500px) {
	.home .aim .title {
	    font-size: 28px;
	    text-align: center
	}
}

.home button {
	display: block;
	margin-top: 20px; 
	background-color: #ffffff; 
	border: 1px solid #205be4;
	padding: 8px 0px;  
	text-align: center;
	width: 120px;
	color: #3329e1;
	cursor: pointer;
	font-size: 14px;
}

.home button:hover {
	background-color: #205be4;
	border: 1px solid #ffffff;
	color: #ffffff;
}

.page {
	padding: 50px 10% 0px;
	min-height: 500px;
}

@media (max-width: 450px) {
	.page {
		padding: 0px 5% 0px;
	}
}

.page .gallery {
	margin-bottom: 30px;
}

.page .gallery .container {
	text-align: center; 
	border: 1px solid #205be4; 
	padding: 2px; 
	line-height: 0px;
}

.page .gallery img {
	max-width: 33%;
	display: inline-block;
}

@media (max-width: 800px) {
	.page .gallery img {
		max-width: 49%;
		display: inline-block;
	}
}

@media (max-width: 600px) {
	.page .gallery img {
		max-width: 100%;
		display: inline-block;
	}
}

.page .content img {
	max-width: 500px;
	float: left;
    margin-right: 20px;
    border: 1px solid #205be4; 
	padding: 2px;
	aspect-ratio: auto 550 / 413;
}

@media (max-width: 800px) {
	.page .content img {
		max-width: 100%;
		float: none;
	    margin: 0px 0px 20px;
	}
}

.page .sub {
	border-bottom: 1px solid #205be4;
	margin-bottom: 40px;
	padding-bottom: 40px;
}

.page .sub:last-child {
	border-bottom: 0px solid #205be4;
	padding-bottom: 0px;
}


.page .sub .subtitle {
	margin-bottom: 20px;
}

.page li {
	margin: 15px 0px 0px 5%;
}

.page a {
	color: #000000;
	text-decoration: underline;
}

.page a:hover {
	color: #3329e1; 
}

.page .subject {
	border: 1px solid #205be4; 
	padding: 5px 10px;
	margin: 5px;
	display: inline-block;
}

.page .subject a {
	text-decoration: none;
}

.page .subject:hover {
	text-decoration: none;
	background-color: #205be4; 
	color: #ffffff;
}

.page .info a {
	text-decoration: none;
	border: 1px solid #205be4; 
	padding: 5px 10px;
	margin: 5px;
	display: inline-block;
}

.page .info a:hover {
	text-decoration: none;
	background-color: #205be4; 
	color: #ffffff;
}

.page .bog img {
	display: inline-block;
	vertical-align: top;
	width: 20%;
	margin: 0px 20px 50px 0px;
	float: none;
	aspect-ratio: auto 350 / 350;
}

.page .bog .person {
	display: inline-block;
	vertical-align: top;
	margin-bottom: 50px;
	width: 70%;
}

@media (max-width: 600px) {
	.page .bog img {
		display: block;
		width: 80%;
		margin: 0px 10% 10px;
	}
	
	.page .bog .person {
		display: block;
		width: 100%;
	}
}

.page .bog .person:last-child {
	width: 100%;
}

.page .bog i {
	display: block;
	padding-top: 10px;
}

.page .contact {
	display: inline-block;
	width: 49%;
	vertical-align: top;
	padding-right: 50px;
}

.google-maps {
	width: 50%;
    height: 400px;
    display: inline-block;
    vertical-align: top;
    border: 1px solid #205be4; 
	padding: 5px;
	box-shadow: 0px 0px 5px #205be4; 
}

@media (max-width: 800px) {
	.page .contact {
		display: block;
		width: 100%;
		padding-right: 0px;
	}
	
	.google-maps {
		width: 100%;
	    display: block;
	    margin: 30px 0px 0px 0px;
	}
}

.google-maps iframe {
	width: 100%;
    height: 100%;
    border: 0px;
}

.login { 
	border: 1px solid #205be4; 
	max-width: 400px;
	margin: 40px auto;
	padding: 30px;
}

.login input, .login input[type=text] {
	border: 1px solid #c0c0c0;
	padding: 3px 5px;
	text-align: center;
	margin-bottom: 10px;
	width: 100%;
	font-size: 16px;
	color: #205be4; 
}

.login button {
	background: #205be4;
	color: #ffffff;
	padding: 5px 5px;
	text-align: center;
	margin-top: 10px;
	width: 100%;
	cursor: pointer;
	border: 0px;
	font-size: 16px;
}

.parent_list {
	display: inline-block;
}

.parent_list a {
	color: #000000;
	text-decoration: none;
	padding: 20px 20px;
	margin: 0px 20px 30px 0px;
	display: inline-block;
	border: 1px solid #cccccc;
    border-radius: 12px;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.05);
    font-weight: 500;
    transition: transform 0.2s, box-shadow 0.2s;
    cursor: pointer;
}

.parent_list a:hover {
	background: #205be4;
	color: #ffffff;
	text-decoration: none;
}

.form {
	background: #205be4;
	margin-top: 40px; 
	padding: 15px 10% 25px;
}

.form .left {
	display: inline-block; 
	width: 60%; 
	vertical-align: middle; 
	text-align: right; 
	padding-right: 30px;
	color: #ffffff;
}

.form .left .title1 {
	font-size: 34px;
    font-weight: 700;
    margin-bottom: 0px;
   	font-family: "EBGaramond";
    letter-spacing: 1px;  
}

.form a {
	display: inline-block; 
	width: 150px; 
	vertical-align: middle; 
	border: 1px solid #205be4;
	background: #ffffff; 
	cursor: pointer; 
	padding: 8px 15px; 
	font-size: 16px;
	box-shadow: 2px 2px 2px #555555;
	text-align: center;
	color: #000000;
	margin-top: 10px;
}

.form a:hover {
	border: 1px solid #ffffff; 
	background: #205be4;
	color: #ffffff;
	box-shadow: 0px 0px 0px #555555;
}

@media (max-width: 1000px) {
	.form {
		padding: 15px 5% 25px;
	}
	
	.form .left {
		display: block; 
		width: 100%; 
		padding-right: 0px;
		text-align: center; 
	}
	
	.form a {
		display: block; 
		text-align: center; 
		margin: 20px auto 0px;
	}
}

footer {
	margin: 0px auto;
	background: #ffffff url(graphics/footer.webp);
    background-size: 100%;
    background-position: center;
}

footer a {
	color: #555555; 
	line-height: 36px;
}

footer a:hover {
	color: #3329e1;
	text-decoration: underline;
}

footer .heading {
	padding: 30px 0px 8px;
	font-size: 30px; 
	font-weight: 700;
	font-family: "EBGaramond";
	letter-spacing: 1px; 
	color: #3329e1;
	white-space: nowrap;
}

footer .column-left {
	width: 66%;
	display: inline-block;
	vertical-align: top;
	padding: 0px 30px 20px 5%;
}

footer .column-left .link div {
	width: 49%;
	display: inline-block;
	vertical-align: top;
}

@media (max-width: 700px) {
	footer .column-left .link div {
		width: 100%;
		display: block;
	}
}

footer .column-right {
	width: 33%;
	display: inline-block;
	vertical-align: top;
	padding: 0px 5% 0px 0px;
}

footer .column-right img {
	margin-top: 20px;
	aspect-ratio: auto 100 / 100;
}

@media (max-width: 1000px) {
	footer .column-left, footer .column-right {
		width: 100%;
		padding: 0px 10%;
	}
}

footer .cookies {
	padding: 5px 20px;
	margin-top: 10px;
	font-size: 12px;
	color: #ffffff;
	background-color: #555555; 
	text-align: center;
}

footer .cookies a {
	color: #ffffff;
	text-decoration: underline;
}

footer .cookies a:hover {
	color: #ffffff;
	text-decoration: none;
}

.tab { 
	display: none; 
	margin-top: 40px;
} 
		
::placeholder {
  color: #c0c0c0;
  opacity: 1; 
}
		
textarea.invalid, input.invalid { 
	border-color: #ff0000;
}
		
textarea.invalid::placeholder, input.invalid::placeholder {
  color: #ff0000;
  opacity: 1; 
}

.application .heading {
	color: #000000;
	font-weight: bold;
	padding: 12px 15px;
	margin: 30px 0px 0px;
	border: 1px solid #ddd; 
	background-color: #ffffff; 
	font-weight: bold;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	box-shadow: 2px 0px 0px #ddd;
}
		
.application .row {
	display: flex;
	flex-wrap: wrap;
	border: 1px solid #ddd; 
	padding: 20px;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	box-shadow: 2px 0px 0px #dddddd;
}
		
.application .subtitle1 {
	margin: 0px;
	border: 1px solid #ddd; 
	padding: 20px;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	box-shadow: 2px 2px 5px #dddddd;
}
				
.application button {
	text-align: center;
	margin: 30px auto 0px;
	padding: 12px 20px;
	font-size: 16px;
	color: #ffffff;
	cursor: pointer;
	background-color: #205be4; 
	border: 1px solid #ffffff; 
	border-radius: 5px;
}

@media (max-width: 450px) {
	.application .heading{
		font-size: 14px;
	}
}

@media (max-width: 1000px) {
	.application .row {
		flex-direction: column;
	}
}

.application .row div {
	flex: 50%;
	padding: 10px;
}

.application input {
    width: 100%;
    height: 35px;
    padding: 5px 5px;
    font-size: 15px;
    border: 1px solid #205be4;
    border-radius: 5px;
    margin-top: 5px;
}

.application textarea {
	width: 100%;
    height: 120px;
    padding: 5px 5px;
    font-size: 15px;
    border: 1px solid #205be4;
    border-radius: 5px;
    margin-top: 5px;
}

.application .table {
	width: 100%;
	overflow-x: auto;
}

.application table {
	width: 100%;
	min-width: 400px;
	border-collapse: collapse;
}

.application table th {
	background: #555555;
	color: #ffffff;
	border: 4px solid #ffffff;
	padding: 5px;
	white-space: nowrap;
	font-weight: normal;
}

.application table td {
	padding: 2px;
}

.application input[type=checkbox] {
    height: 25px;
    width: 25px;
    margin: 0px 10px 10px 20px;
}

.application .row1 {
	display: flex;
	flex-wrap: wrap;
}

.application .row1 div {
	flex: 100%;
	padding: 10px;
	text-align: right;
}

.application .subtitle .align {
	align-items: center
}

.application .box {
	border: 1px solid #205be4; 
	padding: 15px;
	margin-top: 30px;
}

.application button:hover {
	background-color: #ffffff; 
	border: 1px solid #205be4; 
	color: #3329e1; 
}

.application .step {
	text-align: right;
	width: 100%;
	font-size: 12px;
	margin-top: 10px;
	display: block;
}

.appli {
	font-family: Arial, Helvetica, sans-serif;
	margin: 0px auto;
	width: 860px;
	font-size: 15px;
	color: #000000;
}

.appli .header {
	width: 860px; 
	border-bottom: 1px solid #0000ff;
}

.appli .logo {
	width: 230px; 
	text-align: right;
	padding-right: 20px
}

.appli img {
	width: 100px
}

.appli .header span {
	color: #0000ff;
	font-size: 30px; 
	font-weight: bold;
	display: block;
}

.appli .heading {
	font-size: 17px;
	font-weight: bold;
	color: #3329e1;
	margin: 30px 0px 10px;
}

.appli .line {
	border: 1px solid #c0c0c0;
	padding: 5px 10px;
	margin: 5px 15px 0px 15px;
	text-align: left;
	height: 30px;
}

.appli .line1 {
	border: 1px solid #c0c0c0;
	padding: 15px;
	margin: 5px 15px 0px 15px;
	text-align: left;
	vertical-align: top;
}

.appli .line2 {
	border: 1px solid #c0c0c0;
	padding: 5px 10px;
	margin: 5px 15px 0px 15px;
	text-align: left;
	height: 30px;
	text-align: center; 
	font-weight: bold
}

.appli .margin {
	margin-top: 30px;
}

.appli .box {
	border: 1px solid #c0c0c0;
	vertical-align: top;
	width: 380px;
	min-height: 30px;
	padding: 5px 10px;
	color: #000000;
}

.appli .wrap {
	white-space: pre-wrap
}

.appli .footer {
	width: 855px; 
	border-top: 2px solid #3366CC; 
	color: #3366cc; 
	padding: 20px;
}

.appli .footer b {
	font-size: 20px
}

.appli .printsave {
	background-color: #205be4; 
	border: 1px solid #ffffff; 
	text-transform: uppercase;
	margin: 20px 30px;
	padding: 10px 20px; 
	color: #ffffff;
	font-weight: bold;
}

.appli .printsave:hover {
	background-color: #ffffff; 
	border: 1px solid #205be4; 
	color: #3329e1; 
	cursor: pointer;
}

.appli .printsave-text {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	color: #000000;
	margin-bottom: 20px;
}

@media print {
	.appli .notprint { 
		display:none; 
	} 
}
