body {
	height: 100%;
	background: #fff;
	color: #3c3c3b;
	font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, sans-serif;
	line-height: 1.2;
}

body.dark {
	background: #000;
}

::-moz-selection { /* Code for Firefox */
    color: red;
    background: yellow;
}

::selection {
    color: #3c3c3b; 
    background: #72c9cb; /* #ffe600 */
}

/* -- General Type ---------------- */
p {
	font-size: 20px;
	margin-top: 10px;
	margin-bottom: 10px;
}

h1 {
	font-weight: normal;
	font-size: 60px;
	text-transform: uppercase;
	font-family: "HelveticaNeue-Light", "Helvetica Neue Light", Helvetica, sans-serif;
	line-height: 1.1em;
}

h2 {
	font-weight: normal;
	font-size: 20px;
	text-transform: uppercase;
	margin-top:0;
}

u {
	text-decoration: none;
}

a {
	text-decoration: none;
	color: #3c3c3b;
}

a:hover {
	text-decoration: none;
	opacity:0.8;
}

a u {
	display: inline-block;
	position: relative;
	text-transform: uppercase;
}

a u:after {
	content: " ";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	border: 1px solid #3c3c3b;
}

strong {
	font-weight: normal;
}

.social-icons {
	font-size: 0px;
}

.social-icons
a {
	font-size: 20px;
	padding-left: 10px;
	line-height: 1.75em;
}

.pagination {
	text-align: center;
}

.credits {}

.footer-details span {float:right;}


.grid-item-caption,.grid-item-caption a {
	color:#fff;
}

.grid-item-caption a:hover {
	color: rgba(255, 255, 255, 0.5);
	transition:all 0.3s ease;
}


/* navigation */

/* hide call and find links from desktops */
.small-nav {display:none;}

.current-menu-item {
	text-decoration: underline;
}

.social-nav {
	margin-left:-10px;
}

[data-app]
> [data-view-controller]
> [data-view] {
	min-height: 100%;
	padding: 0px 0px 90px 0px; /* <--- with padding calculated */
}

[data-component] {

}

/* --- Default Content Block --- */
[data-component="block-content"] {
    margin-bottom: 20px;
}

/* --- Component Top Block --- */
[data-component="logo-block"] {
	padding-bottom: 120px;
	margin-bottom: 30px;
}

[data-component="logo-block"]
> [data-component-inner] {
	background: #ddd;
	margin-left: 0px;
	margin-right: 0px;
}

[data-component="logo-block"]
.logo.rotate {
	position: absolute;
	bottom: -96px;
	/* account for 4px...24px */
	left: -96px;
	z-index: 99;
}


/* --- Component Block Text --- */
[data-component="block-text"] {
	color: #3c3c3b;
	margin-bottom: 20px;
}

[data-component="block-text"]
> [data-component-inner] {
	padding: 30px 60px;
}

[data-component="block-text"] 
a {
	color: #3c3c3b;
}

[data-component="block-text"].yellow
> [data-component-inner] {
	background: #FFEA00;
}

[data-component="block-text"].blue
> [data-component-inner] {
	background: #72c9cb;
}


[data-component="block-text"].yellow a, h2 > a, [data-component="column"] a {
	border-bottom: 2px solid #3c3c3b;
	padding-bottom:3px;
}

[data-component="block-text"].yellow a:hover, h2 > a:hover, [data-component="column"] a:hover {
	border-bottom: none;
	opacity:1;
}



[data-component="block-text"]
h1 {
	text-align: center;
}

[data-component="block-text"]
h2 {
	text-align: center;
}
/* --- Component Block Image --- */

img.block-image {width:100%; height: auto; display:block; padding:10px;}


/* --- Component Google Map --- */
[data-component="google-map"] {
	margin-bottom: 20px;
}

[data-component="google-map"]
#map-container {
	width: 100%;
	height: 100%;
	background: #72c9cb;
}

[data-component="google-map"]
.blue-screen {
	pointer-events: none;
	z-index: 1;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	opacity: 1;
}

[data-component="google-map"]
.google-maps-marker {
	z-index: 2;
}


/* --- Component Grid --- */
[data-component="grid"] {
	margin-bottom: 20px;
}

[data-component="grid"]
> [data-component-inner] {
	margin: 0px 10px;
}

[data-component="grid-item"] {
	float: left;
}

[data-component="grid-item"]
> [data-component-inner] {
	padding: 0px;
	margin: 0px 10px 20px;
	background: #222;
}

[data-component="grid-item"]
.grid-item-image {
	position: absolute;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

[data-component="grid-item"]
.grid-item-image
img {
	display: block;
	width: 100%;
	opacity: 1; /* SONKE :-) */
}
	
	
[data-component="grid-item"]
.grid-item-caption {
	/*#ddd*/
	background: none;

	position: absolute;
	right: 0px;
	bottom: 0px;
	padding: 20px;
	text-align: right;
}


[data-component="grid-item"]
.grid-item-caption strong,
[data-component="grid-item"]
.grid-item-caption span,
[data-component="grid-item"]
.grid-item-caption small,
/* Same for fresco */
.fr-caption strong,
.fr-caption span,
.fr-caption small {
	font-size: 15px;
	line-height: 1.2em;
	display: block;
}

[data-component="grid-item"]
.grid-item-caption strong,
/* Same for fresco */
.fr-caption strong {
	text-transform: uppercase;
}

.fr-caption {
	text-transform: none;
	text-align: right;
}

/* Same for fresco */
.video-caption strong,
.video-caption span,
.video-caption small

{
	font-size: 20px;
	display: block;
}

[data-component="grid-item"]
.grid-item-caption strong,

/* Same for fresco */
.video-caption strong {
	text-transform: uppercase;
}

.video-caption {
	text-transform: none;
	text-align: left;
	padding:10px;
}

/* -- Directors Grid Item ---------------- */

[data-component="grid"].directors
[data-component="grid-item"]
a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	color: #3c3c3b;
}

[data-component="grid"].directors
[data-component="grid-item"]
.grid-item-caption {
	background: none;

	position: absolute;
	right: auto;
	left: 0px;
	bottom: 0px;
	padding: 20px;
	text-align: left;
}

[data-component="grid"] img {

width: 100%;
height:  auto;
}
/* --- Component Columns --- */

[data-component="columns"] {

}

[data-component="columns"]
> [data-component-inner] {
	margin: 0px 10px;
}


[data-component="column"] {
	float: left;
}

[data-component="column"]
> [data-component-inner] {
	padding: 0px;
	margin: 0px 10px 20px;
}

[data-component="column"]
a {
	color: #3c3c3b;
}

[data-component="column"]
p {
	margin: 0px 0px 20px;
}



/* --- Component iFrame --- */
[data-component="vimeo-video"] {

}

[data-component="vimeo-video"]
iframe {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
}

[data-component="vimeo-player-modal"] {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: #3c3c3b;
	z-index: 5;
}

[data-component="vimeo-player-modal"]
> [data-component-inner]{
	margin: 0 auto;
	max-width: 640px;
	width: 100%;
}

[data-component="vimeo-player-modal"]
.vimeo-player-close-button {
	position: absolute;
	top: 0px;
	right: 0px;
	width: 30px;
	height: 30px;
	background: #fff;
}

[data-component="vimeo-player-modal"]
iframe {
	width: 100%;
}


/* -- Header ---------------- */
[data-view-controller="header"] {
	position: fixed;
	width: 100%;
	z-index: 3;
	pointer-events: none;
}

[data-view-controller="header"] 
> [data-view] { 
	max-width: 1400px;
	margin: 0 auto;
	padding: 24px;
}

[data-view-controller="header"] 
> [data-view]
.white-screen { 
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	height: 120px;
	width: 100%;
	background: #fff;
	z-index: -1;
}

.dark
[data-view-controller="header"] 
> [data-view]
.white-screen {
	background: #000;
}

[data-view-controller="header"] 
.menu-button {
	float: left;
	background: #000;
	position: relative;
	width: 30px;
/*	width: 40px; */
	height: 40px;
	pointer-events: auto;
	z-index: 3;
	background: none !important;
}

/* Nav Toggle */
 
#nav-toggle {
  background: transparent;
  position: absolute;
  right: 0;
  top: 50%;
  height: 30px;
  width: 30px;
  cursor: pointer;
  transform: translate(0%, -50%);
}

#nav-toggle
.loader {
  	pointer-events: none;
	display: block;
	width: 28px;
	height: 28px;
	border-radius: 100%;
	margin: auto;
	position: absolute;
	z-index: 2;
	left: 1px;
	top: 1px;
	margin: auto;
  	opacity: 0;

	border: 2px solid transparent;
	border-bottom-color: #3c3c3b;
	border-top-color: #3c3c3b;
	-moz-animation: rotate 1s linear 0s infinite;
	-webkit-animation: rotate 1s linear 0s infinite;
	animation: rotate 1s linear 0s infinite;
  	-moz-kit-transition: .5s opacity;
  	-web-kit-transition: .5s opacity;
  	transition: .5s opacity;

}
@-webkit-keyframes rotate {
	from {
		-moz-transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	to {
		-moz-transform: rotate(360deg);
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@media only screen and (max-width: 768px) {
	#nav-toggle
	.loader {
		width: 18px;
		height: 18px;
		top: 7px;
	}
}

#nav-toggle span,
#nav-toggle span:before,
#nav-toggle span:after {
	z-index: 1;
	cursor: pointer;
	border-radius: 1px;
	height: 2px;
	width: 100%;
	background: #3c3c3b;
	position: absolute;
	left: 0;
	top: 50%;
	display: block;
	content: '';
}

#nav-toggle span:before {
	top: -10px;
}

#nav-toggle span:after {
	top: 10px;
}

#nav-toggle span,
#nav-toggle span:before,
#nav-toggle span:after {
	-moz-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.menu-button.open
#nav-toggle span {
 	background-color: transparent;
}

.menu-button.open
#nav-toggle span:before,
.menu-button.open
#nav-toggle span:after {
	top: 0;
}

.menu-button.open
#nav-toggle span:before {
	-moz-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

.menu-button.open
#nav-toggle span:after {
	-moz-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

.menu-button.loading
#nav-toggle
.loader {
  	opacity: 1;
}

.menu-button.loading
#nav-toggle
span {
  	opacity: 0;
}


[data-view-controller="header"] 
.logo {
	float: right;
}

.logo {
    position: relative;
    display: block;
    max-width: 292px;
    width: 100%;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.logo a {
	position: absolute;
	width: 100%;
	height: 0px;
	top: 0px;
	left: 0px;
	padding-bottom: 26%;
	pointer-events: auto;
	z-index: 2;
}

.logo span {
	position: relative;
    display: block;
    width: 100%;
    height: 0px;
    padding-bottom: 59.993%;
    background: url("../img/logo.svg");
	z-index: 1;
}

.logo.rotate span {
	position: relative;
    display: block;
    width: 100%;
    height: 0px;
    padding-bottom: 59.993%;
    background: url("../img/logo-180.svg");
}

.logo.rotate a {
	position: absolute;
	width: 100%;
	height: 0px;
	top: auto;
	bottom: 0px;
	left: auto;
	right: 0px;
	padding-bottom: 26%;
	pointer-events: auto;
}

.dark
#nav-toggle,
.dark
#nav-toggle * {
	filter: invert(100%);
	-moz-filter: invert(100%);
	-webkit-filter: invert(100%);
}


/* -- Side Nav ---------------- */

[data-view-controller="side-menu"] {
	/*display: none;*/
	position: fixed;
	top: 0px;
	left: auto !important;
	left: 0px;
	height: 100%;
	width: 300px;
	max-width: 300px;
	background: rgba(255,255,255,0.9);
	z-index: 2;
	color: #3c3c3b;
	pointer-events: auto;
	overflow: hidden;
}

.dark
[data-view-controller="side-menu"] {
	background: rgba(0,0,0,0.9);
}

[data-view-controller="side-menu"]
> [data-view] {
padding: 70px 15px 70px 0;
}

[data-view-controller="side-menu"]
a {
	color: #3c3c3b;
}

[data-view-controller="side-menu"]
ul {
	font-size: 20px;
}

[data-view-controller="side-menu"]
ul li {
	margin: 20px 0px;
}

[data-view-controller="side-menu"]
.small-nav li {
	margin: 10px 0px;
}




/* -- Main ---------------- */
[data-view-controller="main"] {
	z-index: 1;
}

[data-view-controller="main"]
> [data-view] {
	/* 90 70 30 */
	padding: 120px 100px 30px;
	max-width: 1400px;
	margin: 0 auto;
}


[data-component="splash"]
> [data-component-inner] {
	padding-left: 0px;
	pading-right: 0px;
}

/* Splash */

[data-component="block-text"].down-arrow {
	position: absolute;
	bottom: -120px;
	width: 100%;
}
[data-component="block-text"].down-arrow
> [data-component-inner] {
	padding-top: 0px;
	padding-bottom: 0px;
}

[data-component="block-text"].down-arrow
p {
	position: relative;
}

[data-component="block-text"].down-arrow
a {
	height: 44px;
	display: block;
	background: url(../img/fg-down-arrow.svg) no-repeat center center;
	background-size: 100% 100%;
	height: 100%;
	width: 44px;
	height: 44px;
	margin: 0px auto;
}


/* -- Footer ---------------- */

[data-view-controller="footer"] {
	position: absolute;
	width: 100%;
	bottom: 0px;
	height: 120px;
	color: #3c3c3b;
}

[data-view-controller="footer"]
> [data-view] {
	/* 90 or 95px ? */
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 90px;
}

[data-view-controller="footer"]
.logo.rotate {
	position: absolute;
	bottom: 0px;
	left: 24px;
	z-index: 999;
}

[data-view-controller="footer"]
.footer-details {
	font-size: 15px;
	height: 40px;
	float: right;
}


/*
		* jQuery FlexSlider v2.6.0
		* http://www.woothemes.com/flexslider/
		*
		* Copyright 2012 WooThemes
		* Free to use under the GPLv2 and later license.
		* http://www.gnu.org/licenses/gpl-2.0.html
		*
		* Contributing author: Tyler Smith (@mbmufffin)
		*
		*/
		/* ====================================================================================================================
		* FONT-FACE
		* ====================================================================================================================*/
		@font-face {
			font-family: 'flexslider-icon';
			src: url('fonts/flexslider-icon.eot');
			src: url('fonts/flexslider-icon.eot?#iefix') format('embedded-opentype'), url('fonts/flexslider-icon.woff') format('woff'), url('fonts/flexslider-icon.ttf') format('truetype'), url('fonts/flexslider-icon.svg#flexslider-icon') format('svg');
			font-weight: normal;
			font-style: normal;
		}
		/* ====================================================================================================================
		* RESETS
		* ====================================================================================================================*/
		.flex-container a:hover,
		.flex-slider a:hover {
			outline: none;
		}
		.slides,
		.slides > li,
		.flex-control-nav,
		.flex-direction-nav {
			margin: 0;
			padding: 0;
			list-style: none;
		}
		.flex-pauseplay span {
			text-transform: capitalize;
		}
		/* ====================================================================================================================
		* BASE STYLES
		* ====================================================================================================================*/
		.flexslider {
			margin: 0;
			padding: 0;
		}
		.flexslider .slides > li {
			display: none;
			-webkit-backface-visibility: hidden;
		}
		.flexslider .slides img {
			width: 100%;
			display: block;
		}
		.flexslider .slides:after {
			content: "\0020";
			display: block;
			clear: both;
			visibility: hidden;
			line-height: 0;
			height: 0;
		}
		html[xmlns] .flexslider .slides {
			display: block;
		}
		* html .flexslider .slides {
			height: 1%;
		}
		.no-js .flexslider .slides > li:first-child {
			display: block;
		}

		.flex-control-paging li a {
			width: 11px;
			height: 11px;
			display: block;
			background: #666;
			background: rgba(255, 255, 255, 0.2);
			cursor: pointer;
			text-indent: -9999px;
			-webkit-box-shadow: inset 0 0 3px rgba(255, 255, 255, 0.3);
			-moz-box-shadow: inset 0 0 3px rgba(255, 255, 255, 0.3);
			-o-box-shadow: inset 0 0 3px rgba(255, 255, 255, 0.3);
			box-shadow: inset 0 0 3px rgba(255, 255, 255, 0.3);
			-webkit-border-radius: 20px;
			-moz-border-radius: 20px;
			border-radius: 20px;
		}

		.flex-control-paging li a:hover {
			background: #333;
			background: rgba(255, 255, 255, 0.7);
		}
		.flex-control-paging li a.flex-active {
			background: #000;
			background: rgba(255, 255, 255, 0.9);
			cursor: default;
		}




		.slider {
			position: absolute;
			width: 100%;
			height: 100%;
			overflow: hidden;
		}
		.slider ul {
			margin: 0px;
			position: absolute;
			width: 100%;
			height: 100%;
		}
		.slider ul li {
			/* fade transition */
			position: absolute;
			width: 100%;
			height: 100%;
			overflow: hidden;
		}
		.slider ul li a {
			display: block;
			height: 100%;
			width: 100%;
			background: #000;
			position: absolute;
		}
		.slider ul li img {
			width: 100%;
			display: block;
			position: absolute;
		}
		.slider ol {
			font-size: 0px;
			text-align: center;
			z-index: 2;
		}
		.slider ol li {
			display: inline-block;
			font-size: 20px;
			margin: 0px 10px;
		}
		.slider .flex-control-nav {
			position: absolute;
			width: 100%;
			bottom: 15px;
			left: 0px;
		}
		.slides {
			position: relative;
		}


/* THIS IS IT */
		.this_is_it {
			padding-left: 20px;
			padding-right: 20px;
		}
		.this_is_it .slider {
			position: relative;
		}
		.this_is_it .slider ul {
			position: relative;
		}
		.this_is_it .slider ul li {
			position: relative;

		}
		.this_is_it .slider ul li img {
			position: relative;
		}

/* Instagram */

		.insta-feed.container { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; margin:0;padding:0;}
		
		.cf:after {
			clear: both;
			content: " ";
			display: block;
		}

		/* Insta
		----------------------------------------------- */
			
			.insta-feed.container {
				width:100%;
				height:100%;
        		padding: 0;
        		position: relative;
        		padding-bottom:40px;
             
			}
      
     		 .insta.container h2 {
               
              text-transform: uppercase; 
             }
			#insta-feed{
				overflow-x: hidden;
				width:100%;
				height:100%;
			}
			
			#insta-feed div{
				width:33.33%;
				float:left;
			}
			#insta-feed div a{
				display: block;
				width:100%;
				height:100%;
				border:0;
			}
			#insta-feed div a img{
				width:100%;
				height:100%;
				vertical-align: bottom;
				overflow: hidden;
				padding: 25px;
				
			}
			
			
			#insta-nav	{
				text-align:center;
				background: #000;
				opacity: 0.8;
				color: #fff;
				cursor: pointer;
				padding: 16px;
				margin:25px;position: absolute;bottom:5px;right:0;
			}
            #insta-nav img{
        		width: 50px;
				height: auto;
				margin: 0 0 10px;
            }
            #insta-nav p {
            	margin:0; 
             
            }
	
		/* Responsive Structure
		----------------------------------------------- */

		@media all and (max-width:1020px) {
			#insta-feed div{
				width:33.33%;
			}
			
			#insta-feed div a img{
				padding: 10px;
				
			}
		}
		@media all and (max-width:768px) {
			#insta-feed div{
				width:33.33%;
			}
		}
		@media all and (max-width:640px) {
		width:100%;

		}



/* media queries */
@media only screen and (max-width: 1440px) {

[data-view-controller="header"]
> [data-view] {
	max-width: 1180px;
}
[data-view-controller="main"]
> [data-view] {
	max-width: 1180px;
}
[data-view-controller="footer"]
> [data-view] {
	max-width: 1180px;
}


}


@media only screen and (max-width: 1224px) {

[data-view-controller="header"]
> [data-view] {
	max-width: 1024px;
}
[data-view-controller="main"]
> [data-view] {
	max-width: 1024px;
}
[data-view-controller="footer"]
> [data-view] {
	max-width: 1024px;
}

}


@media only screen and (max-width: 960px) {

	p {
	font-size: 16px;
	}

	h1 {
	font-size: 32px;

	}

	h2 {
	font-size: 16px;
	}
}


@media only screen and (max-width: 768px) {

	[data-span="50"] {
	width: 100%;
	
	} 
	
	[data-component="logo-block"] {padding-bottom: 45px; margin: 20px 0;}
	div.down-arrow {display:none;}
	
	p {
	font-size: 14px;
	}

	h1 {
	font-size: 24px;

	}

	h2 {
	font-size: 14px;
	}
	
	.logo {
	max-width:160px;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;

	}
	
	[data-view-controller="header"] > [data-view] 
	{padding: 10px;}

	[data-view-controller="header"] > [data-view] .white-screen {
	height: 50px;
	}

	[data-component="block-text"] {
	padding: 30px 0 0;
	}
	
	#nav-toggle span:before {top: -6px;}
	#nav-toggle span:after {top: 6px;}
	#nav-toggle span, #nav-toggle span:before, #nav-toggle span:after {width: 18px;}
	[data-view-controller="header"] .menu-button {height: 25px; width:35px;}
	[data-view-controller="side-menu"] > [data-view] {padding: 30px 0;}
	[data-view-controller="main"] > [data-view] {
		padding: 20px 25px 30px;
	}
	[data-view-controller="footer"] > [data-view]  {padding: 0 25px;}
	[data-view-controller="footer"] .footer-details {font-size: 11px;height: 40px;}
	[data-component="grid-item"] .grid-item-caption strong, [data-component="grid-item"] .grid-item-caption span, [data-component="grid-item"] .grid-item-caption small {font-size: 14px;}
	[data-component="grid-item"] .grid-item-caption {padding:10px;}

[data-component="logo-block"]
.logo.rotate {
	position: absolute;
	bottom: -33px;
	/* account for 4px...24px */
	left: -33px;
}
[data-view-controller="footer"]
.logo.rotate {
	bottom: -46px;
	left: 10px;
}

[data-component="block-text"].yellow a, h2 > a {border-bottom: 1px solid #3c3c3b;}

}

.credits {}

[data-component="google-map"] {
	margin: 30px 0 20px;
}


/* 2021 updates */

.hero-description {
	position: absolute;
	z-index: 2;
	bottom: 0;
	width: 100%;
	text-align: right;
	color: #fff;
	padding: 40px 20px;
}

.home footer .logo, .home-2 footer .logo {
	display:  none;
}

