/* COLOURS */

h1.text-white,h2.text-white,h3.text-white,h4.text-white,h5.text-white,h6.text-white,p.text-white,ul.text-white,ol.text-white{
	color: var(--white);
}

h1.text-primary,h2.text-primary,h3.text-primary,h4.text-primary,h5.text-primary,h6.text-primary,p.text-primary,ul.text-primary,ol.text-primary{
	color: var(--primary);
}

h1.text-primary-bright,h2.text-primary-bright,h3.text-primary-bright,h4.text-primary-bright,h5.text-primary-bright,h6.text-primary-bright,p.text-primary-bright,ul.text-primary-bright,ol.text-primary-bright{
	color: var(--primary-bright);
}

h1.text-primary-pale,h2.text-primary-pale,h3.text-primary-pale,h4.text-primary-pale,h5.text-primary-pale,h6.text-primary-pale,p.text-primary-pale,ul.text-primary-pale,ol.text-primary-pale{
	color: var(--primary-pale);
}

h1.text-dark,h2.text-dark,h3.text-dark,h4.text-dark,h5.text-dark,h6.text-dark,p.text-dark,ul.text-dark,ol.text-dark{
	color: var(--dark);
}

.text-primary a{
	color:var(--primary);
	border-bottom:1px solid var(--primary);
}

.text-primary a:hover{
	color:var(--dark);
	border-bottom:1px solid var(--dark);
}

.text-white a {
	color:var(--white);
	border-bottom:1px solid var(--white);
}

.text-white a:hover{
	color:var(--primary-pale);
}

.bg-white{
	background: var(--white);
}

.bg-dark{
	background: var(--dark);
}

.bg-primary{
	background: var(--primary);
}

.bg-primary-bright{
	background: var(--primary-bright);
}

.bg-primary-pale{
	background: var(--primary-pale);
}

.text-white{
	color:#fff;
}

/* MENU BUTTON */

.menu {
  position: fixed;
  bottom: 20px;
  right: 20px;
  height: 46px;
  width: 46px;
  display:none;
  z-index:3001;
  background:#fff;
  border-radius: 50%;
}

.menu span.text{
	display:none;
}

.menu-circle {
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  border-radius: 50%;
  transition: all 0.5s cubibezier(0.19, 1, 0.22, 1);
  z-index: 1000;
}

.menu:hover .menu-circle {
  transform: scale(1.4);
}

.menu.open .menu-circle {
  transform: scale(60);
}

.menu-link {
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1002;
	border-bottom: none;
}

.menu-icon {
	position: absolute;
  width: 20px;
  height: 14px;
  margin: auto;
  left: 0;
  top: 0;
  right: 0;
  bottom: 1px;
}

.menu-line {
  background-color: #333;
  height: 2px;
  width: 100%;
  border-radius: 2px;
  position: absolute;
  left: 0;
  transition: all 0.25s cubibezier(0.175, 0.885, 0.32, 1.275);
}

.menu-line-1 { top: 0; }

.menu-line-2 {
  top: 0;
  bottom: 0;
  margin: auto;
}

.menu-line-3 { bottom: 0; }

.menu.open .menu-line-1 {
  transform: translateY(7px) translateY(-50%) rotate(-135deg);
}

.menu.open .menu-line-2 {
  opacity: 0;
}

.menu.open .menu-line-3 {
  transform: translateY(-7px) translateY(50%) rotate(135deg);
}

@media screen and (max-width:990px){
	.menu{
		display:block;
	}
}

/* TEXT AND ELEMENT ALIGNMENT */

.text-right{
	text-align: right;
}

.inline li{
	display:inline-block;
}

.push-right{
	float:right;
}

/* HEADER */
.logo{
	height:80px;
	width:auto;
	max-width:100%;
	object-fit:contain;
}

.logo.hide{
	display:none;
}

nav ul li{
	line-height:80px;
	margin-left:1em;
	font-weight:700;
	position: relative;
}

nav ul li ul{
	display:none;
}

nav ul li:hover ul,nav ul li.hover ul,nav ul li:focus-within ul{
	display:block;
	position:absolute;
	background:var(--primary-pale);
	padding:0;
	width:200px;
	line-height:40px;
}

nav ul li ul li{
	line-height:40px;
	padding:0.3em;
	text-align: left;
}

nav ul.text-primary li a{
	border-bottom:none;
}

@media screen and (max-width:990px){
	nav{
		display:none;
		align-items: center;
		justify-content: center;
		min-height:100vh;
		background:#fff;
		width:100%;
		position:fixed;
		top:0px;
		z-index:2000;
		overflow:hidden;
		left:0px;
	}
	nav ul{
		position:fixed;
		top:0px;
		left:0px;
		height:auto;
		background:#fff;
		z-index:2000;
		width:100%;
		visibility: hidden;
		position: relative;
	}
	nav.open{
		visibility: visible;
		display:block;
	}
	nav.open ul{
		visibility: visible;
	}
	nav ul li{
		width:100%;
		margin:0;
		line-height:40px;
		text-align: center;
		display:table-cell;
		vertical-align: middle;
	}
	nav ul li:hover ul,nav ul li.hover ul{
		display:block;
		width:100%;
		text-align: center;
		position: relative;
	}
	nav ul li:hover ul li,nav ul li.hover ul li{
		text-align: center;
	}
}

/* CONTACT */

.contact h2{
	display:none;
}

.contact ul li{
	margin-left:1em;
}

.contact ul li a{
	border-bottom:none;
}

.contact ul li a span{
	display:none;
}

@media screen and (max-width:990px){
	.contact ul.push-right{
		text-align: center;
		float:none;
	}
}

@media screen and (max-width:580px){
	.contact ul li:first-child{
		display:none;
	}
	.contact ul li{
		margin:0 0.5em;
	}
}

/* HERO */
.hero{
	height:70vh;
	position: relative;
}

.hero .slider{
	width:100%;
	height:70vh;
	position:relative;
	z-index:0;
}

.hero .slider img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.hero.internal{
	height:auto;
}

.hero .row{
	background:url('../images/slider.svg') top center no-repeat;
	background-size:cover;
	position: absolute;
	z-index:1;
	bottom:0px;
	left:0px;
	width:100%;
	margin-left:0px;
	min-height:400px;
}

.hero .row.bottom-xs p{
	color:#fff;
}

.hero h2,.hero h1{
	text-align: center;
	font-size:6em;
	position:absolute;
	top:20vh;
	width:100%;
	padding:0 5%;
	text-align: center;
	z-index:1;
}

.hero.internal h1{
	top:0;
	margin:6rem 0;
	position:relative;
}

.hero.internal img{
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position: 50% 50%;
}

.links p a{
	border-bottom:none;
}

.links p{
	margin-bottom:0;
}

.links p:first-child{
	margin-bottom:1.15em;
}

.hero h2,.hero h1{
	text-shadow: 0px 0px 20px #333;
}

.awards p{
	margin:0px;
}

.awards p:first-child{
	margin-bottom:1.15em;
}

.awards img{
	height:80px;
	width:auto;
	object-fit:contain;
	object-position:0 0;
}

.hero .row.bottom-xs img{
	display:none;
}

h1.heading{
	font-size:3em;
	text-shadow: 0px 0px 20px #222;
	margin-bottom:0px;
}

@media screen and (max-width:1279px){
	.hero h2,.hero h1{
		font-size:4em;
	}
	h1.heading{
		font-size:2.6em;
	}
}

@media screen and (max-width:1120px){
	h1.heading{
		font-size:2.2em;
	}
}

@media screen and (max-width:990px){
	.hero h2,.hero h1{
		margin-top:2vh;
	}
	.hero,.o.hero .text-right{
		text-align: center;
	}
	.hero .awards p{
		display:none;
	}
	.hero .push-right{
		float:none;
		text-align: center;
	}
	.hero .row div img{
		margin:1em auto;
	}
	.heading{
		display:none;
	}
}

@media screen and (max-width:768px){
	.hero h2,.hero h1{
		font-size:3em;
	}
	.hero .row.bottom-xs img{
		display:block;
		max-width:120px;
		height:auto;
	}
	.awards{
		display:none;
	}
	.links, .links .text-right{
		text-align: center;
		min-width:100%;
	}
}

@media screen and (max-width:640px){
	.hero h2,.hero h1{
		font-size:3em;
	}
}

@media screen and (max-width:580px){
	.hero h2,.hero h1{
		top:10vh;
		font-size:2em;
	}
	.hero,.slider{
		height:60vh;
	}
	.hero .row{
		padding-top:100px;
	}
}

@media screen and (max-width:480){
	
}

/* QUOTE */
.quote-top{
	position:absolute;
	top:1em;
	left:1em;
}

.quote-bottom{
	position:absolute;
	bottom:1em;
	right:1em;
}

@media screen and (max-width:768px){
	.quote-slider img{
		display:none;
	}
}

/* SPLIT */

.split{
	overflow:hidden;
}

.split-image{
	position:relative;
	padding:0px;
}

.split-image img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.split-image p{
	position:absolute;
	text-align: right;
	bottom:1em;
	right:1em;
	max-width:60%;
	background:#fff;
	padding:0.3em;
	color:var(--primary);
}

.col-xs-12.col-md-6.split-text-wrap{
	padding:0;
}

.split-text-wrap .split-text{
	width:100%;
	margin:40px 0 40px 20%;
	z-index:1;
	position:relative;
}

@media screen and (max-width:1279px){
	.split-image p{
		display:none;
	}
}

@media screen and (max-width:990px){
	.split-text-wrap .split-text{
		width:100%;
		margin:0;
	}
	.split-text.box-shadow{
		box-shadow: none;
	}
}

@media screen and (max-width:580px){
	.split-image p{
		max-width:80%;
	}
}

/* CARD */
.card{
	display:grid;
	grid-template-columns: 40% 60%;
}

.card-image{

}

.card-image img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.card-text{
	background:rgba(255,255,255,0.8);
	padding:1em;
}

@media screen and (max-width:580px){
	.card{
		grid-template-columns: 1fr;
	}
}

/* SHADOW */
.box-shadow-light{
	box-shadow:0px 0px 20px #ccc;
}

.box-shadow-dark{
	box-shadow:0px 0px 20px #222;
}

/* BUTTONS */
a.button, nav > ul > li:last-child a,input[type=submit]{
	background: var(--primary);
	color: var(--white);
	font-weight:700;
	border-radius:20px;
	padding:0.5em 2em;
	border:none;
	cursor: pointer;
}

input[type=submit]:focus{
	background: var(--dark);
}

a.button:hover, nav > ul > li:last-child a:hover,input[type=submit]:hover{
	background: var(--primary-bright);
	color:#fff;
	border-bottom:none;
}

.bg-primary a.button{
	background: var(--white);
	color: var(--primary);
}


.bg-primary a.button:hover{
	background: var(--dark);
	color: var(--white);
}

/* POSTCARD */
.postcard{
	position: relative;
	margin-bottom:140px;
}

.postcard-text{
	width:60%;
	border-right:2px solid #eee;
}

.postcard-text h4{
	position:absolute;
	top:30px;
	right:40px;
	transform: rotate(2deg);
}

.postcard-image{
	width:300px;
	position:absolute;
	right:-30px;
	top:100px;
	transform: rotate(-3deg);
}

@media screen and (max-width:768px){
	.postcard-image{
		width:200px;
	}
}

@media screen and (max-width:640px){
	.postcard-text{
		width:100%;
		border-right:none;
	}
	.postcard-text h4{
		display:none;
	}
	.postcard-image{
		width:200px;
		bottom:-120px;
		right:40px;
		top:auto;
	}
}

@media screen and (max-width:580px){
	.postcard-image{
		width:120px;
		bottom:-60px;
		right:10px;
	}
	
}

/* GRID */

.grid img{
	max-height:80px;
	height:80px;
	width:100%;
	object-fit:contain;
	width:auto;
	display:block;
	margin:2em auto 0;
}

/* INSTAGRAM */
.instagram .row:nth-child(2) div{
	padding-top:2em;
}

@media screen and (max-width:990px){
	.instagram .col-sm-4:nth-child(7),.instagram .col-sm-4:nth-child(8){
		display:none;
	}
}

/* FOOTER */
footer a{
	color: var(--white);
}

footer i{
	font-size:6em;
	margin-right:20px;
}

footer a span{
	display:none;
}

@media screen and (max-width:990px){
	footer .text-right{
		text-align: left;
	}
}

/* DISPLAY GRID */

.display-grid{
	display:grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-column-gap: 2em;
	grid-row-gap: 2em;
}

.display-grid img{
	width:100%;
	height:100%;
	object-fit:cover;
	box-shadow:0px 0px 20px #ccc;
}

.display-grid img:first-child{
	grid-row:1 / 3;
}

.display-grid .card{
	grid-column: 2 / 4;
	grid-row:2;
}

@media screen and (max-width:990px){
	.display-grid{
		display:grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-column-gap: 2em;
		grid-row-gap: 2em;
	}
}

@media screen and (max-width:768px){
	.display-grid img:first-child{
		grid-row:1;
	}
	.display-grid .card{
		grid-column: 1 / 4;
	}
}