/***
 *      __  __              
 *     |  \/  |     ( )      
 *     | \  / | __ _ _ _ __  
 *     | |\/| |/ _` | | '_ \ 
 *     | |  | | (_| | | | | |
 *     |_|  |_|\__,_|_|_| |_|
 *                           
 *                           
 */
 
html {
	margin: 0;
	padding: 0;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

body {
	position: absolute;
	width: 100%;
	height: 100%;
}

html, body {
	max-width: 100%;
	overflow-x: hidden;
	-webkit-tap-highlight-color: transparent;
}

html.scrollable, 
html.scrollable body {
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

img {
	max-width: 100%;
	display: inline-block;

	&.round {
		border-radius: 999px;
	}

	&.rounded {
		border-radius: $rounded-border-radius;
	}
}

.slides {
	color: #fff;
	fill: #fff;
	font-family: $body-font;
	hyphens: none;
	background: #111;
	
	-webkit-font-smoothing: antialiased;
}

.slides.bodyWhite {
	background: #fff;
}

.slides.desktopSwipe {
  cursor: -webkit-grab;
}

.slides.desktopSwipe:active {
  cursor: -webkit-grabbing;
}

.slides.desktopSwipe .slide .container .wrap {
	cursor: inherit;
}


/* typography */
a {
	cursor: pointer;
	color: inherit;  
	text-decoration: none;
	transition: 0.35s;

	&.underline {
		text-decoration: underline;
	}
	
	&:hover {
		transition: 0.15s;
		opacity: 0.8;
	}
}

h1, .h1 {
	font-size: 42px;
	line-height: 1.285;
	font-weight: 300;
	margin-bottom: 20px;
	letter-spacing: -0.036em;

	&.big {
		font-size: 58px;
		line-height: 1;
		font-weight: 100;
	}

	&.huge {
		font-size: 64px;
		line-height: 1.218751;
		letter-spacing: -0.04em;
		margin-bottom: 40px;
		font-weight: 100;
	}

	&.small {
		font-size: 46px;
	}

	&.micro {
		font-size: 34px;
	}
}

h2, 
.h2 {
	font-size: 35px;
	line-height: 1.17;
	margin-bottom: 15px;
	font-weight:  400;

	&.uppercase {
		letter-spacing: 0.2em !important;
	}

	&.small {
		font-size: 28px;
	}

	&.micro {
		font-size: 19px;
	}

	&.huge {
		font-size: 42px;
	}
}

h3, 
.h3 {
	font-size: 20px;
	margin-bottom: 12px;
	font-weight:  400;

	&.large {
		font-size: 32px;
	}

	&.big {
		font-size: 24px;
	}

	&.small {
		font-size: 20px;
	}

	&.micro {
		font-size: 16px;
	}

	+ h1,
	+ .h1 {
		margin-top: 30px  
	}
}

h4, 
.h4 {
	font-size: 18px;
	margin-bottom: 10px;
}

h5, 
.h5 {
	font-size: 16px;
}

h6, 
.h6 {
	font-size: 14px;
}

//paragraph
p,
.p,
blockquote {
	font-size: 22px;
	line-height: 1.6363636364;
	margin-bottom: 30px;
	font-weight: 300;

	&.hero {
		font-size: 28px;
		line-height: 1.5;
		margin-bottom: 25px;
	}

	&.large {
		 font-size: 32px;
		 line-height: 1.4;  
	}

	&.small{
		font-size: 18px;
		line-height: 1.36;
		margin-bottom: 20px;
	}

	&.tiny {
		font-size: 16px;
		line-height: 1.625;
		margin-bottom: 12px;
		font-weight: 400;
	}

	&.micro {
		font-size: 14px;
		line-height: 1.5714;
		margin-bottom: 20px;
		margin-top: 2px;
	}
}

blockquote {
	padding-left: 2em;
	border-left: 2px solid;
}

small {
	font-size: 17px;
	line-height: 1.3;

	.small {
		font-size: 14px;
		line-height: 1.28;
	}  
}


 /* bullets */
.list {
	&.circle li {list-style-type: circle;}
	&.disc li {list-style-type: disc;}
	&.square li {list-style-type: square;}
}


@include media($tablet, max) {
	
	h1,
	.h1,
	h1.huge, 
	.h1.huge,
	h1.big, 
	.h1.big {
		font-size: 40px;
		margin-bottom: 20px;
	}

	p.hero {
		font-size: 22px;
	}
	
	h1.small,
	.h1.small {
		font-size: 32px;
	}
	
	.mobileCrop { margin: 0 !important;}
	.mobileCropBottom { margin-bottom: 0 !important;}
	.mobileCropTop { margin-top: 0 !important;}
	.mobileCropLeft { margin-left: 0 !important;}
	.mobileCropRight { margin-right: 0 !important;}
}

@include media(320px, max) {
	h1.huge, 
	.h1.huge,
	h1.big, 
	.h1.big {
		font-size: 32px;
	}
}

/* buttons */
.button {
	display: inline-block;
	border-radius: $default-border-radius;
	padding: 16px 24px 17px;
	color: #fff;
	border: none;
	outline: none;
	text-decoration: none;
	background: $default-button-color;
	font-size: 16px;
	font-weight: 500;
	text-align: center;
	vertical-align: top;
	cursor: pointer;
	overflow: hidden;
	backface-visibility: hidden;
	letter-spacing: normal!important;
	position: relative;
	white-space: nowrap;
	transform: translate3d(0, 0, 0);
	//box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
	box-shadow: $small-shadow;
	-webkit-appearance: none;
	margin-bottom: 10px;
	transition: 0.3s;
	user-select: none !important;

	.slide &,
	.popup & {
		margin-left: 5px;
		margin-right: 5px;

		&.small {
			margin-left: 4px;
			margin-right: 4px;
		}
	}

	&.wide {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.material-icons {
		vertical-align: bottom;
	  margin-top: -5px;
	  margin-bottom: -2px;
		margin-right: 8px;
		user-select: none !important;

		&.small {
			font-size: 18px;
			margin: 0px 6px 0px 0px;
		}

		&.right {
			margin-left: 11px;
			margin-right: 0px;
		}
	}
	
	svg {
		width: 22px;
		height: 22px;
		margin-top: -3px;
		top: 2px;
		vertical-align: bottom;
		margin-right: 14px;
		pointer-events: none !important;
		position: relative;
		
		* {
			pointer-events: none !important;
		}

		&.right {
			margin-right: 0;
			margin-left: 14px;
		}
	}
	
	&.actionButton {
		display: inline-block;
		height: 42px;
		width: 42px;
		padding: 12px;
		border-radius: 25px;
		z-index: 999;
		background: rgba(black,.3);
		line-height: 1;
		box-shadow: 0 0 0 1px rgba(255,255,255,0.05);
		cursor: pointer;
		-ms-touch-action: manipulation;
		touch-action: manipulation;
		vertical-align: top;

		svg {
			width: 18px;
			height: 18px;
		}

		.material-icons {
			margin: 0;
			position: relative;
			left: -3px;
			top: -3px;
			font-size: 24px;
		}

		&.big {
			width: 50px;
			height: 50px;
			padding: 16px;

			.material-icons {
				font-size: 24px;
			}

			svg {
				width: 22px;
				height: 22px;
				left: -2px;
				top: 0px;
			}
		}

		&.stroke {
			box-shadow:none;
			padding: 10px
		}
		
		&:hover:not(:active) {
			transform: translateY(0) !important;
		}

		&.rounded {
			border-radius: $rounded-border-radius;
		}

		svg,
		.slide.whiteSlide & svg {
			fill: #fff;
		}

		&.sound {
			[class*="sound-"] {
			  position: absolute;
			  opacity: 0;
			  transition: 0.5s;
			  left: 13px;
			  top: 16px;
			}

			&.stroke [class*="sound-"] {
			  left: 11px;
			  top: 14px;
			}
		}

		&.sound.playing .sound-on,
		&.sound:not(.playing) .sound-off {
		  opacity: 1;
		}

		&.transparent {
			background-color: transparent;
		}
	}
	
	&:hover {
		box-shadow: $medium-shadow;
		opacity: 1;
		transform: translateY(-2px) !important;
		transition: 0.35s !important;

		&:after {
			opacity: .5;
		}
	}

	&:active {
		box-shadow: 0 3px 6px 0 rgba(0,0,0,.1), 0 0px 10px 0 rgba(0,0,0,.1), 0 1px 4px -1px rgba(0,0,0,.1);
		transform: translateY(0px) !important;
		transition: 0.35s !important;

		&:after {
			opacity: 1;
		}
	}

	&.uppercase {
		font-size: 15px;
		font-weight: 700;
		padding-top: 17px;
		padding-bottom: 17px;
	}
	
	&.lowercase {
		text-transform: lowercase;
		letter-spacing: 0em;
		font-weight: 300;
	}
	
	&.round {
		border-radius: 99px;
	  padding-left: 28px;
	  padding-right: 28px;
	}
	
	&.rounded {
		 border-radius: $rounded-border-radius;
	}

	&.rectangular {
		border-radius: 1px;
	}

	&.square {
		border-radius: 0px;
	}
	
	&.stroke {
		color: $default-dark-color;
		border: 2px solid;
		background-color: transparent !important;
		padding: 14px 22px 15px;

		.slide.whiteSlide & {
			color: $default-dark-color;
		}

		&.round {
		  padding-left: 26px;
		  padding-right: 26px;
		}
		
		&.uppercase {
			padding-top: 15px;
			padding-bottom: 15px;
			
			svg {
				margin-bottom: -2px;
			}
			
			&.small {
				padding: 11px 15px;
			}
		}
			
		&.small {
			border: 1px solid;
			padding-top: 9px;
			padding-bottom: 9px;
		}

		@include media($phablet, min) {
			&.big {
				padding: 19px 30px;
			 
				&.uppercase {
					padding-top: 21px;
					padding-bottom: 21px;
				}
			}
		}
		
		&:not(.flat):hover {
			box-shadow: inset 0 -100px 0 rgba(41,41,41,0.05), 0 4px 6px 0 rgba(0,0,0,.1),0 1px 10px 0 rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.1);
		}
	}

	&.flat:not(:hover) {
		box-shadow: none;
	}
	
	&:not(.stroke) svg {
		fill: #fff;  
	}
	
	&.small {
		font-size: 15px;
		font-weight: 500;
		padding: 10px 16px 10px;

		.material-icons {
			vertical-align: bottom;
			position: relative;
			font-size: 20px;
			margin-right: 8px;
			bottom: 1px;

			&.right {
				margin-left: 8px;
				margin-right: 0px;
			}
		}
		
		svg {
			width: 18px;
			height: 18px;
			margin-right: 10px;
			top: 0px;

			&.right {
				margin-right: 0;
				margin-left: 10px;
			}
		}

		&.round {
			padding-left: 18px;
			padding-right: 18px; 
		}

		&.rounded {
			border-radius: $rounded-border-radius;
		}
		 
		&.uppercase {
			font-size: 12px;
			padding: 12px 16px;
			letter-spacing: 0.125em;
		
			&.round {
				padding-left: 19px;
				padding-right: 19px; 
			}
		}
	}
	
	@include media($phablet, min) {
		&.big {
			font-size: 20px;
			padding: 21px 32px 21px;

			&.round {
				padding-left: 36px;
				padding-right: 36px; 
			}

			&.rounded {
				border-radius: 7px;
			}
			 
			&.uppercase {
				font-size: 17px;
   			padding: 23px 32px;
			
				&.round {
					padding-left: 36px;
					padding-right: 36px; 
				}
			}

			.material-icons {
				vertical-align: bottom;
				margin-right: 16px;
				font-size: 30px;
			
				&.right {
					margin-left: 16px;
					margin-right: 0px;
				}
			}
			
			svg {
				width: 27px;
				height: 27px;
				margin-right: 16px;
				top: 1px;

				&.right {
					margin-right: 0;
					margin-left: 16px;
				}
			}
		}
	}

	&.empty {
		padding: 0 !important;
		background-color: transparent !important;
		font-size: 0 !important;
		margin: 0;
		box-shadow: none;
	}
	
	&.hollow {
		padding: 0 !important;
		background-color: transparent !important;
		font-size: 0 !important;
		box-shadow: none !important;

		svg {
			margin: 0;
		}
	}
	
	&.shade {
		position: relative;
		 
		&:after {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: #292929;
			opacity: 0;
			transition: 0.25s;
		}
		&:hover:after {
			 opacity: 0.15;
		}
		&:active:after {
			 opacity: 0.2;
		}
	}
	
	&.play {
		width: 90px;
		height: 90px;
		border-radius: 50%;
		padding: 27px;
		margin-left: 0px;
		margin-right: 0px;
		
		svg {
			fill: #fff;
			width: 35px;
			height: 36px;
			margin: 0;
		}
		
		&.small {
			width: 60px;
			height: 60px;
			border-radius: 50%;
			padding:  20px 19px;
			
			svg {
				fill: #fff;
				width:  23px;
				height:  23px;
			}
		}
		
		&:hover {
			transform: scale(1.05);  
		}
	}

	&.gradient {
		position: relative;

		&:before {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#000));
			background: linear-gradient(to bottom, #fff 0%, #000 100%);
			z-index: -1;
			opacity: 0.1;
		}
	}
}

.slide.whiteSlide .button.white:hover {
	box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.1), 0 1px 10px 0 rgba(0, 0, 0, 0.1);

	&:after {
		opacity: .3;
	}
	//box-shadow: 0 0 0 1px rgba(41,41,41,0) inset, inset 0 -100px 0 rgba(41, 41, 41, 0.06), 0 4px 6px 0 rgba(0, 0, 0, 0.1),0 1px 10px 0 rgba(0, 0, 0, 0.06),0 2px 4px -1px rgba(0, 0, 0, 0.18);
}

.roundButton {
	border-radius: 50px;
	height: 50px;
	width: 50px;
	padding: 14px;
	margin: 5px;
	
	svg {
		 bottom: 2px;
	}
}

@include media(320px, max) {
	.button.uppercase,
	.uppercase {
		letter-spacing: 0.07em;
	}
}

//UPPERCASE
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, h5,
p, .p,
.button {
	&.uppercase {
	  letter-spacing: 0.125em !important;
	  text-indent: -0.1em !important;
	  font-weight: 700 !important;
	}
}

/* stuff */
.material-icons {
	font-family:  'Material Icons';
	font-weight:  normal;
	font-style:  normal;
	font-size:  24px;  /* Preferred icon size */
	display:  inline-block;
	line-height:  1;
	text-transform:  none;
	letter-spacing:  normal;
	word-wrap:  normal;
	white-space:  nowrap;
	direction:  ltr;
	
	-webkit-font-smoothing:  antialiased;
	text-rendering:  optimizeLegibility;
	-moz-osx-font-smoothing:  grayscale;
	font-feature-settings:  'liga';

	&.md-18 { font-size: 18px; }
	&.md-24 { font-size: 24px; }
	&.md-36 { font-size: 36px; }
	&.md-48 { font-size: 48px; }
}

svg {
	//transition: 0.15s;
}

.slide.whiteSlide svg {
	 fill: $default-dark-color;
}

.svgContainer,
.embedContainer {
	position: relative;
	width: 100%;
	height: 0;
	padding: 0;
}

.svgContainer svg.scale,
.embedContainer .scale {
	position: absolute; 
	height: 100%; 
	width: 100%; 
	left: 0; 
	top: 0;
}

.dots { font-size: 0;}

.dot {
	padding: 7px;
	display: inline-block;

	&:after {
		content: "";
		display: inline-block;
		width: 6px;
		height: 6px;
		background: #fff;
		border-radius: 50%;
		opacity: 0.5;
		transition: 0.25s;
	}

	&.big .dot:after {
		width: 14px;
		height: 14px;  
	}
}

.slide.whiteSlide .dot:after {
	 background: $default-dark-color;  
}

.dot:hover:after {
	transform: scale(1.333333);
	opacity: 1;
}

.dot:active:after,
.dot.selected:after {
	opacity: 1;
	transform:scale(1.675);
}

.tabs {
	color: #fff;
	max-width: 260px;
	border-radius: 5px;

	li {
		padding: 16px 20px;
		letter-spacing: 2.5px;
		font-size: 12px;
		transition: 0.15s;
		margin-top: -1px;
		border: 1px solid rgba(255,255,255,0.3);


		&:not(:last-child) {
			border-bottom: 0;
		}

		&:first-child {
			border-radius: 4px 4px 0 0;  
		}

		&:last-child {
			border-radius: 0 0 4px 4px;  
		}

		&.selected {
			background: #fff;
			color: $default-dark-color;
		}
	}
}

.slide.whiteSlide .tabs li {
	border-color: #e5e5e5;
	color: $default-dark-color;

	&.selected {
		background: $default-dark-color;
		border-color: $default-dark-color;
		color: #fff;
	}
}

.links li {
	font-size: 17px;
	letter-spacing: 0;
	padding: 4px 0;
}


/* forms */
.slides-form {
	font-size: 0; 
	margin-top: -5px; 
	font-family: inherit;

	button {
		font-family: inherit;
	}
	
	textarea {
		max-height: 200px;
		max-width: 100%;
		min-height: 130px;
		
		&.d {
			border-radius: 15px !important;
		}
	}

	label, .label {
		display: block;
		font-size: 14px;
		margin-top: 12px;
		margin-bottom: 2px;

		&.uppercase {
			font-size: 14px;
		}
	}

	input[type="text"],
	input[type="name"],
	input[type="email"],
	input[type="password"],
	input[type="tel"],
	input[type="number"],
	textarea,
	select {
		font-family: inherit;
		background-color:  #fff;
		position:  relative;
		background: #fff;
		padding: 15px 16px 16px;
		border: none;
		font-size: 16px;
		color: #242424;
		outline: none;
		border-radius: $default-border-radius;
		width: 100%;
		
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		
		border: 1px solid rgba(0,0,0,0.1);
		transition: 0.15s;
		
		&.flat,
		&:focus {
			border-color: rgba(0,0,0,0.2);
		}

		&:hover {
			border-color: rgba(0,0,0,0.2);
		}

		&:focus {
			border-color: $blue;
			@include inputPlaceholder(#242424, 400, 0);
			z-index: 10;
		}

		&.round {
			border-radius:50px;
			padding-left: 22px;
			padding-right: 22px;
		}

		&.rounded {
			border-radius: $rounded-border-radius;
		}

		&:after {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background: #fff;
		}

		@include media($phablet, min) {
			& {
				max-width: 300px;
			}
		}

		@include inputPlaceholder(#242424, 400, 0.5);
	}

	textarea {
		font-weight: 400;


		&.round {
			border-radius:25px;
		}

	}

	select {
		background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="37" height="7"><path fill="#303030" d="M14.022 0l5.978 6 6-6z"	/></svg>');
		background-repeat: no-repeat;
  	background-position: right;
	  -webkit-appearance: none;
	  -moz-appearance: none;
	  appearance: none;
	}									  

	input[type="text"],
	input[type="name"],
	input[type="email"],
	input[type="password"],
	input[type="tel"],
	input[type="number"],
	input[type="submit"],
	button[type="submit"],
	select,
	textarea {
		margin: 5px;

		@include media($phablet + 1, max) {
			margin-left: auto !important;
			margin-right: auto !important;
			width: 100%;
			display: block !important;
		}
	}

	input[type="text"],
	input[type="name"],
	input[type="email"],
	input[type="password"],
	input[type="tel"],
	input[type="submit"],
	input[type="number"],
	button[type="submit"],
	select,
	textarea,
	label {
		&.wide {
			max-width: 100%;
			width: 100%;
			margin-left: 0 !important;
			margin-right: 0 !important;
		}
	}


	@include media($phablet + 1, min) {

		input.pair {
			width: 50% !important;
			max-width: 50% !important;
			border-top-right-radius: 0px !important;
			border-bottom-right-radius: 0px !important;
			margin-left: 0;
			margin-right: 0;

			+ .pair {
				border-top-left-radius: 0px !important;
				border-bottom-left-radius: 0px !important;
				border-top-right-radius: $default-border-radius !important;
				border-bottom-right-radius: $default-border-radius !important;
				width: calc(50% + 1px) !important;
				max-width: calc(50% + 1px) !important;
				margin-left: -1px;
			}
		}
	}
	
	&.center input,
	&.center textarea {
		text-align: center;
	}
}



/***
 *       _____ _       _          
 *      / ___/| ( )   | |         
 *     | (___ | |_  __| | ________
 *      \___ \| | |/ _` |/ , / __/
 *      ____) | | | (_| |  __\__ \
 *     /_____/|_|_|\__,_|\___/___/
 *                                
 *                                
 */
.slide {
	position: fixed;
	width: 100%;
	height: 100%;
	background: $default-dark-color;
	color: #fff;
	z-index: 10;
	overflow: hidden;

	&.active {
		transform-style: preserve-3d;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.mobile & {
		visibility: hidden;
		&.active {
			visibility: visible;
		}
	}

	&.whiteSlide {
		color: $default-dark-color;
		background: #fff;
	}
}

.content {
	overflow: hidden;
	position: absolute;
	backface-visibility: hidden;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100;
	-webkit-overflow-scrolling: touch;

	&.scrollBar {
		overflow-y: auto;
	}

	.windows .defaultScroll & {
		overflow: auto;
		overflow-x: hidden;
	}

	.mobile & {
		overflow: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
	}
}

/* Background Fade */
.fade .content { background: rgba(0,0,0,0.6); } /*default*/
.fade-1 .content { background: rgba(0,0,0,0.1); }
.fade-2 .content { background: rgba(0,0,0,0.2); }
.fade-3 .content { background: rgba(0,0,0,0.3); }
.fade-4 .content { background: rgba(0,0,0,0.4); }
.fade-5 .content { background: rgba(0,0,0,0.5); }
.fade-6 .content { background: rgba(0,0,0,0.6); }
.fade-7 .content { background: rgba(0,0,0,0.7); }
.fade-8 .content { background: rgba(0,0,0,0.8); }
.fade-9 .content { background: rgba(0,0,0,0.9); }

.whiteSlide[class*="fade"] .content { background: rgba(255,255,255,0.85); }

.container {
	display: table;
	table-layout: fixed;
	position: relative;
	width: 100%;
	height: 100%;

	.wrap {
		display: table-cell;
		text-align: center;
		vertical-align: middle;
		overflow:  hidden;

		&:not(.noSpaces),
		&.spaceWrap,
		.spaceWrap {
			padding: 120px calc(8% + 15px);
		}

		.overflowHidden {
			overflow: hidden;
		}

		* {
			-webkit-user-select: text;
			-moz-user-select: text;
			-ms-user-select: text;
			user-select: text; 
		}
	}
}
 
.slide .background,
.popup .background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center;
	background-size: cover;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.slide .background iframe,
.popup .background iframe {
	border: 0;
	position: absolute;
	top: 0;
	left: 0;
}

.slide:not(.youtube) .background iframe,
.popup:not(.youtube) .background iframe {
	width: 100%;
	height: 100%;
}

// Generate fixed Classes
// .fix-1-12 { max-width: 8.33333% !important; }
@for $i from 1 through 12 {
	$width: ($max-width / 12) * $i;

	.fix-#{$i}-12 {
		max-width: round($width) !important;
	}
}

[class*='fix-'] {
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	float: none;
}

.toLeft,
.toLeft[class*='fix-'] {
	margin-left: 0 !important;
	margin-right: auto !important;
}

.toRight,
.toRight[class*='fix-'] {
	margin-right: 0 !important;
	margin-left: auto !important;
	float: right;
}

.toCenter {
	margin-left: auto !important;
	margin-right: auto !important;
}

//.........
.popupTrigger,
.dropdownTrigger,
.sidebarTrigger {
	cursor: pointer;  
}

.shiftImage {
	margin-top: -15%;
	margin-bottom: -100%;
}

.shiftImageVertical {
	margin-right: -100%;
	max-width: none;
}



.slide.video .background {
	overflow: hidden;  
}

.slide.video .background video {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -100;
	transform: translateX(-50%) translateY(-50%);
	background-size: cover;
}

.slide.video .background video::-webkit-media-controls {
	display: none !important;
}

.slide.video .background video::-webkit-media-controls-panel {
	display: none!important;
	-webkit-appearance: none;
}

.slide.video .background video::-webkit-media-controls-start-playback-button {
	display: none!important;
	-webkit-appearance: none;
}

html:not(.mobile) .slide.video .background[style] {
	 background: none !important;
}

.mobile .slide.video .background[style] video {
	 display: none;  
}

.videoThumbnail {
	cursor: pointer;
	position: relative;
	font-size: 0;
	overflow: hidden;
	line-height: 0;

	&.rounded {
		border-radius: 6px;
	}

	&:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		background: url('../assets/svg/video-icon.svg') no-repeat;
		background-position: center center;
		transition: 0.5s;
	}

	&:not(.noTint):hover:after {
		background-color: rgba(0,0,0,0.15);
	}

	&:hover:before {
		transform: scale(1.1);
		transition: 0.25s;
	}

	&:active:before {
		opacity: 0.8;
	}

	&.small {
		max-width: 200px;
		display: block;
	}

	&.small:before {
		background-size: 44px;  
	}
}

.shadow,
.button.empty.shadow:hover { 
	box-shadow: $large-shadow;
}


.pad {
	border-radius: 6px;
	padding: 10%;
	color: $default-dark-color;
	background: #fff;
	overflow: hidden;
	box-shadow: $small-shadow;

	&.shadow {
		box-shadow: $large-shadow;

		&.stroke {
			background: transparent;
			transition: 0.15s;
			color: #fff;
		}

		&.stroke:hover {
			background: #fff;
			color: $default-dark-color;
			transition: 0.15s;
		}
	}

	&.shadowHover {
		transition: 0.5s;

		&:hover {
			 box-shadow: $large-shadow;
		}
	}

	small {
		font-size: 15px;
		line-height: 1.45;
		margin: 15px 0;
	}

	@include media($phablet, max) {

		&.collapse {
			background: inherit;
			color: inherit;
			border: none;
			padding: 0 !important;
			overflow: inherit;
			border-radius: 0;
			box-shadow: none;
			transition: 0s !important;
		}

		&.shadow {
			 box-shadow: none;
		}
	}
}

.resizing .equalElement { 
	transition: 0s !important;
}

.hr {
	position: relative;
	height: 1px;
	width: 100%;
}

/* smaller than tablet landscape */
@include media($tablet, max){
	
	.shiftImage {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	
	.shiftImageVertical {
		margin-right: 0 !important;
		max-width: 100% !important;
	}
}

/* desktop and bigger */
@include media($tablet, min){
	.hideForDesktop {
		display: none !important;
	}
}

/* tablet landscape and smaller */
@include media($tablet, min){
	.showForDesktop {
		display: block !important;
	}
}

/* tablet landscape and smaller */
@include media($tablet + 1, max){
	.hideForTablet {
		display: none !important;
	}
}

/* tablet landscape and smaller */
@include media($tablet + 1, max){
	.showForTablet {
		display: block !important;
	}
	.showForTabletInline {
		display: inline !important;
	}
}


@include media($phablet, max){
	.hideForPhablet {
		display: none !important;
	}
}

/* tablet portrait and smaller */
@include media($phablet + 1, max){
	.showForPhablet {
		 display: block !important;
	}
	.showForPhabletInline {
		 display: inline !important;
	}
}


/* phone portrait and smaller */
@include media($phone, max){
	.hideForPhone {
		 display: none !important;
	}
}
@include media($phone, max){
	.showForPhone {
		 display: block !important;
	}
	.showForPhoneInline {
		 display: inline !important;
	}
}

/* show and hide for Mobile */
html.mobile .hideForMobile {
	display: none !important;
}

html.mobile .showForMobile {
	display: block !important;
}

html.mobile .showForMobileInline {
	display: inline !important;
}

.helpBubble {

	cursor: pointer;

	&:after {
		content: "?";
		font-size: 14px;
		width: 17px;
		height: 17px;
		line-height: 1.2;
		background: $default-dark-color;
		opacity: 0.3;
		color: #fff;
		border-radius: 50%;
		display: inline-block;
		margin-left: 4px;
		font-weight: 700;
		transition: 0.25s;
	}

	.helpMessage {
		background: rgba(255, 255, 255, 0.98);
		color: $default-dark-color;
		font-size: 16px;
  	line-height: 1.625;
		position: absolute;
		z-index: 10;
		box-shadow: 0 1px 8px rgba(0,0,0,0.07), 0 6px 8px rgba(0,0,0,0.05);
		padding: 17px;
		text-align: left;
		bottom: 50%;
		margin-bottom: 5px;
		transform: translateY(10px) scale(0.95);
		transition: 0.25s;
		opacity: 0;
		pointer-events: none;
		color: rgba(48,48,48,0.7);

		strong {
			color: rgba(48,48,48,1);
		}
	}

	&:hover .helpMessage {
		pointer-events: all;
		transform: translateY(0) scale(1);
		opacity: 1;   
	}

	&:hover:after {
		opacity: 1;  
	}
}







/***
 *      _____                 _     
 *     |  __ \               | |    
 *     | |__) __ _ _ __   ___| |____ 
 *     |  ___/ _` | '_ \ / _ | / __/
 *     | |  | (_| | | | |  __| \__ \
 *     |_|   \__,_|_| |_|\___|_/___/
 *                                  
 *                                  
 */
.panel {
	position: fixed;
	left: 0;
	width: 100%;
	padding: 10px 30px;
	z-index: 200;
	text-align: center;
	font-size: 16px;
	pointer-events: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	user-select: none;

	transform: translate3d(0,0,0);
	
	&.top { top: 0 }
	&.bottom { bottom: 0 }

	&.white {
		background: rgba(255,255,255,0.975) !important;
		box-shadow: 0 1px 1px rgba(0, 0, 0, 0.07);
	}

	&.black {
		background-color: rgba(0,0,0,0.8) !important;
		box-shadow: 0 1px 1px rgba(0, 0, 0, 0.07);
	}

	.animated &.top,
	.animateOnEvent &.top,
	.hidePanel-top &.top.hideOnScroll,
	.slides:not(.firstSlide) &.top.firstSlideOnly,
	.slides:not(.lastSlide) &.top.lastSlideOnly,
	.slides:not(.firstSlide):not(.lastSlide) &.top.firstAndLastSlidesOnly,
	.slides.lastSlide &.top.exceptLastSlide,
	.slides.firstSlide &.top.exceptFirstSlide {
		transform: translate3d(0,-100%,0);
		opacity: 0;
	}

	.animated &.bottom,
	.animateOnEvent &.bottom,
	.hidePanel-bottom &.bottom.hideOnScroll,
	.slides:not(.lastSlide) &.bottom.lastSlideOnly,
	.slides:not(.firstSlide) &.bottom.firstSlideOnly,
	.slides:not(.firstSlide):not(.lastSlide) &.bottom.firstAndLastSlidesOnly,
	.slides.lastSlide &.bottom.exceptLastSlide,
	.slides.firstSlide &.bottom.exceptFirstSlide {
		transform: translate3d(0,100%,0);
		opacity: 0;
	}

	// .animated &.bottom:not(.fixed),
	// .animateOnEvent &.bottom:not(.fixed) {
	// 	transform: translate3d(0,0,0) !important;
	// }
	
	.page-loaded .animated &,
	.page-loaded .animateOnEvent & {
		transition: transform 0.5s, opacity 0.5s, padding 0.5s;
		transform: translate3d(0,0,0);
		opacity: 1;
	}
	
	.slides.whiteSlide & { color: $default-dark-color }

	.scroll &.hideOnScroll,
	.mobile .simplifiedMobile &.hideOnScroll {
		position: fixed;

		&.top.hide {
			transform: translateY(-100%) !important;
			opacity: 0;
		}
		&.bottom.hide {
			transform: translateY(100%) !important;
			opacity: 0;
		}
	}
	
	.sections {
		display: table;
		width: 100%;
		font-size: 0;
		
		& > div {
			display: table-cell;
			vertical-align: middle;
			text-align: center;
			width: 33.33333%;
			white-space: nowrap;
			font-size: 16px;
			height: 50px;
			
			&.auto {
			 width: 0.1%;  
			}
			
			* {
				pointer-events: all;
			}

			&.left {
				text-align: left;
				 
				ul.crop {
					padding-left: 0;  
					
					li:first-child {
						margin-left: 0;   
					}
				}
				&.space {
					padding-right: 20px;
				}
			}

			&.right {
				text-align: right;

				ul.crop {
					padding-right: 0;
					
					li:last-child {
						margin-right: 0;
					}
				}
				&.space {
					 padding-left: 20px;
				}
			}
		
			&.center.space {
				padding: 0 20px;
			}
		}
		
		&.hidden { display: none; }
		
		.menu {
			white-space: nowrap;
			display: inline-block;
			padding: 0 12px;
			font-size: 0;

			svg {
				width: 20px;
				height: 20px;
				vertical-align: bottom;
			}
			
			li {
				font-size: 16px;
				font-weight: 400;
				display: inline-block;
				margin: 0 10px;
				
				a {
					padding: 0 7px;
					opacity: 0.8;

					&:hover {
						opacity: 1;
					}
				}
			}

			&.uppercase li {
				font-size: 12px;
				margin: 0 10px;
				letter-spacing: 0.125em;
				font-weight: 600 !important;

				svg {
					position: relative;
					top: 2px;
				}
			}

		}
	}
	
	.hidden,
	.hidden * {
		display: none;
	}
	
	svg {
		fill: #fff;
		width: 18px;
		height: 18px;
		vertical-align: bottom;
	}
	
	.slides.whiteSlide & svg {
		fill: $default-dark-color;
	}
	
	a:not(.button):hover {
		opacity: 0.75;
		-webkit-transition: 0.15s;
		transition: 0.15s;
	}
	
	.button {
		margin: 0;

		+ .button {
			margin-left: 10px;  
		}
	}
	
	.button:not(.actionButton) {
		font-size: 15px;
		vertical-align: middle;
		padding: 12px 17px;

		&:hover:not(:active){
			transform: translateY(0) !important;
			box-shadow: 0 0 0 1px rgba(255,255,255,.05), 0 4px 6px 0 rgba(0,0,0,.1), 0 1px 10px 0 rgba(0,0,0,.1);
		}
	}
	
	.nextSlide,
	.prevSlide {
		width: 24px;
		height: 24px;
		position: relative;
		top: 5px;
	}

	.slides.whiteSlide & .actionButton svg {
		fill: #fff;  
	}

	.prevSlide,
	.nextSlide {
		transition: 0.25s;
	}

	.firstSlide & .prevSlide,
	.lastSlide & .nextSlide {
		opacity: 0;
		pointer-events: none;
		cursor: default;
	}

	.firstSlide &.bottom .nextSlide svg {
		 animation: animateArrow 4s infinite;
	}

	.panelIcon {
		position: relative;
		top: 5px;
	}
}

@keyframes animateArrow {
	80%, 100% { transform: translateY(0px); }
	90% { transform: translateY(10px); }
}

.nextSlide,
.prevSlide {
	cursor: pointer;

	&:hover {
		transition: 0.15s;
	}

	&:active {
		opacity: 0.75;
	}

	.firstSlide.lastSlide & {
		opacity: 0;
	}
}

/* Progress Bar */
.progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  height: 4px;
  width: 0%;
  transition: width 1s, opacity 1s;
  z-index: 1000;
  opacity: 1;
	&.loaded {
	  width: 100%;
	  opacity: 0;
	  transition: width 0s, opacity 0.25s 1s;
	}
}







/***
 *       _____       _      
 *      / ___/( )   | |     
 *     | (___  _  __| | ___ 
 *      \___ \| |/ _` |/ _ \
 *      ____) | | (_| |  __/
 *     /_____/|_|\__,_|\___/
 *                          
 *                          
 */
.side {
	position: fixed;
	right: 0;
	top: 0;
	bottom: 0;
	height: 100%;
	z-index: 100;
	padding: 70px 4%;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.5s;
	transform: translate3d(0, 0, 0);

	@include media(1380px, min) {
		& {
			padding-left: 55px;
			padding-right: 55px;
		}
	}

	.page-loaded & { opacity: 1; }
	
	&.large { padding: calc(5.56% + 50px) 5%; }
	
	&.left { left: 0; right: inherit; }
	&.right { right: 0; left: inherit; }
	
	/* compact navigation */
	&.compact {
		padding: 30px 4%; 
		
		& .navigation li {
			width: 15px;
			height: 7px;
			margin: 0;
			-webkit-box-shadow: none;
			box-shadow: none;
			border-radius: 0;
			background: #fff;
			opacity: 0.2;
			padding: 1px;
			cursor: pointer;
			
			&.selected,
			&:hover {
				 opacity: 1;
			}
			
			&:after {
				 display: none;
			}
			
			&:before {
				margin: 0 8px !important;
				top: -10px;
			}
			
			.whiteSlide & {
				background: $default-dark-color;
			} 
		}
		
		&:not(.square) .navigation li:first-child {
			border-radius: 10px 10px 0 0;
		}
		
		&:not(.square) .navigation li:last-child {
			 border-radius: 0 0 10px 10px;
		}
	}
	
	/* for nav in panel */
	.panel & {
		position: relative;
		display: inline;
		height: auto;
		padding: 0;
	}

	.slides.whiteSlide & svg:not([fill]) {
		 fill: $default-dark-color;
	}
}

.navigation {
	display: table;
	height: 100%;

	ul {
		display: table-cell;
		vertical-align: middle;
	}
	
	* {
		pointer-events: all;
	}
	
	li {
		fill: #fff;
		display: block;
		background: transparent;
		padding: 9px;
		margin: 0 -9px;
		cursor: pointer;
		position: relative;
	}
	
	li:after {
		content: "";
		display: block;  
		width: 15px;
		height: 15px;
		border-radius: 7px;
		opacity: 0.5;
		background: #fff;
		box-shadow: 0 0 1px #303030;
		transition: 0.25s;
	}
	
	li.selected:after{
		opacity: 1;
	}

	li:hover:after {
		opacity: 1;
	}
	
	/* sizes */
	.medium & li:after {
		width: 10px;
		height: 10px;
		border-radius: 5px;
	}
	
	.small & li:after {
		width: 6px;
		height: 6px;
		border-radius: $default-border-radius;
	}
	
	li[data-title]:before {
		content: attr(data-title);
		position: absolute;
		right: 100%;
		top: 1px;
		background: rgba(0,0,0, 0.7);
		color: #fff;
		font-size: 14px;
		min-width: 50px;
		border-radius: $rounded-border-radius;
		padding: 7px 12px;
		font-weight: 500;
		display: inline-block;
		text-align: center;
		white-space: nowrap;
		box-shadow: 0 0 0 1px rgba(255,255,255,0.1);
		pointer-events: none;
		visibility: hidden;
	}
	
	li:hover:before {
		visibility: visible;
	}
	
	.left & li:before {
		left: 100%;
		right: auto;
	}
	
	.panel.bottom & li:before {
		transform: translateY(-100%) translateX(-50%);
		left: 14px;
		top: -2px;
	}
	
	/* navigation styles */

	/* stroke */
	.stroke & li:after {
		border-color: #fff;
		border-style: solid;
		border-width: 2px;
		background-color: transparent;
	}
	
	.stroke.small & li:after {
		border-width: 1px;
	}
	
	.stroke & li.selected:after {
		background: #fff;
	}
	
	.stroke & li:hover:after {
		 background: #fff;
	}
	
	/* square */
	.square & li:after {
		border-radius: 0;
	}
	.square.small & li:after {
		border-radius: 0;
	}
	
	/* diamond */
	.diamond & li:after {
		border-radius: 0px;
		transform: rotate(45deg) scale(0.72);
	}
	.diamond.medium & li:after {
		transform: rotate(45deg) scale(0.88);
	}
	.diamond.small & li:after {
		transform: rotate(45deg) scale(1);
	}

	/* line */
	.line & {
		li {
			margin: 0 -9px;
			padding: 5px 9px;
			text-align: right;
			font-size: 0;

			&:after {
				height: 3px;
				display: inline-block;
				text-align: right;
				background: #fff;
				border: none;
			}

			&:before {
				margin-top: -10px;
			}

			&.selected:after {
				width: 25px;
			}
		}
	}

	.line.left & li {
		text-align: left;
	}

	.line.medium & li {
		margin: 0 -5px;
		padding: 4px 8px;

		&.selected:after {
			width: 19px;
		}
	}

	.line.small & li {
		margin: 0;
		padding: 4px 6px;

		&.selected:after {
			width: 13px;
		}
	}

	.pole & li {
		margin: 0 1px 0 2px;
		padding: 2px 9px;
		text-align: right;
		font-size: 0;

		&:after {
			height: 20px;
			width: 4px;
			display: inline-block;
			transition: 0.5s;
			text-align: right;
			background: #fff;
			border-radius: 1px;
			border: none;
		}

		&:before {
			margin-top: -3px;
		}

		&.selected {
			&:after {
				height: 60px;
			}

			&:before {
				margin-top: 19px;
			}
		}
	}

	.pole.medium & li {
		margin: 0 2px;

		&:after {
			height: 15px;
			width: 3px;
		}

		&:before {
			margin-top: -5px;
		}

		&.selected {
			&:after {
				height: 45px;
			}

			&:before {
   			margin-top: 10px;
			}
		}
	}

	.pole.small & li {
		margin: 0 2px;

		&:after {
			height: 10px;
			width: 3px;
		}

		&:before {
			margin-top: -7px;
		}

		&.selected {
			&:after {
				height: 30px;
			}

			&:before {
   			margin-top: 2px;
			}
		}
	}
	
	/* nav colors for white slide */
	.slides.whiteSlide & li:after {
		background: $default-dark-color;
		box-shadow: 0 0 1px #fff;
	}
	
	.slides.whiteSlide .stroke & li:after {
		border-color: $default-dark-color;
		background: transparent;
	}
	
	.slides.whiteSlide .stroke & li:hover:after {
		background: #303030;
	}
	
	.slides.whiteSlide .stroke & li.selected:after {
		border-color: #303030;
		background: $default-dark-color;
	}

	.panel &,
	.panel & ul {
		 display: inline;  
	}
	
	.panel & li {
		display: inline-block;
		margin: -9px 0;
	}
	
	.panel .side.small & li {
		 margin: 0;  
	}
	
	.sideArrow {
		width: 31px;
		height: 72px;
		margin: 0px -9px;

		@include media($phablet - 1, max) { 
			& {
				width:17px;
				height:40px;
			}
		}
	}
}
/* End of Side */







/***
 *       _____ _                    
 *      / ___/| |                   
 *     | (___ | |__   __ _ _ __ ___ 
 *      \___ \| '_ \ / _` | '__/ _ \
 *      ____) | | | | (_| | | |  __/
 *     /_____/|_| |_|\__,_|_|  \___/
 *                                  
 *                                  
 */
.dropdown {
	position: fixed;
	z-index: 300;
	color: $default-dark-color;
	width: 160px;
	background: #fff;
	box-shadow: 0 6px 11px 0 rgba(0, 0, 0, 0.15), 0 14px 28px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.05);
	margin-bottom: 50px;
	border-radius: $rounded-border-radius;
	text-align: center;
	cursor: default;
	transform: translateY(0) scale(0.9);
	transform-origin: top;
	transition: transform 0.35s, opacity 0.35s, box-shadow 0.35s;

	//hidden by default
	&:not(.show) {
		pointer-events: none;
		opacity: 0;
	}

	&.rectangular {
		border-radius: 0;
	}
	
	.title {
		font-size: 17px;
		font-weight: 500;
		margin: 0;
		text-align: center;
		opacity: 0.8;
	}

	a {
		font-size: 15px;
		opacity: .6;

		&:hover {
			opacity: .8;
		}
	}

	//arrow
	&:not(.noArrow):after,
	&:not(.noArrow):before {
		content: "";
		bottom: 100%;
		left: 22px;
		border: solid transparent;
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(255, 255, 255, 0);
		border-bottom-color: #fff;
		border-width: 7px;
		margin-left: -7px;
	}
	&:not(.noArrow):before {
		border-bottom-color: rgba(0,0,0,.1);
		border-width: 8px;
		margin-left: -8px;
	}
	
	&.show {
		visibility: visible;
		opacity: 1;
		transform: translateY(20px);
		
		&.hide {
			opacity: 0;
			transform: translateY(40px);
			box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.15), 0 0 0 rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.05);
			pointer-events:none;
		}
	}

	.hideDropdown {
		opacity: 0;
		pointer-events: none;
	}
	
	&.bottom {
		transform-origin: bottom;
		
		&.show {
			transform: translateY(-20px);
			
			&.hide {
				transform: translateY(-40px);
			}
		}
		
		&:after,
		&:before {
			top: 100%;
			bottom: initial;
			border-bottom-color: rgba(255, 255, 255, 0);
			border-top-color: #fff;
		}
		
		&:before {
			border-top-color: rgba(0,0,0,.06);
		}
	}
	
	&.right:after,
	&.right:before {
		right: 18px;
		left: auto;
	}
	
	&.right:before {
		right: 17px;
	}
	
	&.center:after,
	&.center:before {
		left: 50%;
	}
	
	/* share */
	&.share li {
		float: left;
		text-align: center;
		display: block;
		width: 80px;
		height: 50px;
		padding: 14px 0;
		color: #fff;
		position: relative;
		cursor: pointer;
		opacity: 0.9;
		transition: 0.15s;
		
		&:hover {
			opacity: 1;
		}
		
		&:after {
			content: " ";
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			opacity: 0;
			background: rgba(0,0,0,0.1);
			transition: 0.25s;
		}
		
		&:active:after {
			opacity: 1;
			transition: 0.1s;
		}
		
		svg {
			width: 20px;
			height: 20px;
			fill: #fff;
		}
		
		&.mail {
			width: 100%;
			height: auto;
			color: $default-dark-color;
			opacity: 0.6;
			font-size: 15px;
			padding: 20px 0;
			border-bottom-left-radius: 6px;
			border-bottom-right-radius: 6px;

			&:hover {
				opacity: 0.8;
			}
		}
	}
	
	.scroll & {
		position: absolute;
		top: 0;
	}
}





/***
 *       _____       _      _                
 *      / ___/( )   | |    | |               
 *     | (___  _  __| | ___| |__   __ _ _ ___
 *      \___ \| |/ _` |/ _ | '_ \ / _` | '__/
 *      ____) | | (_| |  __| |_) | (_| | |   
 *     /_____/|_|\__,_|\___|_.__/ \__,_|_|   
 *                                           
 *                                           
 */
 
.sidebar {
	position: fixed;
	top: 0;
	right: 0;
	width: 320px;
	max-width: 90%;
	height: 100%;
	color: #fff;
	z-index: 500;
	background: #0E0E0E;
	transition: transform 0.5s, visibility 0s;
	transform: translateX(100%);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;

	.sidebarShown &.visible {
		transform: translateX(0%);
		opacity: 1;
	}

	.content {
		padding: 40px;
		overflow-y: auto; 
		position: relative;
	}

	&.small .content {
		padding: 30px;
	}

	.wrap {
		padding: 0;  
	}

	&.left {
		right: inherit;
		left: 0;
		transform: translateX(-100%);
	}

	&.top {
		top: 0;
		width: 100%;
		max-width: 100%;
		height: auto;
		transform: translateY(-100%);
	}

	&.bottom {
		bottom: 0;
		top: inherit;
		width: 100%;
		max-width: 100%;
		height: auto;
		transform: translateY(100%);
	}

	/* ELEMENTS */
	.logo {
		padding: 0;
		font-size: 0;
		margin-bottom: 35px;  
	}

	.close {
		position: absolute;
		top: 0;
		right: 0;
		cursor: pointer;
		padding: 14px;
		font-size: 0;
		opacity: 0.5;
		z-index: 101;
		transition: 0.25s;

		&:hover {
			opacity: 1;
		}

		svg {
			width: 24px;
			height: 24px;
			fill: #fff;
		}

		&:active svg {
			transform:  scale(0.92);
		}
	}

	/* menu items */
	ul.mainMenu,
	ul.subMenu,
	ul.social {
		line-height: 1.9;
		margin-bottom: 30px;  
		display: block;
	}

	.mainMenu li {
		font-size: 20px;
		line-height: 48px;
	}

	.mainMenu.small li {
		font-size: 18px;
		line-height: 46px;
	}

	.subMenu li {
		font-weight: 400;
		text-transform: none;
		letter-spacing: 0px;
		font-size: 18px;
		line-height: 36px;
	}

	.subMenu.small li {
		font-size: 16px;
		line-height: 34px;
	}

	/* social */
	.social {
		margin-top: 40px;

		li {
			display: inline-block;
			margin-right: 20px;

			&:last-child {
				margin-right: 0;  
			}

			a {
				font-size: 0;
				padding: 0;

				svg {
					width: 20px;
					height: 20px;
				}
			}
		}

		&.small li {
			margin-right: 12px;

			a svg {
				width: 15px;
				height: 15px;
			}
		}

		&.big li {
			margin-right: 12px;

			a svg {
				width: 22px;
				height: 22px;
			}
		}
	}

	&.small .social {
		margin-top: 30px;
	}

	.big li {
		font-size: 32px;
		line-height: 64px;
	}

	.social.medium li a svg {
		width: 18px;
		height: 18px;
	}

	.social.medium li {
		margin-right: 14px;
	}
}

.sidebarShown .slide.selected .content {
	overflow: hidden;
}

/* SIDEBAR ANIMATION */
.page-loaded.sidebarShown .slide.selected {
	transform: scale(0.95) !important;
	pointer-events: none;
	opacity: 0.5 !important;
}

.sidebarShown .panel.top {
	opacity: 0;
}

.sidebarShown .panel.bottom {
	opacity: 0.5;   
	transform: scale(0.95) translateY(-10%);
}

.page-loaded.sidebarShown .panel,
.page-loaded.sidebarShown .slide.selected,
.page-loaded.sidebarShown .slide.selected:after,
.sidebar {
	transition: transform 0.5s, opacity 0.5s !important;
}







/***
 *      _____                        
 *     |  __ \                       
 *     | |__) __  _ __  _   _ _ __  
 *     |  ___/ _ \| '_ \| | | | '_ \ 
 *     | |  | (_) | |_) | |_| | |_) |
 *     |_|   \___/| .__/ \__,_| .__/ 
 *                | |         | |    
 *                |_|         |_|    
 */
 
 
/* POPUP */
.popup {
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	color: #fff;
	z-index: 1000;
	transition: transform 0.5s, opacity 0.5s;
	overflow-y: auto;
	display: none;
	transform: translate3d(0,0,0);

	&:not([class*="fade"]){
		background: rgba(17, 17, 17, 0.9);
	}

	.popupShown &.visible {
		display: block;
		animation: popupFadeIn 0.75s;
	}

  &.hidePopup {
    opacity: 0;
    pointer-events: none;
  }

	.content {
		overflow-y: auto;
	}

	// .popupShown &.visible:not(.animated) .popupContent {
	// 	animation: zoomOut 0.5s 0.25s backwards;
	// }

	// .popupShown .slow &.visible {
	// 	animation: fadeIn 1.25s;
	// }

	// .popupShown .slow &.visible:not(.animated) .popupContent {
	// 	animation: zoomOut 1s 0.25s backwards;
	// }

	// .popupShown .fast &.visible {
	// 	animation: fadeIn 0.5s;
	// }
	// .popupShown .fast &.visible .popupContent {
	// 	animation: zoomOut 0.5s 0.25s backwards;
	// }

	.close:not(.button) {
		position: fixed;
		top: 0;
		right: 0;
		cursor: pointer;
		padding: 14px;
		font-size: 0;
		opacity: 0.5;
		z-index: 200;
		transition: 0.25s;
		margin: 0;
		transform: translate3d(0,0,0);

		&.left {
			right: inherit;
			left: 0;
		}

		&:hover {
			opacity: 1;
		}

		svg {
			width: 30px;
			height: 30px;
			fill: #fff;
		}
	}

	.close.button {
		position: fixed;
		z-index: 200;
		margin: 15px;
	}

	&.white .close svg {
		fill: $default-dark-color;
	}

	.wrap {
		padding: 18px 58px;

		&.spaces {
			padding: 58px;
		}	
	}

	&.fullscreen .wrap {
		padding: 0;
	}

	&.fullscreen .embedVideo {
		height: 100vh;
		padding-bottom: 0;
	}
}

@keyframes popupFadeIn {
	from { opacity: 0;}
}

.popupShown,
.popupShown body,
.sidebarShown,
.sidebarShown body {
	overflow-y: hidden !important;
}

/* embed video container for slides and popups */
.embedVideo {
	position: relative;
	padding-bottom: 56.25%; /* 16x9 */
	height: 0;
	overflow: hidden;
	max-width: 100%;
} 

.embedVideo iframe, 
.embedVideo object, 
.embedVideo embed, 
.embedVideo video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.embedVideo.size-16x10 {
	padding-bottom: 62.5%;
}

.embedVideo.size-4x3 {
	padding-bottom: 75%;
}

.embedVideo.size-1x1,
.embedVideo.size-square {
	padding-bottom: 100%;
}








/***
 *      ______                       _____                            
 *     |___  /                      |_   _|                           
 *        / / ___   ___  _ __ ___     | |  _ __ ___   __ _  __ _  ___ 
 *       / / / _ \ / _ \| '_ ` _ \    | | | '_ ` _ \ / _` |/ _` |/ _ \
 *      / /_| (_) | (_) | | | | | |  _| |_| | | | | | (_| | (_| |  __/
 *     /_____\___/ \___/|_| |_| |_| |_____|_| |_| |_|\__,_|\__, |\___/
 *                                                          __/ |     
 *                                                         |___/      
 */

[data-action="zoom"] {
	@extend .cursorZoomIn;
}

.zoom-img,
.zoom-img-wrap {
	position: relative;
	transition: all 0.5s;
	transition-timing-function: cubic-bezier(.2,0,.3,1) !important;
	z-index:  100;

	img.zoom-img {
		margin:  0 !important;
		@extend .cursorZoomOut;
	}
}

.zoom-overlay {
	background: rgba(17, 17, 17, 1);
	position: fixed;
	top: -9999px;
	left: -9999px;
	right: -9999px;
	bottom: -9999px;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.5s;
	z-index:  99;
}

.zoom-overlay-open .zoom-overlay {
	opacity: 0.9;
}

.zoom-overlay-open .side,
.zoom-overlay-open .panel {
	opacity: 0;
	transition-delay: 0s;
	transition: 0.25s;
}

.zoom-overlay-open,
.zoom-overlay-transitioning {
	cursor: default;
}

.zoom-img-parent {
	position: relative;
	z-index: 1000;  
}







/***
 *       _____ _ _     _           
 *      / ___/| (_)   | |          
 *     | (___ | |_  __| | ___ _ __ 
 *      \___ \| | |/ _` |/ _ \ '__/
 *      ____) | | | (_| |  __/ |   
 *     /_____/|_|_|\__,_|\___/_|   
 *                                 
 *                                 
 */
.slider {
	position: relative;

	&.clickable {
		cursor: pointer;
	}

	> li {
		display: none;
		top: 0;
		left: 0;
		opacity: 0;
		transition: opacity 0.5s;
		pointer-events: none;

		&.selected {
			display: block;
			opacity: 1;
			transition: opacity 0.5s;
			pointer-events: all;
		}
	}

	&.rounded > li > img {
		border-radius: $rounded-border-radius;
		overflow: hidden;
	}

	&.autoHeight {
		transition: 0.5s;

		> li {
			display: block;
			position: absolute;
		}
	}
}

.controller li {
	cursor: pointer;

	&.selected {
		cursor: default;
		pointer-events: none;
	}
}



//TOOLTIP
.tooltip[data-tooltip-title] {
  position: relative;

  &:before {
		content: attr(data-tooltip-title);
		position: absolute;
		background: rgba(40, 40, 40, 0.6);
		color: #fff;
		font-size: 12px;
		border-radius: 50px;
		padding: 6px 15px;
		visibility: hidden;
		white-space: nowrap;
		letter-spacing: .04em;
		box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.07);
		transform: translateY(100%) translateX(-50%);
		left: 50%;
		top: 0;
	}

	&:hover:before {
	  visibility: visible;
	  animation: fadeIn 0.35s backwards;
	}

	&.top:before {
		bottom: 0;
		top: auto;
		transform: translateY(-100%) translateX(-50%);
	}
}








/*                   \                           /
    .           ,                              o
     *                 ¤     ~            ..
        ______  __  __          _       *
       |  ___/ / _// _|   *    | |        
       | |___ | |_| |_ ___  ___| |_ ____
    .  |  __/ |  _|  _/ _ \/ __| __/ __/
   ¯   | |____| | | ||  __| (__| |_\__ \    ¨
  ´    |_____/|_| |_| \___|\___/\__/___/   '
                                 ¸         §
   ¸.*         ¤        *         .           .
                      .            °            /
.*/             

/* DEFAULT */
.slide.before {
	transform: translate3d(0,-50%,0);
}

.slide:first-child,
.slide.after {
	transform: translate3d(0,50%,0);
	will-change: transform;
}

.slide.before,
.slide.after {
	 opacity: 0;
}

.slide.selected {
	-webkit-transform: translate3d(0,0,0) !important;
	-moz-transform: translate3d(0,0,0) !important;
	-ms-transform: translate3d(0,0,0) !important;
	-o-transform: translate3d(0,0,0) !important;
	transform: translate3d(0,0,0) !important;
	z-index: 11;


	.scroll & {
	  z-index: 10;
	}
}

.page-loaded .slide.selected {
	opacity: 1 !important;
}


/* horizontal */
.horizontal .slide,
.horizontal .slide.before {
	-ms-transform: translate3D(-50%,0,0);
	transform: translate3D(-50%,0,0);
}

.horizontal .slide.after {
	-ms-transform: translate3D(50%,0,0);
	transform: translate3D(50%,0,0);
}


/* FILM */
.film .slide.before {
	-ms-transform: translate3D(-100%,0,0);
	transform: translate3D(0,-100%,0);
}

.film .slide.after {
	-ms-transform: translate3D(0,100%,0);
	transform: translate3D(0,100%,0);
}

/* Horizontal */
.film.horizontal .slide.before {
	-ms-transform: translate3D(-100%,0,0);
	transform: translate3D(-100%,0,0);
}

.film.horizontal .slide,
.film.horizontal .slide.after {
	-ms-transform: translate3D(100%,0,0);
	transform: translate3D(100%,0,0);
}


/* CHAIN */
.chain .slide.before {
	-ms-transform: translate3D(-100%,0,0);
	transform: translate3D(0,-100%,0);
	opacity: 1;
}

.chain .slide.after {
	-ms-transform: translate3D(0,100%,0);
	transform: translate3D(0,100%,0);
	opacity: 1;
}

/* Horizontal */
.chain.horizontal .slide.before {
	-ms-transform: translate3D(-100%,0,0);
	transform: translate3D(-100%,0,0);
	opacity: 1;
}

.chain.horizontal .slide,
.chain.horizontal .slide.after {
	-ms-transform: translate3D(100%,0,0);
	transform: translate3D(100%,0,0);
	opacity: 1;
}


/* ZEN */
.zen .slide.before {
	-ms-transform: translateY(-100%) scale(0.8);
	transform: translateY(-100%) scale(0.8);
}

.zen .slide,
.zen .slide.after {
	-ms-transform: translateY(100%) scale(0.8);
	transform: translateY(100%) scale(0.8);
}

/* Horizontal */
.zen.horizontal .slide.before {
	-ms-transform: translateX(-100%) scale(0.8);
	transform: translateX(-100%) scale(0.8);
}

.zen.horizontal .slide,
.zen.horizontal .slide.after {
	-ms-transform: translateX(100%) scale(0.8);
	transform: translateX(100%) scale(0.8);
}


/* STACK */
.stack .slide,
.stack .slide.after {
	-ms-transform: translateY(100%);
	transform: translateY(100%);
}

.stack .slide.after {
	 opacity: initial;
}

.stack .slide.selected,
.stack .slide.after.active {
	 z-index: 11 !important;
}

.stack .slide.before {
	-ms-transform: scale(0.9);
	transform: scale(0.9);
}

/* Horizontal */
.stack.horizontal .slide,
.stack.horizontal .slide.after {
	-ms-transform: translateX(100%);
	transform: translateX(100%);
}

.stack.horizontal  .slide.before {
	transform: scale(0.9);
}


/* CARDS */
.cards .slide,
.cards .slide.after {
	-ms-transform: translateY(10%);
	transform: translateY(10%);
	opacity: initial;
}
.cards .slide.after {
	 z-index: 8 !important;
	 opacity: 0;
}

.cards .slide.selected {
	 z-index: 9 !important;
}

.cards .slide.before {
	-ms-transform: translateY(-100%);
	transform: translateY(-100%);
	z-index: 7;
}

.cards .slide.active.before {
	 z-index: 10 !important;
}

/* Horizontal */
.cards.horizontal .slide,
.cards.horizontal .slide.after {
	-ms-transform: translateX(10%);
	transform: translateX(10%);
}

.cards.horizontal .slide.before {
	-ms-transform: translateX(-100%);
	transform: translateX(-100%);
}



/* ZOOM CHANGE */
.zoom .slide.before {
	-ms-transform: scale(1.4);
	transform: scale(1.4);
}

.zoom .slide,
.zoom .slide.after {
	-ms-transform: scale(0.8);
	transform: scale(0.8);
	opacity: 0;
}


/* VERTIGO */
.vertigo .slide.before {
	-ms-transform: scale(1.4) rotate(-2deg);
	transform: scale(1.4) rotate(-2deg);
}

.vertigo .slide,
.vertigo .slide.after {
	-ms-transform: scale(0.8) rotate(2deg);
	transform: scale(0.8) rotate(2deg);
	opacity: 0;
}



/* PLAIN CHANGE */
.plain .slide.before {
	-ms-transform: scale(1);
	transform: scale(1);
}

.plain .slide,
.plain .slide.after {
	-ms-transform: scale(1);
	transform: scale(1);
}

.plain .slide.after:after,
.plain .slide.before:after {
	 opacity: 1;
	 background: #111;
}


/* SPEED */
.page-loaded .fast .slide.active,
.page-loaded .fast .slide.selected {
	transition: transform $slide-speed-fast, opacity $slide-speed-fast;
}

.page-loaded .slide.selected,
.page-loaded .slide.active {
	transition: transform $slide-speed-normal, opacity $slide-speed-normal;
}

.page-loaded .slow .slide.active,
.page-loaded .slow .slide.selected {
	transition: transform $slide-speed-slow, opacity $slide-speed-slow;
}

.page-loaded .slide.selected.entry,
.page-loaded .slide.active.entry {
	transition: transform 0s, opacity 1s;
}

/* panels */
.slides.animated .panel,
.slides.animateOnEvent .panel {
	transition: transform, opacity;
	transition-duration: 0.8s;
}

.slides.animated.fast .panel,
.slides.animateOnEvent.fast .panel {
	transition-duration: 0.6s;
}
.slides.animated.slow .panel,
.slides.animateOnEvent .panel {
	transition-duration: 1s;
}



/* EASING */
.smooth {
	.active,
	.selected,
	.panel,
	.sidebar,
	.rolling-element {
		transition-timing-function: $slide-transition-smooth !important;
	}
}

.bounce {
	.active,
	.selected,	
	.panel,	
	.sidebar,
	.rolling-element {
		transition-timing-function: $slide-transition-bounce !important;
	}
}






/***
 *                                       _           _   ______ _                           _       
 *         /\         ( )               | |         | | |  ___/| |                         | |      
 *        /  \   _ __  _ _ __ ___   __ _| |_ ___  __| | | |___ | | ___ _ __ ___   ___ _ __ | |_ ___ 
 *       / /\ \ | '_ \| | '_ ` _ \ / _` | __/ _ \/ _` | |  __/ | |/ _ \ '_ ` _ \ / _ \ '_ \| __/ __/
 *      / ____ \| | | | | | | | | | (_| | ||  __/ (_| | | |____| |  __/ | | | | |  __/ | | | |_\__ \
 *     /_/    \_\_| |_|_|_| |_| |_|\__,_|\__\___/\__,_| |_____/|_|\___/_| |_| |_|\___/_| |_|\__|___/
 *                                                                                                  
 *                                                                                                  
 */

.animated [class*="ae-"] {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translate3d(0,0,0);
	transition-timing-function: cubic-bezier(0.25, 0.1, 0.20, 1);
}

/* Speed */
.animated.fast .animate [class*="ae-"]:not(.done),
.animated.fast.animate [class*="ae-"]:not(.done),
.animated.animate .fast [class*="ae-"]:not(.done),
.animated.animate [class*="ae-"].fast:not(.done) {
    transition-duration: $fast-duration + ms;
}
 
.animated .animate [class*="ae-"]:not(.done),
.animated.animate [class*="ae-"]:not(.done) {
    transition-duration: $default-duration + ms;
}
 
.animated.slow .animate [class*="ae-"]:not(.done),
.animated.slow.animate [class*="ae-"]:not(.done),
.animated.animate .slow [class*="ae-"]:not(.done),
.animated.animate [class*="ae-"].slow:not(.done) {
    transition-duration: $slow-duration + ms;
}

/* Delays */

//Default delay
@for $i from 1 through 10 {
    $delay: ($i - 1) * $default-delay-step + $start-delay;
 
    .animated .animate .ae-#{$i}:not(.done),
    .animated.animate .ae-#{$i}:not(.done) {
        transition-delay: $delay + ms;
    }
}
 
//Fast Delay
@for $i from 1 through 10 {
    $delay: ($i - 1) * $fast-delay-step + $start-delay;
 
    .animated.fast .animate .ae-#{$i}:not(.done),
    .animated.fast.animate .ae-#{$i}:not(.done),
    .animated.animate .ae-#{$i}.fast:not(.done),
    .animated.animate .fast .ae-#{$i}:not(.done) {
        transition-delay: $delay + ms;
    }
}
 
//Slow Delay
@for $i from 1 through 10 {
    $delay: ($i - 1) * $slow-delay-step + $start-delay;
 
    .animated.slow .animate .ae-#{$i}:not(.done),
    .animated.slow.animate .ae-#{$i}:not(.done),
    .animated.animate .ae-#{$i}.slow:not(.done),
    .animated.animate .slow .ae-#{$i}:not(.done) {
        transition-delay: $delay + ms;
    }
}


/* Directions */
.animated [class*="ae-"]:not(.done), /* default */
.animated .fromBottom [class*="ae-"]:not(.done),
.animated.fromBottom [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromBottom:not(.done) {
	 visibility: hidden;
	 transform: translate3d(0,$horizontal-distance,0);
	 opacity: 0;
}

.animated .fromTop [class*="ae-"]:not(.done),
.animated.fromTop [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromTop:not(.done) {
	 transform: translate3d(0,-$horizontal-distance,0);
}

.animated .fromLeft [class*="ae-"]:not(.done),
.animated.fromLeft [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromLeft:not(.done) {
	 transform: translate3d(-$horizontal-distance,0,0);
}

.animated .fromRight [class*="ae-"]:not(.done),
.animated.fromRight [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromRight:not(.done) {
	 transform: translate3d($horizontal-distance,0,0);
}

.animated .fromCenter [class*="ae-"]:not(.done),
.animated.fromCenter [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromCenter:not(.done) {
	 transform: scale($small-scale) translate3d(0,0,0);
}

.animated .fromAbove [class*="ae-"]:not(.done),
.animated.fromAbove [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromAbove:not(.done) {
	 transform: scale($large-scale) translate3d(0,0,0);
}

.animated .fromBottomLeft [class*="ae-"]:not(.done),
.animated.fromBottomLeft [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromBottomLeft:not(.done) {
	 transform: translate3d(-$horizontal-distance,$horizontal-distance,0);
}

.animated .fromTopLeft [class*="ae-"]:not(.done),
.animated.fromTopLeft [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromTopLeft:not(.done) {
	 -webkit-transform: translate3d(-$horizontal-distance,-$horizontal-distance,0);
	 transform: translate3d(-$horizontal-distance,-$horizontal-distance,0);
}

.animated .fromBottomRight [class*="ae-"]:not(.done),
.animated.fromBottomRight [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromBottomRight:not(.done) {
	 transform: translate3d($horizontal-distance,$horizontal-distance,0);
}

.animated .fromTopRight [class*="ae-"]:not(.done),
.animated.fromTopRight [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromTopRight:not(.done) {
	 transform: translate3d($horizontal-distance,-$horizontal-distance,0);
}

.animated .fadeIn [class*="ae-"]:not(.done),
.animated.fadeIn [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fadeIn:not(.done) {
	 transform: scale(1) translate3d(0,0,0);
}

.animated .fromBlur [class*="ae-"]:not(.done),
.animated.fromBlur [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromBlur:not(.done) {
	 transform: scale(1) translate3d(0,0,0);
	 filter: blur($blur-size);
}



/* Final Step */
.slides.animated .animate.active [class*="ae-"]:not(.done),
.slides .animated.animate.active [class*="ae-"]:not(.done) {
	opacity: 1;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	visibility: visible;
	transform: translate3d(0,0,0);
	filter: none;
}


/* Animated on scroll */
.animateOnEvent {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

/* hide elements */
.animateOnEvent [class*="ae-"]:not(.done):not(.do) { opacity: 0; visibility: hidden; }

/* Speed */
.animateOnEvent [class*="ae-"].do {
  animation-fill-mode: backwards;
  animation-duration: $default-duration + ms;
  visibility: visible;
}

.animateOnEvent.fast [class*="ae-"].do,
.animateOnEvent .fast [class*="ae-"].do,
.animateOnEvent [class*="ae-"].do.fast {
  animation-duration: $fast-duration + ms;
}

.animateOnEvent.slow [class*="ae-"].do,
.animateOnEvent .slow [class*="ae-"].do,
.animateOnEvent [class*="ae-"].do.slow {
  animation-duration: $slow-duration + ms;
}

/* Directions */
.animateOnEvent [class*="ae-"].do { animation-name: fromBottom; }

/* generate directions */
$directions: fromBottom fromTop fromLeft fromRight fromCenter fromAbove fromBottomLeft fromTopLeft fromBottomRight fromTopRight fadeIn fromBlur;
@each $direction in $directions {
	.animateOnEvent.#{$direction} [class*="ae-"].do,
	.animateOnEvent .#{$direction} [class*="ae-"].do,
	.animateOnEvent [class*="ae-"].do.#{$direction} {
		animation-name: #{$direction};
	}
}

// keyframes
@keyframes fromBottom { from { transform: translate3d(0,$horizontal-distance,0); opacity:0;}}
@keyframes fromTop { from { transform: translate3d(0,-$horizontal-distance,0); opacity:0;}}
@keyframes fromLeft { from { transform: translate3d(-$vertical-distance,0,0); opacity:0;}}
@keyframes fromRight { from { transform: translate3d($vertical-distance,0,0); opacity:0;}}
@keyframes fromCenter { from { transform: scale($small-scale) translate3d(0,0,0); opacity:0;}}
@keyframes fromAbove { from { transform: scale($large-scale) translate3d(0,0,0); opacity:0;}}
@keyframes fromBottomLeft { from { transform: translate3d(-$horizontal-distance,$horizontal-distance,0); opacity:0;}}
@keyframes fromTopLeft { from { transform: translate3d(-$horizontal-distance,-$horizontal-distance,0); opacity:0;}}
@keyframes fromBottomRight { from { transform: translate3d($horizontal-distance,$horizontal-distance,0); opacity:0;}}
@keyframes fromTopRight { from { transform: translate3d($horizontal-distance,-$horizontal-distance,0); opacity:0;}}
@keyframes fadeIn { from { transform: scale(1) translate3d(0,0,0); opacity:0;}}
@keyframes fromBlur { from { transform: scale(1) translate3d(0,0,0); filter:blur($blur-size); opacity:0;}}

/* Delays */


//Default Delay
@for $i from 1 through 10 {
	$delay: ($i - 1) * $default-delay-step + $start-delay;

	.animateOnEvent .ae-#{$i} {
		animation-delay: $delay + ms;
	}
}

// Fast Delay
@for $i from 1 through 10 {
	$delay: ($i - 1) * $fast-delay-step + $start-delay;

	.animateOnEvent.fast .ae-#{$i},
	.animateOnEvent .ae-#{$i},
	.animateOnEvent .fast .ae-#{$i}.fast ,
	.animateOnEvent .ae-#{$i}.fast {
		animation-delay: $delay + ms;
	}
}

//Slow Delay
@for $i from 1 through 10 {
	$delay: ($i - 1) * $slow-delay-step + $start-delay;

	.animateOnEvent.slow .ae-#{$i},
	.animateOnEvent .slow .ae-#{$i},
	.animateOnEvent .ae-#{$i}.slow {
		animation-delay: $delay + ms;
	}
}


//Rolling Object
.slides:not(.scroll) {
	.rolling-element {
	  transition: $slide-speed-normal;
	  transform: translate3d(0,0,0);
	  will-change: transform;
	}

	&.fast .rolling-element {
		transition-duration: $slide-speed-fast;
	}

	&.slow .rolling-element {
		transition-duration: $slide-speed-slow;
	}

	.slide.before .rolling-element {
	  transform: translateY(100%);

	  &.pct-10  { transform: translateY(10%);}
	  &.pct-20  { transform: translateY(20%);}
	  &.pct-30  { transform: translateY(30%);}
	  &.pct-40  { transform: translateY(40%);}
	  &.pct-50  { transform: translateY(50%);}
	  &.pct-60  { transform: translateY(60%);}
	  &.pct-70  { transform: translateY(70%);}
	  &.pct-80  { transform: translateY(80%);}
	  &.pct-90  { transform: translateY(90%);}

	  &.inverse {
		  transform: translateY(-100%);

		  &.pct-10  { transform: translateY(-10%);}
		  &.pct-20  { transform: translateY(-20%);}
		  &.pct-30  { transform: translateY(-30%);}
		  &.pct-40  { transform: translateY(-40%);}
		  &.pct-50  { transform: translateY(-50%);}
		  &.pct-60  { transform: translateY(-60%);}
		  &.pct-70  { transform: translateY(-70%);}
		  &.pct-80  { transform: translateY(-80%);}
		  &.pct-90  { transform: translateY(-90%);}
	  }
	}

	.slide.after .rolling-element {
	  transform: translateY(-100%);

	  &.pct-10  { transform: translateY(-10%);}
	  &.pct-20  { transform: translateY(-20%);}
	  &.pct-30  { transform: translateY(-30%);}
	  &.pct-40  { transform: translateY(-40%);}
	  &.pct-50  { transform: translateY(-50%);}
	  &.pct-60  { transform: translateY(-60%);}
	  &.pct-70  { transform: translateY(-70%);}
	  &.pct-80  { transform: translateY(-80%);}
	  &.pct-90  { transform: translateY(-90%);}

	  &.inverse {
		  transform: translateY(100%);

		  &.pct-10  { transform: translateY(10%);}
		  &.pct-20  { transform: translateY(20%);}
		  &.pct-30  { transform: translateY(30%);}
		  &.pct-40  { transform: translateY(40%);}
		  &.pct-50  { transform: translateY(50%);}
		  &.pct-60  { transform: translateY(60%);}
		  &.pct-70  { transform: translateY(70%);}
		  &.pct-80  { transform: translateY(80%);}
		  &.pct-90  { transform: translateY(90%);}
	  }
	}
}




/***
 *      ____             _                                   _    ______  __  __          _       
 *     |  _ \           | |                                 | |  |  ____|/ _|/ _|        | |      
 *     | |_) | __ _  ___| | ____ _ _ __ ___  _   _ _ __   __| |  | |__  | |_| |_ ___  ___| |_ ___ 
 *     |  _ < / _` |/ __| |/ / _` | '__/ _ \| | | | '_ \ / _` |  |  __| |  _|  _/ _ \/ __| __/ __|
 *     | |_) | (_| | (__|   < (_| | | | (_) | |_| | | | | (_| |  | |____| | | ||  __/ (__| |_\__ \
 *     |____/ \__,_|\___|_|\_\__, |_|  \___/ \__,_|_| |_|\__,_|  |______|_| |_| \___|\___|\__|___/
 *                            __/ |                                                               
 *                           |___/                                                                
 */

/* KEN BURNS */
.slides.animated .kenBurns .background,
.slides.animated .kenBurns.zoomin .background, 
.slides.animateOnEvent .kenBurns .background,
.slides.animateOnEvent .kenBurns.zoomin .background {
	transform: scale(1.08) rotate(-0.02deg);
	opacity: 0.2;
	z-index: 1;
}

.slides.animated .kenBurns:not(.video) .background,
.slides.animated .kenBurns.zoomin:not(.video) .background,
.slides.animateOnEvent .kenBurns:not(.video) .background,
.slides.animateOnEvent .kenBurns.zoomin:not(.video) .background {
	transition: transform 5s cubic-bezier(.3,0,.7,1), opacity 1s ease;
}

.animated .active.kenBurns:not(.video) .background,
.animated .active.kenBurns.zoomin:not(.video) .background,
.animated .active .kenBurns.zoomin:not(.video) .background,
.animateOnEvent .active.kenBurns:not(.video) .background,
.animateOnEvent .active.kenBurns.zoomin:not(.video) .background,
.animateOnEvent .active .kenBurns.zoomin:not(.video) .background {
	opacity: 1;
	transform: translate3d(0,0,0);
}

.slides.animated .kenBurns.zoomin:not(.video) .background,
.slides.animateOnEvent .kenBurns.zoomin:not(.video) .background  {
	transform: translate3d(0,0,0);
}
.animated .active.kenBurns.zoomin:not(.video) .background,
.windows .slides.animated .active.kenBurns.zoomin:not(.video) .background,
.animateOnEvent .active.kenBurns.zoomin:not(.video) .background,
.windows .slides.animateOnEvent .active.kenBurns.zoomin:not(.video) .background {
	transform: scale(1.08) rotate(-0.02deg);
}

.mobile .kenBurns .background,
.mobile .kenBurns.zoomin .background {
	transition: 0s;
	transform: none;
}


/* PARALLAX */
.slides.animated .parallax:not(.video) .background,
.slides.animateOnEvent .parallax:not(.video) .background {
	transform: translate3d(0,0,0) scale(1.25);
	transition: transform-origin 1s, transform 1s;
}

.slides.animated.fast .parallax:not(.video) .background,
.slides.animateOnEvent.fast .parallax:not(.video) .background {
	transition: transform-origin .6s, transform .6s;
}

.slides.animated.slow .parallax:not(.video) .background,
.slides.animateOnEvent.slow .parallax:not(.video) .background {
	transition: transform-origin 1.4s, transform 1.4s;
}

.slides.animated .parallax.animate:not(.video) .background,
.slides.animateOnEvent .parallax.animate:not(.video) .background {
	transform-origin: center;
}

.slides.animated .slide.after.parallax:not(.video) .background,
.slides.animateOnEvent .slide.after.parallax:not(.video) .background {
	transform-origin: top center;
}

.slides.animated .slide.before.parallax:not(.video) .background,
.slides.animateOnEvent .slide.before.parallax:not(.video) .background {
	transform-origin: bottom center;
}

/* horizontal */
.slides.animated.horizontal .slide.after.parallax:not(.video) .background,
.slides.animateOnEvent.horizontal .slide.after.parallax:not(.video) .background {
	transform-origin: left center;
}

.slides.animated.horizontal .slide.before.parallax:not(.video) .background,
.slides.animateOnEvent.horizontal .slide.before.parallax:not(.video) .background {
	transform-origin: right center;
}

/* zoom */
.slides.animated.zoom .slide.after.parallax:not(.video) .background,
.slides.animateOnEvent.zoom .slide.after.parallax:not(.video) .background {
	transform-origin: center;
	transform: translate3d(0,0,0) scale(1);
}

.slides.animated.zoom .slide.animate.parallax:not(.video) .background,
.slides.animateOnEvent.zoom .slide.animate.parallax:not(.video) .background {
	transform-origin: center;
	transform: translate3d(0,0,0) scale(1.1);
}

.slides.animated.zoom .slide.before.parallax:not(.video) .background,
.slides.animateOnEvent.zoom .slide.before.parallax:not(.video) .background {
	transform-origin: center;
	transform: translate3d(0,0,0) scale(1);
}

/* plain */
.slides.animated.plain .slide.after.parallax:not(.video) .background,
.slides.animateOnEvent.plain .slide.after.parallax:not(.video) .background {
	transform-origin: center;
	transform: translate3d(0,0,0) scale(1);
}

.slides.animated.plain .slide.animate.parallax:not(.video) .background,
.slides.animateOnEvent.plain .slide.animate.parallax:not(.video) .background {
	transform-origin: center;
	transform: translate3d(0,0,0) scale(1);
}

.slides.animated.plain .slide.before.parallax:not(.video) .background,
.slides.animateOnEvent.plain .slide.before.parallax:not(.video) .background {
	transform-origin: center;
	transform: translate3d(0,0,0) scale(1);
}

/* SCENIC */
.slides.animated .scenic:not(.video) .background,
.slides.animateOnEvent .scenic:not(.video) .background {
	animation: scenic 140s cubic-bezier(.2,0,.8,1) infinite;
}

@keyframes scenic {
	50% { transform: scale(1.5) rotate(-0.02deg);}
}


/* SCROLL EFFECT */
.scroll,
.mobile .simplifiedMobile {
	 position: relative;
	 -webkit-overflow-scrolling: touch;
}
.scroll .content
.mobile .simplifiedMobile .content {
	-webkit-overflow-scrolling: initial;
	overflow: hidden;
}

.scroll .wrap {
	 overflow: hidden;  
}

.scroll .slide,
.scroll .slide .content, // fix for oversized content
.scroll .container,
.mobile .simplifiedMobile .slide,
.mobile .simplifiedMobile .content,
.mobile .simplifiedMobile .container {
	position: relative !important;
	height: auto;
	opacity: 1;
}

.mobile .simplifiedMobile .popup .content,
.mobile .simplifiedMobile .popup .container {
	position: absolute !important;
	height: 100%;
}


.scroll .container,
.mobile .simplifiedMobile .container {
	height: 100vh;  
}

.scroll .slide.autoHeight .container,
.mobile .slide.autoHeight .simplifiedMobile .container {
	height: auto;  
}

.scroll .slide .background,
.mobile .simplifiedMobile .slide .background {
	position: absolute !important;
}

.scroll .slide:not(.autoHeight) .background,
.mobile .simplifiedMobile .slide:not(.autoHeight) .background {
	min-height: 100vh;
}

.scroll .slide,
.scroll .slide.after,
.scroll .slide.before,
.mobile .simplifiedMobile .slide,
.mobile .simplifiedMobile .slide.after,
.mobile .simplifiedMobile .slide.before {
	visibility: visible;
	transform: none !important;
}

.mobile .simplifiedMobile .slide,
.mobile .simplifiedMobile .slide.after,
.mobile .simplifiedMobile .slide.before {
	opacity: 1 !important;
}

.page-loaded.sidebarShown .scroll .slide,
.page-loaded.mobile.sidebarShown .simplifiedMobile .slide {
	transform: translate3d(0,0,0) !important;
	pointer-events: none;
	opacity: 0.5 !important;
}

.page-loaded .scroll .slide {
	transition: transform 0.5s, opacity 0.5s !important;
}

// .scroll .panel.firstSlideOnly,
// .scroll .panel.lastSlideOnly,
// .mobile .simplifiedMobile .panel {
// 	position: absolute;
// }

.mobile .simplifiedMobile .navigation {
	display: none;
}

.mobile .simplifiedMobile [class*="ae-"] {
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
}


.mobile .simplifiedMobile [class*="ae-"] {
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
}

.scroll .parallax:not(.video) .background {
	transform: translate3d(0,0,0) scale(1.25);
	transition: none !important;
}

@keyframes fadeIn { from { opacity: 0;} }
@keyframes zoomOut { from { opacity: 0; transform: scale(0.86);} }
@keyframes riseUp { from { opacity: 0; transform: scale(0.86) translateY(50px);} }

/* Parallax Motion */
@include media($tablet, max) {
	.parallaxMotion:not(.responsive) .parallaxElement,
	.parallaxMotion .parallaxElement:not(.responsive) {
		transform: none !important;
	}
}
/* End Effects */