:root {
	/* COLOR */
	--grey-color-50: rgb(250, 250, 250);
	--grey-color-100: rgb(236, 236, 236);
	--grey-color-200: rgb(210, 210, 210);
	--grey-color-300: rgb(180, 180, 180);
	--grey-color-400: rgb(150, 150, 150);
	--grey-color: rgb(120, 120, 120);
	--grey-color-600: rgb(90, 90, 90);
	--grey-color-700: rgb(60, 60, 60);
	--grey-color-800: rgb(30, 30, 30);
	/* CARD */
	--card-border-radius: 0.8rem;
}

body {
	background-color: var(--grey-color-100);
}

body,
body * {
	font-family: "Open Sans", Arial, Helvetica, sans-serif;
}

/* ~~~~~~~~~~~~~~~~~~~~ WRAPPER ~~~~~~~~~~~~~~~~~~~~ */
.wrapper {
	display: flex;
	flex-direction: column;
	box-shadow: 0 0 1.6rem var(--grey-color-200);
}

/* ~~~~~~~~~~~~~~~~~~~~ HEADER ~~~~~~~~~~~~~~~~~~~~ */
.header {
	background-color: var(--grey-color-50);
	padding: 0 2.4rem;
	box-shadow: 0 0 1.6rem var(--grey-color-200);
	z-index: 1;
}
.header__nav {
	height: 100%;
	height: 8.8rem;
	font-size: 1.6rem;
	font-weight: 500;
}
.header__nav .nav__item a {
	padding: 0 1.2rem;
}

.header__drawer .nav__item--active::before,
.header__nav .nav__item--active::before {
	content: "";
	display: block;
	position: absolute;
	background-color: var(--black-color);
	z-index: 1;
	bottom: 0;
	left: 0;
}

.header__nav .nav__item--active::before {
	width: 100%;
	height: 0.4rem;
}

.header__drawer .nav {
	font-size: 1.8rem;
	font-weight: 600;
}
.header__drawer .nav__item,
.header__drawer .nav__item a {
	justify-content: flex-start;
}
.header__drawer .nav__item a {
	padding: 1.2rem 3.2rem;
	line-height: 2.8rem;
	min-height: 5.6rem;
}
.header__drawer .nav__item--active::before {
	height: 100%;
	width: 0.4rem;
}

.header__logo {
	min-width: 12.8rem;
	max-width: 16.8rem;
	align-items: center;
	display: flex;
}

.header__telephone {
	display: flex;
	align-items: center;
}
.header__telephone__text {
	margin-left: 0.4rem;
}
.header__telephone__button {
	height: 100%;
	align-items: center;
	display: inline-flex;
}

.header__toggle {
	padding: 1.6rem;
}

.header__telephone__button,
.header__toggle {
	padding: 0 1.2rem;
}

.header__telephone__button:hover,
.header__toggle:hover {
	background-color: var(--grey-color-100);
}

/* ~~~~~~~~~~~~~~~~~~~~ CAROUSEL ~~~~~~~~~~~~~~~~~~~~ */
/*
Hide rest of the carousel items unless page is loaded, this is to prevent carousel items stack and feeling up the entire page
until JavaScript has triggered
*/
body:not(.js--loaded) .carousel__item:nth-child(1n+2) {
	display: none;
}


/* ~~~~~~~~~~~~~~~~~~~~ MAIN ~~~~~~~~~~~~~~~~~~~~ */
.main {
	background-color: var(--white-color);
	flex: none;
}

/* ~~~~~~~~~~~~~~~~~~~~ FOOTER ~~~~~~~~~~~~~~~~~~~~ */
.footer {
	background-color: var(--grey-color-700);
	color: var(--grey-color-300);
	font-size: 1.2rem;
	padding: 3.2rem;
	line-height: 1.6rem;
}
.footer__copyright {
	margin-bottom: 1.6rem;
	line-height: 2rem;
	font-size: 1.3rem;
}
.footer__nav {
	font-size: 1.4rem;
	margin: 0 -0.8rem;
}
.footer__nav .nav__item a {
	color: var(--white-color);
	background: none;
	padding: 0 0.8rem;
}
.footer__nav .nav__item:hover a {
	text-decoration: underline;
}
