@charset "UTF-8";
/* CSS Document */

/*vars*/

:root {
	
	--colour-1: #02ac53; /*green*/
	--colour-2: #f0e4b4; /*cream*/
	--colour-3: #170015; /*black*/
	--colour-4: #ffffff; /*white*/
	
	--border-radius-1: 14px;
	--border-radius-2: 20px;
	--border-radius-3: 30px;
	
	--block-padding-top: 100px;
	--block-padding-bottom: 120px;
	
	--transition-duration-1: 0.6s; /*button*/
	--transition-duration-2: 0.4s; /*thumb*/
}

/*body*/

html{
  scroll-behavior: smooth;
}

body{
	background-color: var(--colour-3);
}

body, button{
	margin: 0;
	padding: 0;
	font-family: "Figtree", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 900;
  	font-style: italic;
	text-align: center;
	font-size: 20px;
	line-height: 125%;
	color: var(--colour-3);
}

p{
	margin-bottom: 0;
}

a{
    text-decoration: none;
}

h1{
	color: var(--colour-1);
	font-weight: 900;
	font-size: 80px;
	line-height: 80px;
	margin: 0 0 20px;
}

h2{
	font-weight: 900;
	font-size: 30px;
	
}

h3{
	font-weight: 700;
	font-size: 20px;
	margin: 0;
}

h3 a{
	color: var(--colour-1);
}

h3 a:hover{
	text-decoration: underline;
}

h4{
	font-weight: 700;
	font-size: 12px;
	margin: 0;
}

button{
	width: 200px;
	height: 60px;
	margin: 30px 0 0;
	border-radius: var(--border-radius-1);
	background: none;
	border: solid 4px;
	cursor: pointer;
	transition: var(--transition-duration-1);
}

.button-extra-margin{
	margin-top: 60px;
}

.button-colour{
	color: var(--colour-1);
	border-color: var(--colour-1);
}

.button-colour:hover{
	color: var(--colour-4);
	background-color: var(--colour-1);
}

.button-white{
	color: var(--colour-4);
	border-color: var(--colour-4);
}

.button-white:hover{
	color: var(--colour-1);
	background-color: var(--colour-4);
}

.replay{
	width: 120px;
	height: 40px;
	font-size: 14px;
	border-radius: 20px;
	color: var(--colour-1);
	border-color: var(--colour-1);
	margin-bottom: 10px;
}

.replay:hover{
	color: var(--colour-4);
	background-color: var(--colour-1);
}

.divide{
	width: 40%;
	height: 2px;
	border-radius: 2px;
	background-color: var(--colour-1);
	margin: 40px 0 15px;
}

/*reusable blocks*/

.container{
	width: 100%;
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.block-full{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding-top: var(--block-padding-top);
	padding-bottom: var(--block-padding-bottom);
}

.block-border{
	background-color: var(--colour-2);
	border-bottom-left-radius: var(--border-radius-3);
	border-bottom-right-radius: var(--border-radius-3);
}

.block{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 90%;
	margin: 0 5%;
}

.block-secondary{
	background-color: var(--colour-3);
}

.block-secondary h2{
	color: var(--colour-1);
}

.block-secondary h3{
	color: var(--colour-4);
}

.block-case-study{
	background-color: var(--colour-2);
	padding-top: 50px;
}

.block-case-study h2{
	margin-top: 5px;
}

.block-services{
	background-color: var(--colour-2);
	padding-top: 50px;
}

.services-description{
	margin-top: 20px;
}

.subheader{
	margin-top: 0;
}

.block-project{
	margin-top: 40px;
	margin-bottom: 0px;
	flex-wrap: wrap;
}

.block-banners{
	max-width: 1000px;
}

.block-banner{
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 10px;
}

.block-video{
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 10px;
	width: 100%;
}

.banner-container-300x250{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 298px;
	height: 248px;
	border-radius: var(--border-radius-1);
	overflow: hidden;
}

.banner-container-300x600{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 298px;
	height: 598px;
	border-radius: var(--border-radius-1);
	overflow: hidden;
}

.video-container-full-width{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	border-radius: var(--border-radius-1);
	overflow: hidden;
}

.video-container-half-width{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50%;
	border-radius: var(--border-radius-1);
	overflow: hidden;
}

.video-container-300{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	height: 533px;
	border-radius: var(--border-radius-1);
	overflow: hidden;
	margin: 0 10px;
}

.video{
	width: 100%;
}

.column{
	flex-direction: column;
}

/*half-page-containers*/

.half-page-container{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 40px;
}

.half-page-content-container{
	width: 47.5%;
	background-color: var(--colour-1);
	border-radius: var(--border-radius-2);
	min-height: 320px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.half-page-content{
	margin: 10% 10%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.half-page-content h2{
	color: var(--colour-4);
	margin-top: 0;
}

.half-page-content h3{
	color: var(--colour-3);
}

/*quarter-page-containers*/

.quarter-page-container{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 40px;
}

.quarter-page-content-container{
	width: 24%;
	background-color: var(--colour-1);
	border-radius: var(--border-radius-2);
	min-height: 240px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.quarter-page-content{
	margin: 10% 10%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.quarter-page-content h2{
	color: var(--colour-4);
	margin-top: 0;
}

/*nav*/

#nav-block{
	background-color: var(--colour-2);
	margin: 0;
	padding: 0;
}

#nav{
	/*position: fixed;*/
	width: 90%;
	margin: 30px 5% 0;
	height: 60px;
	border-radius: var(--border-radius-1);
	background-color: var(--colour-1);
	color: var(--colour-4);
	font-weight: 900;
	display: flex; /*To position the menu items vertically centred in the nav bar*/
}

#nav a{
	color: var(--colour-4);
}

#nav a:hover{
	text-decoration: underline;
}

#nav-menu{
	width: 90%;
	margin: auto 5%;
}

#nav-menu-items{
	display: flex;
	justify-content: flex-end; /*Positions to the end (right) of the container*/
	align-items: center;
}

.nav-menu-item{
	margin-left: 30px;
}

/*thumbnails*/

#home-thumbs .thumb{
	overflow: hidden;
	border-radius: var(--border-radius-2);
	background-color: var(--colour-1);
}

#home-thumbs .thumb{
	width: 20%;
	margin: 5px;
}

.thumb-content{
    position: relative;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.thumb-img{
    width: 100%;
    height: 100%;
	transform: scale(1.1);
	cursor: pointer;
	transition: var(--transition-duration-2);
}

.thumb-img:hover{
	opacity:0;
	transform: scale(1.4);
}

.thumb-info{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}

.thumb-text {
    margin: auto;
    text-align: center;
    color: var(--colour-4);
}

.thumb-project{
	font-weight: 900;
	font-size: 14px;
}

/*home hero*/

#home-hero{
	background-color: var(--colour-2);
}

#home-hero-inner{
	display: flex;
	align-items: center;
	justify-content: center;
}

#home-hero-reel-container{
	display: flex;
	align-content: center;
	justify-content: center;
	width: 432px;
	height: 540px;
	border-radius: var(--border-radius-2);
	overflow: hidden;
	margin-right: 2.5%;
}

#home-hero-reel{
	height: 100%;
}

#home-hero-text{
	margin-left: 2.5%;
	text-align: left;
}

#home-hero-text h3{
	margin-top: 25px;
}

/*home case studies*/

#home-case-studies{
	background-color: var(--colour-3);
}

#home-thumbs{
	margin: 40px 0;
	justify-content: space-between;
}

/*home services*/

#home-services{
	background-color: var(--colour-2);
}

/*home who*/

#home-who{
	background-color: var(--colour-3);
}

#home-who h3{
	color: var(--colour-4);
}

#home-who .half-page-content h3{
	color: var(--colour-3);
}

/*home why*/

#home-why{
	background-color: var(--colour-2);
}

/*home about*/

#home-about{
	background-color: var(--colour-3);
}

#home-about-img-container{
	width: 100%;
	height: 400px;
	border-radius: var(--border-radius-2);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-bottom: 60px;
}

#home-about-img{
	width: 140%;
}

#home-about h3{
	color: var(--colour-4);
}

/*home clients*/

#home-clients{
	background-color: var(--colour-2);
}

/*footer*/

#footer{
	width: 90%;
	margin: 40px 5%;
	background-color: var(--colour-1);
	border-radius: var(--border-radius-2);
}

#footer-content{
	width: 90%;
	margin: 10% 5%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#footer h1{
	color: var(--colour-4);
}

#footer-menu{
	margin: 40px 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer-menu-item{
	margin: 10px;
}

.footer-menu-item a{
	color: var(--colour-4);
}

.footer-menu-item a:hover{
	text-decoration: underline;
}

@media only screen and (max-width: 1080px) {
	
	:root {
		--block-padding-top: 60px;
		--block-padding-bottom: 80px;
	}
	
	#home-hero-inner{
		flex-direction: column-reverse;
	}
	
	#home-hero-text{
		text-align: center;
		margin-left: 0;
		margin-bottom: 40px;
	}
	
	#home-hero-reel-container{
		margin-right: 0;
	}
	
	#home-hero-text h3{
		margin-top: 10px;
	}
	
	#home-thumbs{
		flex-wrap: wrap;	
	}
	
	#home-thumbs .thumb{
		width: 32%;
	}
	
	.thumb-project{
		font-size: 18px;
	}
	
	.quarter-page-container{
		flex-direction: column;
	}
	
	.quarter-page-content-container{
		width: 100%;
		margin: 5px 0;
		min-height: 80px;
	}
	
	.quarter-page-content{
		margin: 5% 10%;
	}
	
	.block-video-portrait{
		flex-direction: column;
	}
	
	.video-container-300{
		margin: 10px 0;
	}
	
}

@media only screen and (max-width: 900px) {
	
	#home-about-img-container{
		height: 240px;
	}
	
}

@media only screen and (max-width: 840px) {
	
	#home-thumbs .thumb{
		width: 48%;
	}
	
	.thumb-project{
		font-size: 20px;
	}
	
}

@media only screen and (max-width: 720px) {
	
	.half-page-container{
		flex-direction: column;
	}
	
	.half-page-content-container{
		width: 100%;
		margin: 5px 0;
	}
	
	.half-page-content{
		margin: 5% 10%;
	}
	
	#nav-menu-items{
        justify-content: center;
    }
	
	.nav-menu-item{
		margin-left: 15px;
		margin-right: 15px;
	}
	
}

@media only screen and (max-width: 560px) {
	
	:root {
		--block-padding-top: 50px;
		--block-padding-bottom: 70px;
	}
	
	#home-hero-reel-container{
		width: 360px;
		height: 450px;
	}
	
	#home-thumbs{
		justify-content: center;
	}
	
	#home-thumbs .thumb{
		width: 51%;
		margin: 5px 0;
	}
	
	#home-about-img-container{
		height: 140px;
	}
	
	.quarter-page-content{
		margin: 10% 10%;
	}
	
	h1{
		font-size: 60px;
		line-height: 60px;
	}
	
	.nav-menu-item, .footer-menu-item{
		font-size: 18px;
		margin: 0 10px;
	}
}

@media only screen and (max-width: 420px) {
	
	#home-hero-reel-container{
		width: 308px;
		height: 385px;
	}
	
	#home-thumbs .thumb{
		width: 100%;
	}
	
	.thumb-project{
		font-size: 24px;
	}
	
	h1{
		font-size: 45px;
		line-height: 45px;
	}
	
	.nav-menu-item, .footer-menu-item{
		font-size: 16px;
	}
	
}
