/* --- Reset --- */
* { 
   -moz-box-sizing: border-box; 
   -webkit-box-sizing: border-box; 
   box-sizing: border-box; 
   padding: 0px;
   margin: 0px;
}

html, body { 
   height: 100%; 
   width: 100%; 
}

body {
  font-family: 'Poppins', sans-serif;
  font-weight: 300;
  background-color: #ebebee;
  color: black;
  padding-top: 81px;
}

::-webkit-input-placeholder, :-moz-placeholder, ::-moz-placeholder, :-ms-input-placeholder { 
  color:    #999;
  font-family: 'Poppins', sans-serif;
  font-weight: 300;
}

p {
  font-size: 18px;
}

a:hover, input, textarea, select, button {
  -o-transition:.5s;
  -ms-transition:.5s;
  -moz-transition:.5s;
  -webkit-transition:.5s;
  transition:.5s;
   -webkit-appearance: none;
   border-radius: 0px;
   font-family: 'Poppins', sans-serif;
}

/* --- Variables --- */
:root {
   --main-bg-color: #f24a59;
	--main-bg-color-hov: #d42c3b;
   --main-bg-text-color: white;
   --main-bg-text-color-hov: white;
}

/* --- Main styles --- */
.inner {
	max-width: 1400px;
	width: 100%;
	display: block;
	margin: 0 auto;
}


header {
	width: 100%;
	background-color: white;
	position: fixed;
	left: 0;
	top: 0;
	box-shadow: 0 2px 4px rgba(0,0,0,.1);
	z-index: 300;
}

header .inner {
	display: flex;
	justify-content: space-between;
}

header .logo {
	display: flex;
	align-items: center;
}

header .logo img {
	max-width: 300px;
	max-height: 80px;
	display: inline-block;
}

header nav {
	
}

header nav ul li {
	display: inline-block;
}

header nav ul li a {
	display: inline-block;
	padding: 24px 30px;
	text-decoration: none;
	color: black;
	font-weight: bold;
	font-size: 22px;
}

header nav ul li a:hover {
	text-decoration: underline;
}

header nav ul li .active {
	color: var(--main-bg-color);
	font-weight: bold;
}

footer {
    background-color: var(--main-bg-color);
    color: var(--main-bg-text-color);
}

footer .logo {
    font-size: 22px;
    font-weight: bold;
    padding: 30px 0;
}

footer .columns {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 50px;
}

footer .columns .col {
    flex: 1;
}

footer .columns .col .heading {
    font-weight: bold;
}

footer .columns .col .links a {
    display: block;
    width: 100%;
}

footer .links + .heading {
    margin-top: 10px;
}

footer a {
    color: #ddeeff;
}

footer .socLinks {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
}

footer .socLinks .soci-link {
    text-decoration: none;
    display: inline-block;
    padding: 10px;
    border-radius: 3px;
    vertical-align: top;
    margin-top: 10px;
    flex-basis: 50px;
}

footer .socLinks .soci-link img {
    width: 50px;
}

footer .bottom {
    margin-top: 30px;
    padding: 20px 0;
    border-top: solid 1px var(--main-bg-color-hov);
}

footer .bottom .copyright {
    display: inline-block;
}

footer .bottom .legal {
    float: right;
    display: inline-block;
}







.main {
	padding: 100px 0;
}

.main h1 {
	font-size: 50px;
	font-weight: bold;
}

.btn {
   margin-top: 30px;
   padding: 20px;
   font-size: 20px;
   background-color: var(--main-bg-color);
   color: var(--main-bg-text-color);
   border: none;
   outline: none;
   border-radius: 3px;
   cursor: pointer;
   display: inline-block;
   text-decoration: none;
}

.btn:hover {
   background-color: var(--main-bg-color-hov);
   color: var(--main-bg-text-color-hov);
}


#map {
	height: 700px;
	margin-top: 50px;
}


.contact {
	padding: 150px 0;
}

.contactForm {
	max-width: 600px;
	width: 100%;
	margin-top: 30px;
}

.contactForm input[type="text"], .contactForm input[type="email"], textarea {
	width: 100%;
	padding: 20px;
	font-size: 20px;
	border: solid 1px #ccc;
	border-radius: 3px;
	outline: none;
	resize: none;
}

.contactForm input[type="text"]:focus, .contactForm input[type="email"]:focus, textarea:focus {
	border: solid 1px #0099cc;
}

.contactForm input[type="submit"] {
	background-color: var(--main-bg-color);
   color: var(--main-bg-text-color);
	padding: 20px;
	min-width: 280px;
	border-radius: 10px;
	font-size: 20px;
	border: none;
	outline: none;
	font-weight: bold;
	cursor: pointer;
}

.contactForm input[type="submit"]:hover {
	background-color: var(--main-bg-color-hov);
   color: var(--main-bg-text-color-hov);
}

.contactForm textarea {
	height: 200px;
}

.contactForm label {
	display: block;
	margin-top: 10px;
	margin-bottom: 3px;
}

.contactForm .turnstile {
	height: 72px;
	margin-top: 10px;
	margin-bottom: 10px;
}


/* --- Privacy policy --- */
.privacy h1 {
	font-size: 60px;
	margin-bottom: 10px;
}

.privacy h2 {
	font-size: 35px;
	margin-top: 30px;
	margin-bottom: 5px;
}

.privacy p {
	font-size: 20px;
}

.privacy p + p {
	margin-top: 20px;
}

.privacy li {
	font-size: 20px;
	margin-top: 10px;
	margin-bottom: 10px;
}

.privacy ul {
	margin-left: 50px;
}

.light {
	background-color: white !important;
	color: black !important;
}

.dark {
	background-color: #ebebee !important;
	color: black !important;
}

section {
	padding: 150px 0;
}

.hero {
	background-color: var(--main-bg-color);
	color: var(--main-bg-text-color);
}

.hero h1 {
	font-size: 60px;
}

.together .inner {
	display: flex;
	gap: 50px;
	flex-direction: row;
	align-items: center;
}

.together .inner .image img {
	width: 100%;
}

.together .inner .image {
	flex: 1;
}

.together .inner .text {
	flex: 1.5;
}

.touchBottom {
	padding-bottom: 0 !important;
}

.touchBottom .inner .text {
	padding-bottom: 150px !important;
}


input[type="text"], input[type="tel"], input[type="email"], input[type="password"], input[type="number"] {
   border: solid 1px #ccc;
   padding: 20px;
   font-size: 20px;
   width: 100%;
   max-width: 400px;
   border-radius: 3px;
}

label {
   display: block;
   margin-top: 20px;
   margin-bottom: 3px;
}

button, input[type="submit"] {
   padding: 20px;
   background-color: var(--main-bg-color);
   color: var(--main-bg-text-color);
   cursor: pointer;
   border-radius: 3px;
   font-weight: bold;
   border: none;
   min-width: 180px;
   padding: 20px;
   font-size: 20px;
}

button:hover, input[type="submit"]:hover {
   background-color: var(--main-bg-color-hov);
   color: var(--main-bg-text-color-hov);
}

video {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.hero img {
	border-radius: 10px;
}
















/* --- Animation --- */
.animate-in {
    opacity: 0;
    transform: translateY(150px);
    transition: opacity 1s ease,transform 1s ease
}

.animate {
    opacity: 1;
    transform: none
}

/* --- Dark mode --- 
@media (prefers-color-scheme: dark) {
	body {
		background-color: #2b2b2b;
		color: #ccc !important;
	}
	
	.light {
		background-color: #666666 !important;
		color: #ebebee !important;
	}
	
	.dark {
		background-color: #303030 !important;
		color: #ebebee !important;
	}
}

*/

/* Small desktop sizing issues --- */
@media only screen and (max-width: 1410px) {
	.inner {
		width: 95%;
	}
}

/* --- Mobile styles --- */
@media only screen and (max-width: 800px) {
	body {
		padding-top: 0;
	}
	section {
		padding: 50px 0;
	}
	.together .inner {
		flex-direction: column;
	}
	header {
		position: relative;
	}
	header .inner {
		display: block;
		text-align: center;
	}
	header .inner .logo {
		padding: 10px;
		width: 100%;
		display: inline-block;
	}
	header .inner nav {
		width: 100%;
	}

 	footer .columns {
		flex-direction: column;
	}
	footer .bottom .legal {
		float: none;
		margin-top: 10px;
	}
	
}