@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Montserrat:200,400,700');

/* COLOR SCHEME */
:root {
	--grey: 	#373737;
	--light: 	#f0f0f0;
	--blue: 	#536dfe;
	--orange: 	#f06b45;
	--green: 	#1aac6f;
	--yellow: 	#ffc800;
}

/* GLOBAL STYLES */
* {
	box-sizing: border-box;
	margin: 0px;
	/* GLOBAL TRANSITIONS */
	transition: color 0.4s;
}

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

body {
	width: 100%;
	height: 100%;
	font-family: 'Montserrat';
}

input {
	height: 60px;
	border: 2px solid;
	font-size: 16px;
	font-family: 'Montserrat';
	text-align: center;
	background: transparent;
}

img {
	display: block;
}





/* ANCHOR STYLES */
a {	
	display: block;
	color: inherit;
	text-decoration: none;
	font-weight: inherit;
	cursor: pointer;
}


/* TEXT STYLES */
hr {
	width: 100%;
	height: 2px;
	margin: 10px 0px;
	border: none;
	background: white;
}

h1 {
	font-size: 72px;
	line-height: 80px;
	font-weight: 400;
	color: inherit;
}


h2 {
	font-size: 36px;
	line-height: 50px;
}

h3 {
	font-size: 16px;
	line-height: 20px;
}

h4 {
	margin: 30px 0px 10px 0px; 
	font-size: 12px;
	line-height: 20px;
	color: inherit;
}

h5 {
	padding-top: 10px;
	font-size: 16px;
	line-height: 20px;
	font-weight: 200;
	color: grey;
}

p {
	margin: 30px 0px;
	line-height: 30px;
}




.intro {
	position: fixed;
	width: 100vw;
	height: 100vh;
	z-index: 5;
	animation: hide_intro 1s forwards;
	animation-delay: 5s;
	background: var(--grey);
}

.intro img {
	width: 240px;
	left: calc(50% - 120px);
	top: calc(50% - 20px);
	position: absolute;
	z-index: 2;
}

.intro_wrap {
	width: 300%; 
	height: 100%;
	position: absolute;
	animation: intro 10s forwards;
	display: flex;
}

.intro_wrap div {
	width: 100%; 
	height: 100%;
}





/* MENU TOGGLE */
.menu_toggle {
	width: 30px;
	height: 40px;
	right: 40px;
	top: 20px;
	position: fixed;
	cursor: pointer;
	z-index: 4;
}

rect {
	width: 30px;
	height: 4px;
	fill: white;
	/* TRANSITION */
	transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1);
	transform-origin: center center;
}

rect:last-child {
	width: 20px;
}

/* MENU */
.menu {
	width: 100%;
	height: 80px;
	padding: 20px 0px 0px 0px;
	position: fixed;
	color: white;
	overflow: hidden;
	background: var(--grey);
	z-index: 3;
	/* TRANSITION */
	transition: all 0.6s cubic-bezier(0.8, 0, 0.2, 1);
}

.menu a:first-child {
	margin: 0px 40px 20px 40px;
	flex-grow: 2;

}

.menu a img {
	height: 30px;
	margin-right: 20px;
	float: left;
}

.menu a {
	height: 40px;
	margin: 10px 40px;
}

.menu hr {
	width: 0px;
	transition: width 0.6s cubic-bezier(0.8, 0, 0.2, 1);
}

.menu_on {
	height: 100%;
}













/* HOME SECTION */
.home {
	padding: 160px 0px;
	text-align: center;
	color: var(--grey);
	background: var(--yellow);
}

.home h2 {
	max-width: 960px;
	margin: 80px 0px;
	display: inline-block;
	opacity: 0;
	/* ANIMATION */
	animation: fade 2s forwards;
	animation-delay: 6s;
}

.home_img {
	max-width: 960px;
	margin: auto;
}

.home_icon {
	height: 40px;
	margin: 10px auto;
}


/* ABOUT SECTION */
.brands_swiper {
	position: relative;
	overflow: hidden;
}

.about_section {
	padding-bottom: 40px;
	text-align: center;
	color: var(--grey);
	background: var(--light);
}

.about_section img {
	width: 50%;
	margin: auto;
	transform: translateY(-50%);
}

.about_section h2 {
	max-width: 960px;
	margin: 40px auto;
}

.work {
	width: 100%;
}










/* SERVICES SECTION */
.services {
	padding: 80px 0px;
	color: white;
}

.services_text {
	max-width: 480px;
	margin: 80px;
}



/* WORK SECTION */
.fader {
	background-size: cover;
}

.fader img {
	width: 100%;
	/* ANIMATION */
	animation: fade_loop 4s infinite alternate;
}












/* FOOTER SECTION */
.footer {
	color: white;
	background: var(--grey);
}

.footer img {
	width: 240px;
	margin-bottom: 40px; 
}

.footer_text {
	width: 320px;
	margin: 80px 160px;
}

.footer_text p {
	margin: 20px 0px;
}

.footer_text a {
	line-height: 30px;
}





















/* MOBILE STYLES */
@media screen and (max-width: 960px) {
    h1 {
		font-size: 30px;
		line-height: 40px;
	}

	h2 {
		padding: 0px 40px;
		font-size: 20px;
		line-height: 28px;
	}

	.home {
		padding: 80px 0px;
	}

	.home h2 {
		margin: 40px 0px;
	}

	.home_img {
		width: 80%;
		margin: auto;
	}

	.about_section img {
		width: 360px;
	}

	.services img {
		width: 160px;
		margin: 40px auto;
	}

	.services_text {
		margin: 40px;
	}

	.footer {
		padding: 40px 0px;
	}

	.footer_text {
		margin: 40px;
	}

	
}

@media screen and (max-width: 1560px) {
	h5 {
		display: none;
	}
}









@media screen and (min-width: 960px) {
	.menu_toggle {
		display: none;
	}

    .menu {
    	padding: 20px 80px 0px 80px;
        display: flex;
        justify-content: space-between;
    }

    .menu a:hover hr {
		width: 100%;
	}

	.intro img {
		width: 480px;
		left: calc(50% - 240px);
		top: calc(50% - 40px);
	}

	.services {
		display: flex;
		justify-content: center;
	}

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






/* ANIMATIONS */
@keyframes intro { 
  	0% 	 	{transform: translateX(0%);}
  	50% 	{transform: translateX(-100%);}
  	100% 	{transform: translateX(-200%);}
}

@keyframes hide_intro { 
  	0% 	 	{transform: translateY(0%);}
  	100% 	{transform: translateY(-100%);}
}

@keyframes fade { 
  	0% 	 	{opacity: 0; transform: translateY(40px);}
  	100% 	{opacity: 1; transform: translateY(0px);}
}

@keyframes fade_loop { 
  	0% 	 	{opacity: 0;}
  	40% 	{opacity: 0;}
  	60% 	{opacity: 1;}
  	100% 	{opacity: 1;}
}

/* SWIPER STYLES */
.swiper-wrapper {
  	width: 100%;
  	height: 100%;
  	position: relative;
  	display: flex;
  	transition-property: transform;
  	box-sizing: content-box;
}

.swiper-slide {
	width: 100%;
  	flex-shrink: 0;
}

.swiper-slide img {
	width: 100%;
}


