@font-face {
	font-family: "Libertinus Sans";
	src: url("LibertinusSans-Regular.otf");
}

:root {
	--largeur_max: 90vw;
	--rouge: #ff0000;
	--gris: rgb(221,228,233);
	--bleu: #00349d;
	--blanc: #FFFFFF;
	--noir: #000000;
}

html, body {
	background-color: var(--blanc);
	font-family: "Libertinus Sans";
	width: 100%;
	margin: 0px;
	padding: 0px;
	border: 0px;
}

h1{
	text-align: center;
	font-size: 70px;
	font-weight: bold;
	text-shadow: 2px 2px var(--noir);
}

h2 {
	text-align: left;
	font-size: 40px;
	font-weight: bold;
	margin-bottom: 50px;
	color: var(--bleu);
}

h3{
	text-align: center;
	font-size: 30px;
	font-weight: bold;
}

p, ul{
	font-size: 20px;
}

b{
	color: var(--bleu);
}

ul {
	list-style-type: circle;
	line-height:40px;
}

.fond_couleur_1 {
	background-color: var(--blanc);
	border: 1px solid var(--blanc);
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}

.fond_couleur_2 {
	margin: 0 0 0 0;
	background-color: var(--gris);
	border: 1px solid var(--gris);
	padding: 0 0 0 0;
}

.fond_couleur_image {
	background-image: url('img/fond_gris.jpg');
	background-repeat: no-repeat;
	background-size: 100% 100%;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	border: 1px solid var(--gris);
}

.block_logo {
	display: block;
	height: 24vh;
	margin-top: 2vh;
	margin-bottom: 2vh;
	margin-left: auto;
	margin-right: auto;
}

.block_menu {
	text-align: center;
	padding-top: 1vh;
	padding-bottom: 1vh;
}

nav a{
	color: var(--bleu);
	text-decoration: none;
	padding-left: 50px;
	padding-right: 50px;
	font-size: 20px;
}

nav a:hover
{
	text-decoration: none;
	color: var(--rouge);
}

.block_image {
	background: url('img/realisations.gif') var(--blanc) center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	margin: 0 0 0 0;
	background-position:center center;
}

.block_titre {
	text-align: center;
	margin: 0 0 0 0;
	padding-top: 25vh;
	padding-bottom: 25vh;
	padding-right: 0px;
	padding-left: 0px;
	color: var(--blanc);
	background-color: rgba(0,0,0,0.3);
}

.block_max_width {
	max-width: var(--largeur_max);
	margin-left: auto;
	margin-right: auto;
}
.block_colonnes_realisations_3 {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-column-gap: 2vw;
	height: auto;
	max-width: var(--largeur_max);
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 30px;
}

.block_image_realisations {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	border-color: transparent;
	border-style: solid;
	border-width: 5px;
}

.block_image_realisations:hover {
	border-color: var(--bleu);
	border-style: solid;
	border-width: 5px;
}

.block_colonnes_realisations_2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-column-gap: 5%;
	height: auto;
	max-width: calc(2*var(--largeur_max)/3);
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 30px;
}

.aligne_vertical_texte_realisation {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	color: var(--bleu);
}

.support_ecran {
	display: block;
	background: url("img/support_ecran.png");
  	background-size: cover;
	margin-left: auto;
	margin-right: auto;
	width: calc(1112*20vw/786);
	height: 20vw;
	text-align: center;
}

.support_ecran:hover {
	background: url("img/support_ecran.gif");
  	background-size: cover;
}

.mezzanine_AAG {
	display: block;
	background: url("img/mezzanine_AAG.png");
  	background-size: cover;
	margin-left: auto;
	margin-right: auto;
	width: calc(1112*20vw/786);
	height: 20vw;
	text-align: center;
}

.mezzanine_AAG:hover {
	background: url("img/mezzanine_AAG.gif");
  	background-size: cover;
}

.mezzanine_ATC {
	display: block;
	background: url("img/mezzanine_ATC.jpg");
  	background-size: cover;
	margin-left: auto;
	margin-right: auto;
	width: calc(1112*20vw/786);
	height: 20vw;
	text-align: center;
}

.mezzanine_ATC:hover {
	background: url("img/mezzanine_ATC.gif");
  	background-size: cover;
}

.echafaudage_rendu {
	display: block;
	background: url("img/echafaudage_rendu.png");
  	background-size: cover;
	margin-left: auto;
	margin-right: auto;
	width: calc(1112*20vw/786);
	height: 20vw;
	text-align: center;
}

.echafaudage_rendu:hover {
	background: url("img/echafaudage_3D.png");
  	background-size: cover;
}

.modelisation_marchastel {
	display: block;
	background: url("img/modelisation_marchastel.jpg");
  	background-size: cover;
	margin-left: auto;
	margin-right: auto;
	width: calc(1112*20vw/786);
	height: 20vw;
	text-align: center;
}

.modelisation_marchastel:hover {
	background: url("img/modelisation_marchastel_low.gif");
  	background-size: cover;
}

.modelisation_digny {
	display: block;
	background: url("img/modelisation_digny.jpg");
  	background-size: cover;
	margin-left: auto;
	margin-right: auto;
	width: calc(1112*20vw/786);
	height: 20vw;
	text-align: center;
}

.modelisation_digny:hover {
	background: url("img/modelisation_digny_low.gif");
  	background-size: cover;
}

.plans_batiment_agricole {
	display: block;
	background: url("img/plans_batiment_agricole.png");
  	background-size: cover;
	margin-left: auto;
	margin-right: auto;
	width: calc(1112*20vw/786);
	height: 20vw;
	text-align: center;
}

.plans_batiment_agricole:hover {
	background: url("img/plans_batiment_agricole.gif");
  	background-size: cover;
}

.aligne_vertical_image_realisation {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: auto;
	height: 20vw;
	text-align: center;
}

.block_colonnes_realisations_1 {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	grid-column-gap: 5%;
	height: auto;
	max-width: calc(1*var(--largeur_max)/3);
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 30px;
}

.block_colonnes_contact {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	height: auto;
	max-width: var(--largeur_max);
	margin-left: auto;
	margin-right: auto;
}

.aligne_vertical_image_contact {
	display: block;
	margin-left: auto;
	margin-right: auto;
	height: 50px;
	text-align: center;
}

.aligne_vertical_texte_contact {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	color: var(--bleu);
}

a:link { text-decoration: none; }
a:visited { text-decoration: none; }
a:hover { text-decoration: none; }
a:active { text-decoration: none; }

.block_unclickable_contact {
	padding-top: 20px;
	margin-bottom: 10px;
}

.block_clickable_contact {
	padding-top: 20px;
	margin-bottom: 10px;
}

.block_clickable_contact:hover {
	background-color: var(--gris);
}

.block_copyright {
	background-color: #000000;
	color: #FFFFFF;
	text-align: center;
	padding: 10px;
}

@media only screen and (max-width: 1300px) {
	.fond_couleur_image {
		background-size: auto 100%;
	}

	.aligne_vertical_image_realisation {
		width: 70vw;
		height: auto;
	}
	
	.support_ecran {
		width: 70vw;
		height: calc(786*70vw/1112);
	}
	
	.mezzanine_AAG {
		width: 70vw;
		height: calc(786*70vw/1112);
	}
	
	.mezzanine_ATC {
		width: 70vw;
		height: calc(786*70vw/1112);
	}
	
	.echafaudage_rendu {
		width: 70vw;
		height: calc(786*70vw/1112);
	}

	.modelisation_marchastel {
		width: 70vw;
		height: calc(786*70vw/1112);
	}
	
	.modelisation_digny {
		width: 70vw;
		height: calc(786*70vw/1112);
	}
	
	.plans_batiment_agricole {
		width: 70vw;
		height: calc(786*70vw/1112);
	}
	.block_image_realisations:hover {
		border-color: transparent;
	}

	.block_colonnes_realisations_3 {
		display: grid;
		grid-template-columns: repeat(1, minmax(0, 1fr));
		max-width: var(--largeur_max);
	}

	.block_colonnes_realisations_2 {
		display: grid;
		grid-template-columns: repeat(1, minmax(0, 1fr));
		max-width: var(--largeur_max);
	}

	.block_colonnes_realisations_1 {
		display: grid;
		grid-template-columns: repeat(1, minmax(0, 1fr));
		max-width: var(--largeur_max);
	}
}

@media only screen and (max-width: 600px) {
	.fond_couleur_image {
		background-size: auto 100%;
	}
	
	h1{
		font-size: 30px;
	}
	
	.block_menu {
		text-align: center;
		padding-top: 2vh;
		padding-bottom: 2vh;
	}
	
	nav a {
		display: block;
		font-size: 15px;
	}
	
	.block_titre {
		padding-top: 15vh;
		padding-bottom: 15vh;
	}
	
	.aligne_vertical_image_realisation {
		width: 70vw;
		height: calc(786*70vw/1112);
	}
	
	.support_ecran {
		width: 70vw;
		height: calc(786*70vw/1112);
		background: url("img/support_ecran.gif");
  		background-size: cover;
	}
	
	.mezzanine_AAG {
		width: 70vw;
		height: calc(786*70vw/1112);
		background: url("img/mezzanine_AAG.gif");
  		background-size: cover;
	}
	
	.mezzanine_ATC {
		width: 70vw;
		height: calc(786*70vw/1112);
		background: url("img/mezzanine_ATC.gif");
  		background-size: cover;
	}
	
	.echafaudage_rendu {
		width: 70vw;
		height: calc(786*70vw/1112);
		background: url("img/echafaudage_rendu.gif");
  		background-size: cover;
	}
	
	.modelisation_marchastel {
		width: 70vw;
		height: calc(786*70vw/1112);
		background: url("img/modelisation_marchastel_low.gif");
  		background-size: cover;
	}
	
	.modelisation_digny {
		width: 70vw;
		height: calc(786*70vw/1112);
		background: url("img/modelisation_digny_low.gif");
  		background-size: cover;
	}
	
	.plans_batiment_agricole {
		width: 70vw;
		height: calc(786*70vw/1112);
		background: url("img/plans_batiment_agricole.gif");
  		background-size: cover;
	}
	
	.block_image_realisations:hover {
		border-color: transparent;
	}

	.block_colonnes_realisations_3 {
		grid-template-columns: repeat(1, minmax(0, 1fr));
		max-width: var(--largeur_max);
	}

	.block_colonnes_realisations_2 {
		grid-template-columns: repeat(1, minmax(0, 1fr));
		max-width: var(--largeur_max);
	}

	.block_colonnes_realisations_1 {
		grid-template-columns: repeat(1, minmax(0, 1fr));
		max-width: var(--largeur_max);
	}
	
	.block_colonnes_contact {
		max-width: var(--largeur_max);
	}
	
	.block_colonnes_contact {
		grid-template-columns: repeat(1, minmax(0, 1fr));
		max-width: var(--largeur_max);
	}
}
