@charset "UTF-8";

/* --------------------------------------------
SIDEBAR
--------------------------------------------- */
@media print , screen and ( width > 750px ){
	.add-page-main > #content_inner + .wrapper > .disflex{
		align-items : start;
	}
}
#sidebar{
	line-height : 1;
}
@media print , screen and ( width > 750px ){
	#sidebar{
		position : sticky;
		top : calc( ( 57 - 5 ) var( --remBase ) );
		grid-row : 1/9999;
		grid-column : 4;
	}
}
#content #bannerAutoQuo{
	color : white;
}
#bannerAutoQuo{
	color : white;
}
#bannerAutoQuo h3{
	font-family : "Bebas Neue" , serif;
	font-weight : 400;
}
#bannerAutoQuo p:nth-of-type( 1 ){
	font-weight : 500;
}
#bannerAutoQuo p:nth-of-type( 3 ){
	display : grid;
	grid-template-columns : auto auto;
	align-items : center;
	justify-content : space-between;
	font-weight : 600;
	color : white;
	background-color : var( --orange );
	border : solid 1px var( --orange );
}
#bannerAutoQuo p:nth-of-type( 3 )::after{
	display : block;
	width : auto;
	aspect-ratio : 6/11;
	font-size : 0;
	content : "";
	background-image : url( "../../images/multilingual/ui/arrow/right01.svg" );
	filter : var( --filterWhite );
	background-repeat : no-repeat;
	background-position : left center;
	background-size : contain;
}
@media screen and ( width <= 750px ){
	#bannerAutoQuo{
		position : fixed;
		bottom : 0;
		left : 0;
		z-index : 5;
		display : grid;
		grid-template-rows : auto auto 1fr;
		grid-template-columns : 1fr calc( 260 var( --percentBase ) );
		width : 100%;
		height : calc( 120 var( --remBase ) );
		padding-inline : calc( 40 var( --viewportBase ) );
		padding-top : calc( 19 var( --remBase ) );
		overflow : hidden;
		pointer-events : none;
		background-image : linear-gradient( to top , rgb( 4 49 123 ) 0% , rgb( 14 137 212 ) 100% );
		border-radius : calc( 4 var( --remBase ) );
		box-shadow : 0 calc( 40 var( --remBase ) ) calc( 40 var( --remBase ) ) 0 rgb( 14 136 211 / .1 );
	}
	#bannerAutoQuo h3{
		grid-row : 1;
		grid-column : 1;
		align-items : end;
		font-size : 4.2rem;
	}
	#bannerAutoQuo p:nth-of-type( 1 ){
		grid-row : 2;
		grid-column : 1;
		align-items : start;
		font-size : 2.4rem;
	}
	#bannerAutoQuo p:nth-of-type( 3 ){
		grid-row : 1/3;
		grid-column : 2;
		height : calc( 80 var( --remBase ) );
		padding-left : calc( 17 * 100% / 260 );
		padding-right : calc( 18 * 100% / 260 );
		font-size : 3.6rem;
		pointer-events : auto;
	}
	#bannerAutoQuo p:nth-of-type( 3 )::after{
		height : calc( 22 var( --remBase ) );
	}
}
@media print , screen and ( width > 750px ){
	#bannerAutoQuo{
		display : block;
		height : calc( 490 var( --remBase ) );
		padding-top : calc( 30 var( --remBase ) );
		background : image-set( url( "../../images/multilingual/sidebar/bg_auto_quo.avif" ) type( "image/avif" ) , url( "../../images/multilingual/sidebar/bg_auto_quo.webp" ) type( "image/webp" ) ) 0 0 / contain no-repeat;
	}
	#bannerAutoQuo h3{
		padding-left : calc( 28 * 100% / 240 );
		font-size : 3.8rem;
		line-height : calc( 35 / 38 );
	}
	#bannerAutoQuo p:nth-of-type( 1 ){
		padding-inline : calc( 28 * 100% / 240 );
		margin-top : calc( ( 18 - 1.5 ) var( --remBase ) );
		font-size : 1.7rem;
		line-height : calc( 20 / 17 );
	}
	#bannerAutoQuo p:nth-of-type( 2 ){
		padding-inline : calc( 29 * 100% / 240 );
		margin-top : calc( ( 183 - 1.5 - 1 ) var( --remBase ) );
		font-size : 1.4rem;
		line-height : calc( 16 / 14 );
	}
	#bannerAutoQuo p:nth-of-type( 3 ){
		width : calc( 180 * 100% / 240 );
		height : calc( 40 var( --remBase ) );
		padding-inline : calc( 14 * 100% / 240 );
		margin-top : calc( ( 14 - 1 ) var( --remBase ) );
		margin-left : calc( 30 * 100% / 240 );
		font-size : 2.2rem;
	}
	#bannerAutoQuo p:nth-of-type( 3 )::after{
		height : calc( 11 var( --remBase ) );
	}
}
@media ( hover : hover ){
	#bannerAutoQuo:hover{
		opacity : .75;
	}
	#bannerAutoQuo:hover p:nth-of-type( 3 ){
		color : var( --orange );
		background-color : white;
	}
	#bannerAutoQuo:hover p:nth-of-type( 3 )::after{
		filter : var( --filterOrange );
	}
}
@media ( prefers-reduced-motion : no-preference ){
	#bannerAutoQuo{
		transition : opacity var( --transitionBase );
	}
	#bannerAutoQuo p:nth-of-type( 3 ){
		transition : color var( --transitionBase ) , background var( --transitionBase );
	}
	#bannerAutoQuo p:nth-of-type( 3 )::after{
		transition : filter var( --transitionBase );
	}
}

/* --------------------------------------------
SERVICES
--------------------------------------------- */
#services h2 span{
	display : block;
	font-weight : 600;
}
#services h2 span:nth-of-type( 2 ){
	color : var( --blue02 );
}
#services p{
	font-weight : 300;
}
#services caption{
	display : block;
	font-weight : 600;
	text-align-last : left;
}
#services table{
	display : block;
	width : 100%;
	table-layout : fixed;
	border-collapse : collapse;
	border : 0;
}
#services thead{
	display : block;
}
#services thead tr{
	display : grid;
	grid-template-columns : calc( ( 180 * 100% / 930 ) - 4px ) repeat( 4 , calc( ( 150 * 100% / 930 ) + 1px ) ) calc( 150 * 100% / 930 );
}
#services thead td{
	width : calc( ( 180 * 100% / 930 ) - 4px );
}
#services thead th{
	color : var( --blue );
	text-align : left;
	vertical-align : top;
}
#services thead th span{
	display : grid;
	align-items : start;
	justify-content : center;
	width : 100%;
}
#services thead th:not( :last-of-type ){
	font-weight : 400;
	border-right : solid 1px white;
}
#services thead th:not( :last-of-type ):nth-of-type( odd ){
	background-color : #dbe5ee;
}
#services thead th:not( :last-of-type ):nth-of-type( even ){
	background-color : #e9f2f6;
}
#services thead th:last-of-type{
	font-weight : 600;
	background-color : #8de1fb;
}
#services tbody{
	position : relative;
	display : block;
}
#services tbody tr{
	grid-template-columns : calc( ( 180 * 100% / 930 ) - 4px ) repeat( 4 , calc( ( 150 * 100% / 930 ) + 1px ) ) calc( 150 * 100% / 930 );
}
#services tbody th{
	text-align : left;
}
#services tbody th:has( +th ){
	grid-row : 1;
	grid-column : 1/-1;
	font-weight : 600;
}
#services tbody th:not( :has( +th ) ){
	display : grid;
	align-items : center;
	justify-content : start;
	font-weight : 400;
}
#services tbody tr:first-of-type th:not( :first-of-type ) , #services tbody tr:first-of-type td{
	grid-row : 2;
}
#services tbody tr{
	display : grid;
}
#services tbody td{
	display : grid;
	align-items : center;
	justify-content : center;
	font-weight : 400;
	text-align : center;
}
#services tbody td:not( :last-of-type ){
	border-right : solid 1px white;
}
#services tbody td:not( :last-of-type ):nth-of-type( odd ){
	background-color : #edf2f7;
}
#services tbody td:last-of-type{
	background-color : #bbefff;
}
#services tbody th , #services tbody td{
	border-bottom : solid 1px #c2c2c2;
}
#services tbody tr:nth-of-type( 2 ) td:not( :last-of-type ):nth-of-type( odd )::before{
	position : absolute;
	top : 0;
	z-index : -1;
	display : block;
	width : calc( ( 150 * 100% / 930 ) );
	height : 100%;
	content : "";
	background-color : #edf2f7 ;
}
#services tbody tr:nth-of-type( 2 ) td:last-of-type::before{
	position : absolute;
	top : 0;
	z-index : -1;
	display : block;
	width : calc( ( 150 * 100% / 930 ) );
	height : 100%;
	content : "";
	background-color : #bbefff ;
}
@media screen and ( width <= 750px ){
	#services{
		padding-bottom : calc( ( 80 - 20 ) var( --remBase ) );
		padding-left : calc( 40 var( --viewportBase ) );
	}
	#services h2{
		padding-right : calc( 40 * 100% / 710 );
		font-size : 2.8rem;
		line-height : calc( 40 / 28 );
	}
	#services h2 span{
		font-size : 3.6rem;
		line-height : calc( 50 / 36 );
	}
	#services p{
		padding-right : calc( 40 * 100% / 710 );
		margin-top : calc( ( 42 - 7 - 6 ) var( --remBase ) );
		font-size : 2.8rem;
		line-height : calc( 40 / 28 );
	}
	#services .tableBox{
		padding-block : calc( 20 var( --remBase ) );
		margin-top : calc( ( 46 - 6 - 2 ) var( --remBase ) );
		overflow-x : auto;
	}
	#services table{
		width : calc( 1507 * 100% / 710 );
	}
	#services caption{
		font-size : 3.6rem;
		line-height : calc( 40 / 36 );
	}
	#services thead{
		margin-top : calc( ( 40 - 2 ) var( --remBase ) );
	}
	#services thead th{
		height : calc( 146 var( --remBase ) );
		padding-top : calc( ( 25 - 3.24 ) var( --remBase ) );
		font-size : 2.592rem;
		line-height : calc( 32.4 / 25.92 );
	}
	#services tbody th:has( +th ){
		font-size : 3.2399999999999998rem;
		line-height : calc( 38.88 / 32.4 );
	}
	#services tbody:first-of-type th:has( +th ){
		padding-block : calc( ( 14 - 3.24 ) var( --remBase ) );
	}
	#services tbody:not( :first-of-type ) th:has( +th ){
		padding-top : calc( ( 65 - 3.24 ) var( --remBase ) );
		padding-bottom : calc( ( 14 - 3.24 ) var( --remBase ) );
	}
	#services tbody th:not( :has( +th ) ) , #services tbody td{
		padding-block : calc( ( 16 - 3.24 ) var( --remBase ) );
	}
	#services tbody th:not( :has( +th ) ){
		font-size : 2.268rem;
		line-height : calc( 29.16 / 22.68 );
	}
	#services tbody td:not( :has( img ) ){
		font-size : 2.268rem;
		line-height : calc( 29.16 / 22.68 );
	}
	#services tbody td:not( :has( img ) ) span{
		font-size : 1.6199999999999999rem;
		line-height : calc( 19.44 / 16.2 );
	}
	#services img[src$="cross01.svg"]{
		height : calc( 34 var( --remBase ) );
	}
	#services img[src$="check01.svg"]{
		height : calc( 44 var( --remBase ) );
	}
}
@media print , screen and ( width > 750px ){
	#services h2 span{
		font-size : 3rem;
		line-height : calc( 40 / 30 );
	}
	#services p{
		margin-top : calc( ( 21 - 5 - 4 ) var( --remBase ) );
		font-size : 1.6rem;
		line-height : 1.5;
	}
	#services .tableBox{
		margin-top : calc( ( 58 - 4 ) var( --remBase ) );
	}
	#services caption{
		font-size : 2.4rem;
	}
	#services thead{
		margin-top : calc( 22 var( --remBase ) );
	}
	#services thead th{
		height : calc( 90 var( --remBase ) );
		padding-top : calc( ( 16 - 2 ) var( --remBase ) );
		font-size : 1.6rem;
		line-height : 1.25;
	}
	#services tbody th:has( +th ){
		font-size : 2rem;
		line-height : 1.2;
	}
	#services tbody:first-of-type th:has( +th ){
		padding-block : calc( ( 9 - 2 ) var( --remBase ) );
	}
	#services tbody:not( :first-of-type ) th:has( +th ){
		padding-top : calc( ( 40 - 2 ) var( --remBase ) );
		padding-bottom : calc( ( 9 - 2 ) var( --remBase ) );
	}
	#services tbody th:not( :has( +th ) ) , #services tbody td{
		padding-block : calc( ( 10 - 2 ) var( --remBase ) );
	}
	#services tbody th:not( :has( +th ) ){
		font-size : 1.4rem;
		line-height : calc( 18 / 14 );
	}
	#services tbody td:not( :has( img ) ){
		font-size : 1.4rem;
		line-height : calc( 18 / 14 );
	}
	#services tbody td:not( :has( img ) ) span{
		font-size : 1rem;
		line-height : 1.2;
	}
	#services img[src$="cross01.svg"]{
		height : calc( 21 var( --remBase ) );
	}
	#services img[src$="check01.svg"]{
		height : calc( 27 var( --remBase ) );
	}
}

/* --------------------------------------------
FACULTIES
--------------------------------------------- */
#faculties h2{
	font-weight : 600;
	color : var( --blue02 );
}
#faculties p{
	font-weight : 300;
}
#faculties .box{
	display : grid;
	grid-template-columns : auto auto;
	align-items : start;
	justify-content : space-between;
}
@media screen and ( width <= 750px ){
	#faculties{
		padding-top : calc( ( 83 - 7 ) var( --remBase ) );
		padding-bottom : calc( 80 var( --remBase ) );
		background-color : #f3fcff;
	}
	#faculties h2{
		font-size : 3.6rem;
		line-height : calc( 50 / 36 );
	}
	#faculties p{
		margin-top : calc( ( 40 - 7 - 6 ) var( --remBase ) );
		font-size : 2.8rem;
		line-height : calc( 40 / 28 );
	}
	#faculties .box{
		margin-top : calc( ( 82 - 6 ) var( --remBase ) );
	}
	#faculties .box img{
		height : calc( 540 var( --remBase ) );
	}
}
@media print , screen and ( width > 750px ){
	#faculties{
		display : grid;
		grid-template-rows : auto 1fr;
		grid-template-columns : 1fr calc( 390 * 100% / 930 );
		row-gap : calc( ( 40 - 5 - 4 ) var( --remBase ) );
		column-gap : calc( 60 * 100% / 930 );
		padding-top : calc( 29 var( --remBase ) );
		padding-bottom : calc( 31 var( --remBase ) );
		border-image-source : linear-gradient( #f3fcff , #f3fcff );
		border-image-slice : 0 fill;
		border-image-outset : 0 100vw 0 100vw;
	}
	#faculties h2{
		grid-row : 1;
		grid-column : 1;
		padding-top : calc( ( 36 - 5 ) var( --remBase ) );
		font-size : 3rem;
		line-height : calc( 40 / 30 );
	}
	#faculties p{
		grid-row : 2;
		grid-column : 1;
		align-self : start;
		font-size : 1.6rem;
		line-height : 1.5;
	}
	#faculties .box{
		grid-row : 1/-1;
		grid-column : 2;
		align-self : start;
	}
	#faculties .box img{
		height : calc( 314 var( --remBase ) );
	}
}

/* --------------------------------------------
FOOTER
--------------------------------------------- */
#footer{
	color : #b3c6d1;
	background : image-set( url( "../../images/multilingual/footer/bg_footer.avif" ) type( "image/avif" ) , url( "../../images/multilingual/footer/bg_footer.webp" ) ) 0 0 / contain repeat-x;
}
#footer a{
	color : #b3c6d1;
}
#footer .logo{
	display : block;
	width : fit-content;
	margin-inline : auto;
}
#footer .logo img{
	height : calc( 56 var( --remBase ) );
}
#footer p{
	text-align : center;
}
#footer .address{
	font-size : 1.2rem;
	line-height : 1.5;
}
#footer ul{
	display : flex;
	flex-wrap : wrap;
	justify-content : center;
}
#footer ul::before , #footer ul::after{
	width : 100%;
	height : 0;
	content : "";
}
#footer ul::before{
	order : 2;
}
#footer ul::after{
	order : 4;
}
#footer ul a{
	display : inline-block;
	font-size : 1.4rem;
	line-height : 1.6;
	-webkit-text-decoration : underline;
	text-decoration : underline;
	text-underline-offset : 0;
}
#footer ul li:nth-child( 1 ){
	order : 1;
}
#footer ul li:nth-child( n+2 ):nth-child( -n+6 ){
	order : 3;
}
#footer ul li:nth-last-child( -n+3 ){
	order : 5;
}
#footer ul li:nth-child( n+3 ):nth-child( -n+5 )::before , #footer ul li:nth-last-child( -n+2 )::before{
	font-size : 1.4rem;
	line-height : 1.6;
	white-space : pre;
	content : " | ";
}
#footer .copyright{
	font-size : 1rem;
	line-height : 2;
}
@media screen and ( width <= 750px ){
	#footer{
		padding-block : calc( 7 var( --remBase ) );
	}
	#footer .address{
		margin-top : calc( 7 var( --remBase ) );
	}
	#footer ul{
		margin-top : calc( 6 var( --remBase ) );
	}
}
@media print , screen and ( width > 750px ){
	#footer{
		padding-top : calc( 10 var( --remBase ) );
		padding-bottom : calc( 7 var( --remBase ) );
	}
	#footer .address{
		margin-top : calc( 10 var( --remBase ) );
	}
	#footer ul{
		margin-top : calc( 4 var( --remBase ) );
	}
	#footer .copyright{
		margin-top : calc( 4 var( --remBase ) );
	}
}
@media print , screen and ( width > 750px ){
	#footerlogo{
		padding-top : calc( 10 var( --remBase ) );
		padding-bottom : calc( 12 var( --remBase ) );
	}
	#footerlogo img{
		width : auto;
		height : calc( 56 var( --remBase ) );
	}
}
@media print , screen and ( width > 750px ){
	p.footeradress{
		margin-bottom : calc( 6 var( --remBase ) );
		font-size : 1.2rem;
	}
}
@media print , screen and ( width > 750px ){
	.footerlink{
		font-size : 1rem;
	}
}
@media print , screen and ( width > 750px ){
	.copyright{
		font-size : 1rem;
	}
}