:root
{
	--bleu-logo: #303591;
	--etain: #EDEDED;
}

@keyframes rotation
{
	0%
	{
		transform: rotate(0deg);
	}
	100%
	{
		transform: rotate(2.5deg);
	}
}

body
{
	background-color: #677179;
}

header, section, .navbar-toggler, #navbarSupportedContent
{
	background-color: var(--etain);
}

header
{
	position: relative;
	overflow: hidden;
}

h1
{
	color: var(--bleu-logo);
	font-weight: 300;
	font-family: Roboto;
	font-size: 1.8rem;
}

h2
{
	font-size: 1.6rem;
}

@media (min-width: 576px)
{
	h1
	{
		font-size: 1.8rem;
	}
}

@media (min-width: 768px)
{
	h1
	{
		font-size: 2.2rem;
	}
	h2
	{
		font-size: 1.9rem;
	}
}

@media (min-width: 992px)
{
	h1
	{
		font-size: 2.5rem;
	}
	h2
	{
		font-size: 2rem;
	}
}

@media (min-width: 1200px)
{
	h1
	{
		font-size: 2.5rem;
	}
}

a:hover
{
	text-decoration: none;
}

a
{
	color: #f9f9f9;
}

header a
{
	text-shadow: none;
	color: var(--bleu-logo);
	transition: all ease 0.5s;
}

header a:hover
{
	text-shadow: 0 0 3px var(--bleu-logo);
	transition: all ease 0.5s;
}

.wow
{
	visibility: hidden;
}

.navbar
{
	box-shadow: none;
}

@media (min-width: 768px)
{
	.navbar
	{
		display: none;
		visibility: hidden;
	}
}

#navbarSupportedContent
{
	box-shadow: none;
	transition: all 0.5s ease;
}

.navbar-toggler, #navbarSupportedContent.show
{
	transition: all 0.5s ease;
	box-shadow: -3px 3px 25px var(--bleu-logo);
}

.navbar-toggler.collapsed:hover
{
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
	transition: all 0.5s ease;
}

.navbar-toggler:not(.collapsed)
{
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
	transition: all 0.5s ease;
}

header:after
{
	content: " ";
	position: absolute;
	background-color: #FFFFFF;
	width: 2000px;
	height: 2000px;
	border-radius: 50%;
	top: -850px;
	right: 62%;
	z-index: 10;
	box-shadow: 4px 4px 250px var(--bleu-logo);
}

@media (min-width: 576px)
{
	header:after
	{
		top: -800px;
		left: -1750px;
		right: auto;
	}
}

@media (min-width: 768px)
{
	header:after
	{
		top: -800px;
		left: -1750px;
	}
}

@media (min-width: 992px)
{
	header:after
	{
		top: -800px;
		left: -1600px;
	}
}

#logo
{
	position: absolute;
	z-index: 11;
	bottom: 25px;
	left: 10px;
	width: 33%;
}

@media (min-width: 576px)
{
	#logo
	{
		width: 210px;
		top: 40px;
		bottom: auto;
	}
}

@media (min-width: 768px)
{
	#logo
	{
		width: 230px;
		top: 40px;
	}
}

@media (min-width: 992px)
{
	#logo
	{
		top: 60px;
		width: 310px;
	}
}

@media (min-width: 1200px)
{
	#logo
	{
		width: 350px;
	}
}

#dijon
{
	position: relative;
	right: -15px;
}

header h3
{
	position: relative;
	z-index: 11;
	background-color: #f9f9f9;
	box-shadow: 0 0 3px 3px var(--bleu-logo);
	border-radius: 20px;
	color: var(--bleu-logo);
	font-weight: bolder;
	font-family: Roboto;
	font-size: 1rem;
}

header > .row
{
	position: relative;
}

@media (min-width: 576px)
{
	header h3
	{
		font-size: 1rem;
	}
}

@media (min-width: 768px)
{
	header h3
	{
		font-size: 1.2rem;
	}
}

@media (min-width: 992px)
{
	header h3
	{
		font-size: 1.6rem;
	}
}

@media (min-width: 1200px)
{
	header h3
	{
		font-size: 2rem;
	}
}

#menu
{
	display: none;
	visibility: hidden;
}

#menu ul
{
	height: 100%;
	align-items: center;
	font-size: 1.1rem;
}

@media (min-width: 768px)
{
	#menu
	{
		display: block;
		visibility: visible;
		position: absolute;
		top: -40px;
		right: 50px;
		bottom: 1.5rem;
		background-color: #f9f9f9;
		box-shadow: -3px 3px 25px var(--bleu-logo);
		border-radius: 20px;
		color: var(--bleu-logo);
	}
}

#apropos
{
	position: relative;
	z-index: 0;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

#devweb
{
	position: relative;
	z-index: -1;
}

#reseau
{
	border: 7px solid var(--etain);
}

.neg-margin
{
	margin-top: -60px;
}

.cadre
{
	padding: 20px;
	width: 75%;
}

@media (min-width: 576px)
{
	.cadre
	{
		padding: 20px 30px;
	}
}

@media (min-width: 992px)
{
	.cadre
	{
		padding: 20px 40px;
	}
}

.blanc
{
	background-color: #f9f9f9;
}

.incline:before
{
	content: "";
	position: absolute;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	z-index: -1;
	top: 10px;
	left: 10px;
	box-shadow: 0 0 0 10px var(--bleu-logo);
	background-color: var(--bleu-logo);
	animation: rotation 1s linear;
	animation-fill-mode: forwards;
}

.cadre.incline
{
	animation-fill-mode: none;
}

.medaillon > div
{
	border: 3px solid #f5f5f5;
	width: 10rem;
	height: 10rem;
	background-color: var(--bleu-logo);
	color: #f9f9f9;
	margin-left: auto;
	margin-right: auto;
	transition: all ease 0.5s;
}

.medaillon h3
{
	font-size: 1.2rem;
}

.medaillon:hover > div
{
	width: 11.5rem;
	transition: all ease 0.5s;
	height: 11.5rem;
}

.detailapropos
{
	background-color: #f9f9f9;
	position: relative;
}

@media (min-width: 768px)
{
	.detailapropos.flechegauche:before
	{
		position: absolute;
		content: " ";
		width: 20px;
		height: 20px;
		transform: rotateZ(45deg);
		background-color: #f9f9f9;
		top: calc(50% - 10px);
		left: -10px;
	}

	.detailapropos.flechedroite:before
	{
		position: absolute;
		content: " ";
		width: 20px;
		height: 20px;
		transform: rotateZ(45deg);
		background-color: #f9f9f9;
		top: calc(50% - 10px);
		right: -10px;
	}
}

.detailapropos ul:before
{
	content: url(../medias/guillemets-gauche.png);
}

.detailapropos ul:after
{
	content: url(../medias/guillemets-droite.png);
	text-align: right;
}

#realisations
{
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.selon
{
	font-size: 1rem;
}

.lien-sombre
{
	color: #0000FF;
	text-decoration: underline;
}

.lien-sombre:hover
{
	font-size: 1.9rem;
	transition: all ease 0.5s;
}

@media (min-width: 310px)
{
	.selon
	{
		font-size: 1.2rem;
	}
}

@media (min-width: 576px)
{
	.selon
	{
		font-size: 1.5rem;
	}
}

#client-typed-elements, #our-typed-elements
{
	display: none;
}

.quinconce img, .quinconce-md img
{
	width: 100%;
}

@media(max-width: 767.8px)
{
	.quinconce-md
	{
		display: none;
		visibility: hidden;
	}
}

@media(min-width: 768px)
{
	.quinconce
	{
		display: none;
		visibility: hidden;
	}
}

#technosweb
{
	background-image: url(../medias/fond_technosweb.jpg);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	border-radius: 65px;
	box-shadow: 0 8px 17px 0 rgba(0,0,0,.3), 0 6px 20px 0 rgba(0,0,0,.25);
}

#technosweb img
{
	height: 50px;
}

@media (min-width: 576px)
{
	#technosweb img
	{
		height: 80px;
	}
}

#competences
{
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

.bubble
{
	width: 130px;
	height: 130px;
	border: 5px solid #f9f9f9;
	color: #f9f9f9;
	background-color: var(--bleu-logo);
	box-shadow: 0 0 5px 0 var(--bleu-logo);
}

#contact
{
	background-color: #212529;
	background-image: url(../medias/contact.png);
	background-repeat: no-repeat;
	background-size: 98% 98%;
	background-position: center;
	border-radius: 10px;
}

#contact h1
{
	color: #f9f9f9;
}

.contact-bubble
{
	width: 85px;
	height: 85px;
	font-size: 36px;
	border: 5px solid #f9f9f9;
	color: #f9f9f9;
	transition: background-color 0.3s linear;
}

.contact-bubble:hover
{
	background-color: var(--bleu-logo);
}

.contact-text
{
	font-size: 1.2rem;
}

.g-recaptcha > div
{
	margin-left: auto;
	margin-right: auto;
}

.g-recaptcha iframe
{
	border-radius: .25rem;
}

#sendMessageButton, #coord_message_button
{
	font-size: 1.2rem;
	font-weight: bold;
	width: 75%;
	border-radius: .25rem;
	background-color: var(--bleu-logo);
}

@media (min-width: 576px)
{
	#sendMessageButton, #coord_message_button
	{
		width: 100%;
	}
}

@media (min-width: 768px)
{
	#sendMessageButton, #coord_message_button
	{
		width: 304px;
	}
}

footer
{
	min-height: 200px;
}

footer .enseigne
{
	height: 1.5em;
}