/* RESET */
*, *::before, *::after {
	box-sizing: border-box;
}
* {
	margin: 0;
}
html {
	height: 100%;
}
/* 1. Enable keyword animations */
@media (prefers-reduced-motion: no-preference) {
	html {
		interpolate-size: allow-keywords;
	}
}
body {
	-webkit-font-smoothing: antialiased;
}
img, picture, video, canvas, svg {
	display: block;
	max-width: 100%;
}
input, button, textarea, select {
  	font: inherit;
}
/* 2. Avoid text overflows */
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}
/* 3. Improve line wrapping */
p {
  text-wrap: pretty;
  line-height: 1.3;
}
h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}
a:hover{
	text-decoration: none;
}
/* END RESET */
@font-face {
  font-family: socialIcons;
  src: url(fonts/social_media.ttf);
}
/* VARIABLES */
:root {
    --primary-color: #0081A7;
    --secondary-color: #00AFB9;
    --complementary-color: #F07167;
	--secondary-comp-color: #FED9B7;
    --bg-color: #202d33;
}
/* END VARIABLES */
.theme-switch-wrapper{
	position:fixed;
	top:0;
	right:0;
}
::selection {
    background-color: var(--primary-color); /* Change to your desired color */
    color: var(--bg-color); /* Change to your desired text color */
	transition: all 300ms;
}
body{
	color: var(--primary-color);
	background: var(--bg-color) url(../images/tool-bg.png) repeat fixed;
	transition: all 300ms;
}
p, h1, h2, h3, h4, h5, h6, li, a{
	color: #fff;
	transition: color 300ms;
}
h1{
  	font-size: 3rem;
	font-family: 'Playfair', serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 300;
	font-variation-settings: "wdth" 100;
	line-height: 1em;
	text-align: center;
	margin-bottom: 20px;
	padding-top: 20px;
}
h2{
	font-family: 'Quicksand', cursive;
	font-size: 1.8rem;
	font-weight: 300;
	padding: 15px 0 10px 0;
}
h3{
	font-family: 'Quicksand', cursive;
}
p, li {
	font-family: 'Quicksand', cursive;
	letter-spacing: 2px;
}
p {
	font-size: 1rem;
	margin-bottom: 15px;
}
#content ul{
	padding-bottom: 15px;
}
li {
	padding: 0 0 10px;
}
header{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 3;
	width: 100%;
	height:55px;
	display:block;
	background: var(--bg-color);
	#header-content {
		h1 {
			color: #fff;
			font-weight: 300;
			font-size: 1.4rem;
			padding-top: 17px;
			margin-bottom: 0;
		}
	}
	#menu-background{
		position:fixed;
		top:0;
		left:0;
		background-color: var(--bg-color);
		height:0;
		width:0;
		transition: all 600ms ease-in-out;
		border-radius: 0 0 100% 0;
	}
	#menu-click{
		display:block;
		background:var(--primary-color);
		border-top:10px solid var(--bg-color);
		border-bottom:10px solid var(--bg-color);
		height:22px;
		width:20px;
		position: absolute;
		top:16px;
		left:10px;
		cursor: pointer;
		z-index: 3;
		&::before{
			content:'';
			display: block;
			height:2px;
			width:20px;
			position: absolute;
			top:-5px;
			left: 0;
			background: var(--primary-color);
			transition: all 400ms ease-out;
		}
		&::after{
			content:'';
			display: block;
			height:2px;
			width:20px;
			position: absolute;
			top:5px;
			left: 0;
			background: var(--primary-color);
			transition: all 400ms ease-out;
		}
	}
	nav{
		position:fixed;
		left:-100%;
		padding:55px 0;
		height: 100%;
		top:0;
		width: 100%;
		z-index: 2;
		font-family: 'Quicksand', cursive;
		font-weight: 300;
		font-size: 1em;
		a:hover{
			background:var(--secondary-color);
		}
		#primary {
			display: flex;
			flex-direction: column;
			gap: 10px;
			list-style: none;
			padding:0;
			height: 100%;
			li {
				flex: 1;
				position: relative;
				left:0;
				transition: all 200ms ease-out;
				font-family: 'Quicksand', cursive;
				font-size: 1.6em;
				letter-spacing: normal;
				padding: 0;
				&:nth-child(1) {
					transition-delay: 0.0s;
				}
				&:nth-child(2) {
					transition-delay: 0.1s;
				}
				&:nth-child(3) {
					transition-delay: 0.2s;
				}
				&:nth-child(4) {
					transition-delay: 0.3s;
				}
				&:nth-child(5) {
					transition-delay: 0.4s;
				}
				a {
					color:var(--bg-color);
					text-decoration: none;
					align-content: center;
					padding:20px 20px;
					height:100%;
					text-align: right;
					display: block;
					width:100%;
					transition: all 200ms ease-out;
					background:var(--complementary-color);
					border-radius: 0 20px 20px 0;
					&:hover {
						background: var(--secondary-color);
					}
				}
			}
		}
	}
	.opened {
		#menu-background {
			height:100%;
			width: 100%;
			border-radius: 0;
		}
		#menu-click::before{
			width:10px;
			top:-3px;
			left:-1px;
			transform: rotate(-45deg);
		}
		#menu-click::after{
			width:10px;
			top:3px;
			left:-1px;
			transform: rotate(45deg);
		}
		nav{
			#primary {
				li {
					left: 280px;
					a {
						&:hover {
							background: var(--secondary-color);
						}
					}
				}
			}
		}
	}
}
article {
	padding: 75px 40px 40px;
	max-width: 2000px;
	margin: 0 auto;
	section {
		background: #202d33;
		overflow: hidden;
		margin-bottom: 40px;
		padding: 20px;
		scroll-margin-top: 100px;
	}
}
footer {
	padding: 75px 40px 40px;
	max-width: 2000px;
	margin: 0 auto;
	background: #202d33;
	text-align: center;
}
#slides {
	height: 300px;
	overflow: hidden;
	position: relative;
	margin-top: 55px;
	border-bottom: 15px solid #202d33;
	> #slider-over {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
	}
	> #slides-controls {
		position:absolute;
		top: calc(100% - 30px);
		left: 50%;
		transform: translateX(-50%);
		z-index: 1;
		span {
			cursor: pointer;
			display: inline-block;
			height: 20px;
			width: 20px;
			border-radius: 20px;
			margin: 0 5px;
			background: var(--secondary-color);
			&.active {
				background: var(--complementary-color);
			}
		}
	}
	> div {
		width: 100%;
		height: 300px;
		position: absolute;
		top:0;
		left:0;
		opacity: 0;
		transition: opacity 1s;
		&#slide01 {
			background: url(../images/header-01-small.jpg) center  no-repeat;
			background-size: cover;
		}
		&#slide02 {
			background: url(../images/header-02-small.jpg) center  no-repeat;
			background-size: cover;
		}
		&#slide03 {
			background: url(../images/header-03-small.jpg) center  no-repeat;
			background-size: cover;
		}
		&#slide04 {
			background: url(../images/header-04-small.jpg) center  no-repeat;
			background-size: cover;
		}
		&#slide05 {
			background: url(../images/header-05-small.jpg) center  no-repeat;
			background-size: cover;
		}
		&.active {
			opacity: 1;
		}
	}
}
.no-phone {
	display:none;
}
.desktop {
	display:none !important;
}
#about {
	> div {
		max-width: 1000px;
		margin: 0 auto;
		text-align: center;
		.us {
			width: 400px;
			max-width: 100%;
			margin: 0 auto 40px;
		}
		p {
			text-align: left;
			font-size: 1.4rem;
			margin-bottom: 40px;
		}
	}
	img {
		border: 10px solid;
		border-radius: 50%;
	}
}
#portfolio {
	img {
		border: 10px solid;
		margin-bottom: 10px;
	}
}
#contact { 
	a {
		overflow-wrap: break-word;
	}
}
.share-icon {
	position: fixed;
	top: 0;
	left: 0;
	height: 0px;
	width: 0px;
	opacity: 0;
	z-index: -5;
}
@media screen and (min-width: 640px) {
	#slides {
		height: 400px;
		> div {
			height: 400px;
			&#slide01 {
				background: url(../images/header-01-med.jpg) center  no-repeat;
				background-size: cover;
			}
			&#slide02 {
				background: url(../images/header-02-med.jpg) center  no-repeat;
				background-size: cover;
			}
			&#slide03 {
				background: url(../images/header-03-med.jpg) center  no-repeat;
				background-size: cover;
			}
			&#slide04 {
				background: url(../images/header-04-med.jpg) center  no-repeat;
				background-size: cover;
			}
			&#slide05 {
				background: url(../images/header-05-med.jpg) center  no-repeat;
				background-size: cover;
			}
		}
	}
}
@media screen and (min-width: 960px) {
	.desktop {
		display: inherit !important;
	}
	.mobile {
		display: none !important;
	}
	#slides {
		> #slider-over {
			position:absolute;
			top: 50%;
			left: 50%;
			width: 100%;
			max-width: 2000px;
			padding: 0 40px;
			margin: 0 auto;
			transform: translate(-50%, -50%);
		}
		margin-top:0;
		height: 600px;
		> div {
			height: 600px;
		}
	}
	header {
		background: none;
		height: 75px;
		.opened {
			#menu-background {
				height:inherit;
				width: inherit;
				border-radius: 0;
				position: absolute;
			}
			#menu-click::before{
				width:10px;
				top:-3px;
				left:-1px;
				transform: rotate(-45deg);
			}
			#menu-click::after{
				width:10px;
				top:3px;
				left:-1px;
				transform: rotate(45deg);
			}
			nav{
				#primary {
					li {
						left: auto;
					}
				}
			}
		}
		.down {
			position: relative;
			height: 100%;
			#menu-background {
				display: block;
				top: 0;
				left: 0;
				height: 100%;
			}
		}
		#menu-background {
			position: absolute;
			height: 0;
			width: 100%;
			border-radius: 0;
		}
		nav {
			position: relative;
			left:auto;
			padding: 0;
			top: auto;
			max-width: 800px;
			margin: 0 auto;
			text-align: center;
			#primary {
				display:inline-block;
				li {
					display: inline-block;
					padding: 0;
					margin: 0;
					height: 100%;
					a {
						font-weight: 400;
						color: #fff;
						font-size: .76em;
						padding: 10px 0;
						text-align: center;
						border-radius: 0;
						background: none;
						padding: 15px 15px;
						margin: 0;
					}
				}
			}
		}
	}
	#portfolio {
		overflow: hidden;
		section {
			clear: both;
		}
		img {
			max-width: 50%;
			float:left;
			margin-right: 40px;
		}
	}
	#about {
		> div {
			max-width: 1000px;
			margin: 0 auto;
			div {
				display: flex;
				flex-direction: row;
				align-items: center;
			}
			.us {
				max-width: 400px;
				margin-right: 40px;
				margin-bottom: 0;
			}
			p {
				font-size: 1.4rem;
				margin-bottom: 0;
			}
			.young {
				margin: auto;
				width: 500px;
				max-width: 100%;
			}
		}
	}
}
@media screen and (min-width: 1100px) {
	#slides {
		height: 800px;
		> div {
			height: 800px;
			&#slide01 {
				background: url(../images/header-01-large.jpg) center  no-repeat;
				background-size: cover;
			}
			&#slide02 {
				background: url(../images/header-02-large.jpg) center  no-repeat;
				background-size: cover;
			}
			&#slide03 {
				background: url(../images/header-03-large.jpg) center  no-repeat;
				background-size: cover;
			}
			&#slide04 {
				background: url(../images/header-04-large.jpg) center  no-repeat;
				background-size: cover;
			}
			&#slide05 {
				background: url(../images/header-05-large.jpg) center  no-repeat;
				background-size: cover;
			}
		}
	}
}
