@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,700;0,900;1,300&display=swap');

/************************\
 | COMMON AND GLOBALS
\************************/
html, body {
	padding: 0;
	margin: 0;
	font-family: Roboto;
	font-size: 1.1em;
	color: #57575A;
}
svg {
	fill: #57575A;
}
a {
	color: inherit;
}
button, .button {
	border: none;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
    display: flex;
    justify-items: center;
    gap: 1rem;
    width: max-content;
	color: #57575A;
	background-color: hsl(0, 0%, 90%);
	background-image: linear-gradient(135deg, hsl(0, 0%, 90%) 0%, hsl(0, 0%, 95%) 100%);
}
button>svg, .button>svg {
	fill: #57575A;
}
a.button:hover {
	text-decoration: underline;
}
img, video, button, a.button {
	border-radius: 3px;
	box-shadow: 2px 4px 10px 0px rgb(0 0 0 / 10%);
	max-width: 100%;
}
#logo img {
	display: block;
	border-radius: 0;
	box-shadow: none;
	margin: auto;
}
.legal {
	font-size: 0.6em;
}
footer {
	margin: 40px 0;
	text-align: center;
}

/************************\
 | NAVIGUATION
\************************/
header {
	padding: 0 45px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1;
}
header.banner {
	background: white;
	box-shadow: 0 0 10px 0 rgb(0 0 0 / 35%);
	position: fixed;
}
header.banner .content {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
}
header.banner #logo {
	width: 200px;
}
nav {
	background: white;
	display: none;
}
nav ul {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin: 0;
	padding: 0;
}
nav ul li {
	display: block;
	font-size: 1.2rem;
}
nav ul li a {
	text-decoration: none;
	word-break: break-word;
}
nav ul li a:hover {
	text-decoration: underline;
}
#scrollHeader .content {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}
#menuToggle {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	cursor: pointer;
	font-size: 1.1em;
}
#menuToggle:hover {
	text-decoration: underline;
}
nav.shown {
	display: block;
	padding: 30px 0;
}
header:not(.banner) nav.shown {
	box-shadow: white 45px 0, white -45px 0, 0px -45px 0 45px white, 0px -41px 10px 45px rgb(0 0 0 / 10%)
}
.banner nav.shown {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	padding: 30px;
	box-shadow: 0px -10px 0 0px white, 0px 4px 10px 0px rgb(0 0 0 / 10%);
}
nav ul {
	flex-flow: column nowrap;
}
.submenu-title {
	display: none;
}

/************************\
 | BIG SECTIONS
\************************/
section {
	padding: 60px 45px;
	background-attachment: fixed;
	position: relative;
}
.green, .brown, .blue {
	color: white;
}
.button.green svg, .button.brown svg, .button.blue svg,
 button.green svg,  button.brown svg,  button.blue svg {
	fill: white;
}
.green {
	background-color: rgb(76,135,41);
	background-image: linear-gradient(135deg, rgb(76,135,41) 0%, rgb(94,168,50) 100%);
}
.brown {
	background-color: rgb(171,108,62);
	background-image: linear-gradient(135deg, rgb(171,108,62) 0%, rgb(214,134,77) 100%);
}
.blue {
	background-color: rgb(42,108,139);
	background-image: linear-gradient(135deg, rgb(42,108,139) 0%, rgb(52,134,173) 100%);
}
section.green::before, section.green::after,
section.brown::before, section.brown::after,
section.blue::before, section.blue::after {
	content: '';
	position: absolute;
}
section.green::before, section.brown::before, section.blue::before {
	top: 0;
	right: 0;
	border-right: 75vw solid transparent;
	border-top: 2vw solid white;
	box-shadow: 0 4px 0 4px white, -25vw 4px 0 4px white;
}
section.green::after, section.brown::after, section.blue::after {
	bottom: 0;
	left: 0;
	border-left: 75vw solid transparent;
	border-bottom: 2vw solid white;
	box-shadow: 0 -4px 0 4px white, 25vw -4px 0 4px white;
}

/************************\
 | CONTENT
\************************/
.content {
	max-width: 1200px;
	margin: auto;
}
h1, h2, h3 {
	word-wrap: break-word;
}
h1 {
	font-weight: 300;
	font-size: 1.7em;
}
h1 b {
	font-weight: 500;
}
h2 {
	font-weight: 500;
	font-size: 1.7em;
}
h3 {
	font-weight: 300;
	font-style: italic;
	font-size: 1.5em;
}
.flex {
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	gap: 21px;
}
.flex.vertical {
	flex-flow: column nowrap !important;
	align-items: stretch;
}
.left {
	flex: 1 1;
	align-self: stretch;
}
.item {
	flex: 1 0;
	display: flex;
	flex-flow: column nowrap;
	align-self: stretch;
}
.blue .item, .green .item, .brown .item {
	background: white;
	border-radius: 3px;
	color: #57575A;
	padding: 20px 28px;
	box-shadow: 2px 4px 10px 0px rgb(0 0 0 / 10%);
}
p+.item.flex {
	margin-top: 80px;
}
a+.item.flex {
	margin-top: 1em;
}
.item.flex {
	padding: 45px;
}
.item.flex {
	justify-content: center;
	gap: 40px;
}
.item ul {
	flex: 1 0;
}
.item img {
	box-shadow: none;
}
.review_rating {
	display: inline-flex;
	flex-flow: row;
	align-items: center;
	gap: 0.25rem;
	font-size: 1.5rem;
}
.review_profile {
	width: 48px;
}
.review_infos {
	display: flex;
	flex-flow: column;
}
.bigGap .start {
	align-self: flex-start;
}
.galery {
	justify-content: center;
	margin-top: 30px;
}

/************************\
 | MEDIA QUERIES
\************************/
@media (min-width: 500px) {
	.review > .flex {
		align-self: flex-start;
		flex-flow: row nowrap;
	}

}
@media (min-width: 980px) {
	section {
		padding: 100px 75px;
	}
	header {
		padding: 0 75px;
	}
	.flex {
		flex-flow: row nowrap;
	}
	.flex.content {
		align-items: center;
	}
	.left {
		align-self: center;
	}
	.right {
		max-width: 50%;
	}
	.bigGap {
		gap: 80px;
	}
	.item.flex.bigGap {
		padding: 60px 200px;
	}
}
@media (min-width: 1080px) {
	#menuToggle {
		display: none;
	}
	nav {
		display: block;
		position: relative !important;
		padding: 0 !important;
	    box-shadow: none !important;
	}
	nav ul {
		gap: 40px;
		flex-flow: row nowrap;
		align-items: center;
	}
	.submenu-content {
		gap: 10px;
		box-shadow: 0px 10px 10px -10px rgb(0 0 0 / 35%);
	}
	.submenu {
		position: relative;
	}
	.submenu .submenu-title {
		display: initial;
		position: relative;
		margin-right: 27.6px;
		user-select: none;
	}
	.submenu .submenu-title:hover {
		text-decoration: underline;
		cursor: pointer;
	}
	.submenu .submenu-title:after {
		top: 50%;
		border: solid transparent;
		content: "";
		height: 0;
		width: 0;
		position: absolute;
		border-color: rgba(136, 183, 213, 0);
		border-left-color: #57575A;
		border-width: 0.3rem;
		margin-top: -0.3rem;
		margin-left: 1rem;
		transform-origin: 25% 50%;
		transform: rotate(90deg);
		transition: 200ms;
	}
	.submenu.open .submenu-title:after {
		transform: rotate(-90deg);
	}
	.submenu .submenu-content {
		display: none;
		background: white;
		z-index: 1;
		padding: 0.75rem 1rem;
		position: absolute;
		transform: translateX(-1rem);
		width: max-content;
		align-items: flex-start;
	}
	.submenu.open .submenu-content {
		display: flex;
		flex-flow: column nowrap;
	}
}