/* ################## */
/* --- CSS IMPORT --- */
/* ################## */
@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700);


/* ################## */
/* --- BODY RESET --- */
/* ################## */

body, html {
	width: 100%;
	height: 100%;
	margin: 0;
	background: #EEE;
	font-family: 'Open Sans', Arial, sans-serif;
	font-weight: 300;
	font-size: 14px;
}



.hello {
	transition: all 0.5s cubic-bezier(0.75, 0.1, 0.75, 1);
}



@-webkit-keyframes zoom {
	from {-webkit-transform: scale(1);}
	to {-webkit-transform: scale(1.25);}
}
@keyframes zoom {
	from {transform: scale(1);}
	to {transform: scale(1.25);}
}

.bottom-frame {
	border: 0;
	width: 100%;
	height: 1300px;
	overflow: hidden;
}

.bottom {
	background: #eee;
	text-align: center;
}
.bottom h2 {
	padding-top: 100px;
	font-weight: 400;
	font-size: 18px;
}
.bottom .list {
	position: relative;
	background: #fff;
	font-weight: 300;
	font-size: 26px;
	color: #333333;
}


.bottom .list .line {
	color: inherit;
	text-decoration: none;
	position: relative;
	display: block;
	overflow: hidden;
	height: 126px;
	border-top: 1px solid #ddd;
	transition: all 0.25s ease;
}
.bottom .list .line:first-child {
	border-top: none;
}


.bottom .list .line .label {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 5;
}
.bottom .list .line .label:after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 50%;
	width: 100%;
	transform: translateX(-50%);
	border-bottom: 1px solid #000;
	transition: all 0.25s ease;
}
.bottom .list .line .background {
	z-index: 3;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: red 50% 50%;
	background-size: cover;
	opacity: 0;
	transition: all 0.5s ease;
	animation: none;
}




.bottom .list .line:hover {
	height: 186px;
	cursor: pointer;
}
.bottom .list.contact .line:hover {
	cursor: default;
}
.bottom .list .line:hover > .label {

}
.bottom .list .line:hover > .label:after {
	width: 0%;
}
.bottom .list .line:hover > .background {
	opacity: 0.15;
	-webkit-animation: zoom 15s 1 both;
	animation: zoom 15s 1 both;
	transition: all 0.25s ease;
}








.bottom .list.contact {
	height: 126px;
}
.bottom .list.contact .line:nth-child(1):before {
	content: '';
	position: absolute;
	width: 1px;
	height: 50px;
	background: #ddd;
	top: -6px;
	left: calc(100% + 35px);
}

.bottom .list.contact .line:nth-child(1),
.bottom .list.contact .line:nth-child(2) {
	overflow: visible;
	border-top: none;
	padding: 0;
	position: absolute;
	top: 44px;
	right: calc(50% + 35px);
	width: 50%;
	text-align: right;
}
.bottom .list.contact .line:nth-child(2) {
	left: calc(50% + 35px);
	right: 0;
	text-align: left;
}


.bottom .list .line a {
	position: relative;
	display: inline-block;
	color: inherit;
	text-decoration: none;
}
.bottom .list .line a:after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 50%;
	width: 100%;
	transform: translateX(-50%);
	border-bottom: 1px solid #000;
	transition: all 0.25s ease;
}
.bottom .list .line a:hover:after {
	width: 0%;
	transition: all 0.25s ease;

}



/* ############################## */
/* --- LOGO, UI & OTHER STUFF --- */
/* ############################## */
.logo {
	position: fixed;
	z-index: 200;
	top: 40px;
	left: 50%;
	width: 200px;
	margin-left: -100px;
	color: #21252B;
	text-align: center;
	font-size: 13px;
}
.logo .title {
	font-size: 26px;
	font-weight: 400;
	font-family: Georgia;
	margin-bottom: 7px;
}
.about-link {
	display: none;
	position: fixed;
	top: 50%;
	left: -50px;
	transform: rotate(-90deg);
	background: transparent;
	color: inherit;
	padding: 20px 60px;
	cursor: pointer;
	transition: all 0.25s ease;
}
.about-link:hover {
	background: #22262B;
	color: #fff;
	transition: all 0.25s ease;
}
.email-link {
	display: none;
	position: fixed;
	top: 50%;
	right: -93px;
	transform: rotate(-90deg);
	background: transparent;
}
.email-link a {
	display: block;
	height: 100%;
	text-decoration: none;
	color: inherit;
	padding: 20px 60px;
}
.email-link:hover {
	background: #22262B;
	transition: all 0.25s ease;
}
.email-link:hover > a {
	color: #fff;
}


/* ############ */
/* --- PAGE --- */
/* ############ */
.page {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transform: scale(0.85);
	transition: all 0.5s ease;
	overflow-x: hidden;
}


/* ################ */
/* --- PROJECTS --- */
/* ################ */
.projects {
	width: calc(100% - 30px);
	margin: 136px auto;
	opacity: 1;
	transform: scale(1);
	transition: all 0.5s ease;
}

.project {
	position: relative;
	z-index: 1;
	width: 100%;
	transition: all 0.5s ease;
	padding-bottom: 40%;
	margin-top: 1px;
	margin-bottom: 1px;
	float: left;
}
.project:before {
	content: '';
	display: block;
	position: absolute;
	opacity: 0;
	top: 50%;
	left: 50%;
	width: 90%;
	height: 90%;
	transform: translate(-50%, -50%);
	box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.75);
	transition: all 0.5s ease;
}
.project.half-left,
.project.half-right {
	width: calc(50% - 1px);
	padding-bottom: 60%;
}
.project.half-left {margin-right: 1px;}
.project.half-right {margin-left: 1px;}


/* --- COVER --- */
.project .cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.project .cover img,
.project .cover video {
	position: absolute;
	transform: translate(-50%, -50%);
	top: 50%;
	left: 50%;
	min-width: 100%;
	max-width: 100%;
}


/* --- OVERLAY --- */
.project .overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.project .overlay .background {
	position: absolute;
	z-index: 3;
	opacity: 0;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 0vw;
	height: 0vw;
	border-radius: 50%;
	background: red;
	transition: all 0.5s ease;
}
.project.dfds .overlay .background {background: #9BA4AF;}
.project.edc .overlay .background {background: #131618;}
.project.herskind .overlay .background {background: #DD782F;}
.project.mazda .overlay .background {background: #B63431;}
.project.saxo .overlay .background {background: #C41824;}

.project .overlay .text-wrapper {
	position: absolute;
	z-index: 4;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	height: 26px;
	padding: 10px;
	overflow: hidden;
	opacity: 0;
	text-align: center;
	color: #fff;
	white-space: nowrap;
}
.project .overlay .text-wrapper .top,
.project .overlay .text-wrapper .bottom {
	position: absolute;
	top: 0;
	right: 0;
	width: 15px;
	height: 15px;
	background: none;
}
.project .overlay .text-wrapper .bottom {
	top: auto;
	right: auto;
	bottom: 0;
	left: 0;
}
.project .overlay .text-wrapper .top:before,
.project .overlay .text-wrapper .top:after,
.project .overlay .text-wrapper .bottom:before,
.project .overlay .text-wrapper .bottom:after {
	content: '';
	position: absolute;
	width: 15px;
	height: 1px;
	top: 0;
	right: 0;
	background: #fff;
}
.project .overlay .text-wrapper .bottom:before,
.project .overlay .text-wrapper .bottom:after {
	top: auto;
	right: auto;
	bottom: 0;
	left: 0;
}
.project .overlay .text-wrapper .top:after,
.project .overlay .text-wrapper .bottom:after {
	width: 1px;
	height: 15px;
}
.project .overlay .text-wrapper .case-name {
	font-size: 20px;
	margin-bottom: 15px;
}
.project .overlay .text-wrapper .case-link {
	font-size: 14px;
}


/* --- PROJECT HOVER FUNCTIONS --- */
.project:hover {
	cursor: pointer;
	z-index: 2;
	transform: scale(1.04);
}
.project:hover:before {
	opacity: 1;
	transform: translate(-50%, -45%);
}
.project:hover > .overlay .text-wrapper {
	opacity: 1;
	padding: 20px 30px;
	height: 63px;
	transition: all 0.5s ease 0.15s, padding 0.5s ease 0.15s, height 0.5s ease 0.75s;
}



.project:hover > .overlay .background {
	width: 105vw;
	height: 105vw;
	opacity: 0.85;
}
.project.half-left:hover > .overlay .background,
.project.half-right:hover > .overlay .background {
	width: 85vw;
	height: 85vw;
	opacity: 0.85;
}




/* ################# */
/* --- CASE PAGE --- */
/* ################# */
.page.case .cover {
	width: 100%;
	padding-bottom: 40%;
}
.page.case .cover img,
.page.case .cover video {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
	min-width: 100%;
	max-width: 100%;
}

/*   ---   PROJECT PAGE RIBBON STYLES   ---   */
.page.case .project-ribbon {
	padding: 70px 0;
	background: #21252B;
	color: #fff;
}
.page.case .project-ribbon .line {
	padding: 0;
	max-width: 1000px;
	width: calc(100% - 50px);
	margin: 0 auto;
}
.page.case .project-ribbon .line .info {
	float: left;
}
.page.case .project-ribbon .line .info:nth-child(1) {
	width: 100%;
}
.page.case .project-ribbon .line .info:nth-child(2) {
	width: 100%;
	margin-left: 0%;
}
.page.case .project-ribbon .line .info h2 {
	font-size: 14px;
	font-weight: 400;
	font-family: Georgia;
	color: #505050;
	margin-bottom: 0;
}






/*   ---   PROJECT PAGE CONTENT STYLES   ---   */
.page.case .project-content {
	background: #fff;
}
.page.case .project-content h1 {
	display: inline-block;
	background: #21252B;
	padding: 18px 60px 19px 30px;
	font-size: 18px;
	color: #fff;
	font: "Open Sans", sans-serif;
	font-weight: 400;
	margin-bottom: 25px;
}
.page.case .project-content h1 span {
	font-weight: 700;
}
.page.case .project-content .content {
	max-width: 1000px;
	width: calc(100% - 100px);
	margin: 0 auto;
}


/*   ---   COMMON SECTION STYLES   ---   */
.section {
	max-width: 1000px;
	width: calc(100% - 50px);
	margin: 0px auto;
	padding-top: 50px;
}
.section p.section-text {
	width: 100%;
	padding-bottom: 50px;
}
.section img {
	display: block;
	margin: 0 auto;
}
.section img.full-width {
	width: 100%;
	margin-bottom: 50px;
}
.section img.half-width {
	width: calc(50% - 28px);
	float: left;
	margin-left: 50px;
	display: block;
	padding-bottom: 50px;
}
.section img.one-third-width {
	width: calc(33.33% - 14px);
	float: left;
	margin-left: 20px;
	display: block;
	padding-bottom: 50px;
}
.section img.first {
	margin-left: 0px !important;
}
.section img.shadow{
	box-shadow: 0px 10px 25px 0px rgba(0,0,0,0.50);
}
.section img.round-corners {
	border-radius: 8px;
}
.section video {
	display: block;
	margin: 0 auto;
	width: 100%;
	margin-bottom: 50px;
}
.section video.round-corners {
	border-radius: 8px;
}
.section video.shadow {
	box-shadow: 0px 10px 25px 0px rgba(0,0,0,0.50);
}



/*   ---   CLOSE BUTTON STYLES   ---   */
.close-button {
	display: none;
	z-index: 100;
	width: 40px;
	height: 40px;
	position: fixed;
	top: 50px;
	right: 50px;
	background: #f0f0f0;
	transition: all 0.25s ease;
}
.close-button:before,
.close-button:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2px;
	height: 18px;
	margin-top: -9px;
	margin-left: -1px;
	transform: rotate(45deg);
	background: #21252B;
}
.close-button:after {
	transform: rotate(-45deg);
}
.close-button:hover {
	transform: rotate(90deg);
	border-radius: 50%;
	transition: all 0.25s ease;
	background: #22262B;
}
.close-button:hover:before,
.close-button:hover:after {
	background: #EEE;
}


/*   ---   MENU BUTTON STYLES   ---   */
.menu-button {
	display: block;
	z-index: 100;
	width: 40px;
	height: 40px;
	position: fixed;
	top: 50px;
	right: 50px;
	background: #f0f0f0;
	transition: all 0.25s ease;
}
.menu-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	height: 2px;
	width: 18px;
	margin-left: -9px;
	margin-top: -1px;
	background: #21252B;
	transition: all 0.25s ease;
}
.menu-icon:before,
.menu-icon:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	height: 2px;
	width: 18px;
	margin-left: -9px;
	background: #21252B;
	transition: all 0.25s ease;
}
.menu-icon:before {
	margin-top: -6px;
}
.menu-icon:after {
	margin-top: 4px;
}
.menu-button:hover {
	border-radius: 50%;
	transform: rotate(90deg);
	background: #22262B;
}
.menu-button:hover > .menu-icon,
.menu-button:hover > .menu-icon:before,
.menu-button:hover > .menu-icon:after {
	background: #EEE;
}

.menu-button:hover > .menu-icon:before {margin-top: -8px;}
.menu-button:hover > .menu-icon:after {margin-top: 6px;}
.menu-button:hover > .menu-icon {transform: rotate(-90deg);}



.menu-button.clicked .menu-icon {
	background: none;
	margin-left: -17px;
	margin-top: 7px;
}
.menu-button.clicked .menu-icon:before,
.menu-button.clicked .menu-icon:after {
	width: 18px;
	height: 2px;
	margin-top: -9px;
	margin-left: -1px;
	transform: rotate(45deg);
	background: #21252B;
}
.menu-button.clicked .menu-icon:after {
	transform: rotate(-45deg);
}


.menu-button.clicked:hover > .menu-icon {
	transform: rotate(0deg);
}

.menu-button.clicked:hover > .menu-icon:before,
.menu-button.clicked:hover > .menu-icon:after {
	background: #eee;

}


.menu {
	display: none;
	text-align: center;
	padding-top: 150px;
}

.menu .link {
	margin-bottom: 30px;
}
.menu .link a {
	position: relative;
	color: inherit;
	text-decoration: none;
	font-size: 20px;
}
.menu .link a:after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 50%;
	width: 100%;
	transform: translateX(-50%);
	height: 1px;
	background: #000;
	transition: all 0.25s ease;
}
.menu .link a:hover:after {
	width: 0%;
	transition: all 0.25s ease;

}


/* ################## */
/* --- ABOUT PAGE --- */
/* ################## */
#about .small-title {
	font-family: Georgia;
	color: #87898C;
	margin: 0 0 10px 0;
	padding: 0;
}
#about h1 {
	font-weight: 300;
	font-size: 36px;
	color: #21252B;
	margin: 0 0 40px 0;
	padding: 0;
}
#about h1 span {
	margin-left: 15px;
	font-family: Georgia;
	font-size: 40px;
}
#about .big-text {
	font-size: 22px;
	line-height: 32px;
	margin: 0 0 80px 0;
}
#about .big-text span {
	color: #87898C;
	margin: 0 15px;
}
#about .links {
	margin: 0 0 80px 0;
}
#about .links a {
	position: relative;
	color: inherit;
	text-decoration: none;
	margin-right: 40px;
	font-size: 20px;
}
#about .links a:after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 50%;
	width: 100%;
	transform: translateX(-50%);
	height: 1px;
	background: #000;
	transition: all 0.25s ease;
}
#about .links a:hover:after {
	width: 0%;
	transition: all 0.25s ease;

}

#about img {
	margin: 0 0 150px 0 !important;
}



/* ################ */
/* --- EDC CASE --- */
/* ################ */
.page.case.edc .video-area {
	padding-bottom: 200px;
}
.page.case.edc .video-area p span {
	font-weight: 600;
}
.page.case.edc .video-area .video-wrapper {
	position: relative;
	max-width: 1000px;
	width: calc(100% - 100px);
	margin: 0px auto;
}
.page.case.edc .video-area .video-wrapper:after {
	content: '';
	display: block;
	padding-top: 56.25%;
}
.page.case.edc .video-area .video-wrapper .video-content {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
}
.page.case.edc .video-area .video-wrapper .video-content iframe {
	width: 100%;
	height: 100%;
}
.page.case.edc .showcase {
	padding-top: 180px;
	background: #003366;
}
.page.case.edc .showcase .ipad {
	width: 1000px;
	margin: 0 auto;
}
.page.case.edc .showcase .ipad-skew {
	margin-top: 200px;
}
.page.case.edc .showcase .ipad-skew img {
	min-width: 100%;
	max-width: 100%;
	display: block;
}

/* ################# */
/* --- SAXO CASE --- */
/* ################# */
.page.case.saxo .project-content {
	background: #eee;
}
.page.case.saxo  .video {
	padding: 50px 0 150px 0;
}

/* ################## */
/* --- MAZDA CASE --- */
/* ################## */
.page.case.mazda .project-content {
	background: #eee;
}
.page.case.mazda .section {
	padding-top: 50px;
}

.page.case.mazda .mazda-bg {
	background: #030305 url('../assets/mazda/mazda-bg.jpg');
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
}
.page.case.mazda .mazda-bg .section {
	padding-top: 150px;
}
.page.case.mazda .mazda-ipad {
	background: url('../assets/mazda/mazda-ipad.png');
	width: 900px;
	height: 707px;
	margin: 0 auto;
	padding-bottom: 300px;
	background-repeat: no-repeat;
	position: relative;
}

.page.case.mazda .mazda-ipad .video {
	position: absolute;
	top: 92px;
	left: 50%;
	width: 688px;
	height: 516px;
	margin-left: -344px;
}

.page.case.mazda .display-banner {
	text-align: center;
}
.page.case.mazda .display-banner .banner iframe {
	border: 0;
	margin: 0 auto;
}
.page.case.mazda .display-banner .banner iframe#display2-banner {
	overflow: hidden;
	height: 300px;
}
.page.case.mazda .display-banner .banner object#takeover-banner {
	position: relative;
	left: -50px;
}
.page.case.mazda .reload-link {
	margin-top: 30px;
	margin-bottom: 100px;
	background: #fff;
	display: inline-block;
	position: relative;
	overflow: hidden;
	transition: all 0.25s ease;
}
.page.case.mazda .reload-link .label {
	position: relative;
	z-index: 2;
	padding: 17px 60px;
	transition: all 0.5s ease;
	color: #000;
}
.page.case.mazda .reload-link .label svg {
	vertical-align: -1px;
	margin-left: 4px;
}
.page.case.mazda .reload-link .label svg g {
	transition: all 0.25s ease;
}
.page.case.mazda .reload-link .hover {
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 0 0;
	border-color: transparent #22262B transparent transparent;
}
.page.case.mazda .reload-link:hover {
	cursor: pointer;
	background: #22262B;
}
.page.case.mazda .reload-link:hover > .label {
	color: #fff;
	transition: all 0.5s ease;
}
.page.case.mazda .reload-link:hover > .label svg g {
	fill: #FFF;
	transition: all 0.5s ease;
}
.page.case.mazda .black-bg {
	background: #151516;
	color: #fff;
}
.page.case.mazda .black-bg .youtube-video {
	width: 100%;
	height: 562px;
	padding-bottom: 100px;
}
.page.case.mazda .triangle-bottom {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 1000px 250px 0;
	border-color: transparent #151516 transparent transparent;
}
.page.case.mazda .triangle-bottom.black {
	border-color: transparent #030305 transparent transparent;
}
.page.case.mazda .triangle-top {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 250px 0 0 1000px;
	border-color: transparent transparent transparent #151516;
}




/* ##################### */
/* --- HERSKIND CASE --- */
/* ##################### */
.page.case.herskind .project-content {
	background: #eee;
}

.page.case.herskind .try-yourself {
	position: relative;
	display: block;
	width: calc(610px - 160px);
	height: calc(78px - 50px);
	left: 50%;
    transform: translate(-50%, 0);
    padding: 0 80px;
    margin: 100px 0 200px;
	transition: all 0.25s ease;
}
.page.case.herskind .try-yourself:before {
    content: '';
    position: absolute;
    width: calc(100% - 60px);
    height: 100%;
    bottom: -45px;
    left: 50%;
    transform: translate(-50%, 0);
    box-shadow: 0px 10px 30px 0px rgba(44,48,62,0.5);
    padding: 25px 0px 20px 0px;
	transition: all 0.25s ease;
}
.page.case.herskind .try-yourself:after {
	content: url('../assets/herskind/button.png');
	position: absolute;
	text-align: center;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: #2C313E;
	padding: 25px 0px 20px 0px;
	transition: all 0.25s ease;
}
.page.case.herskind .try-yourself:hover {
	padding: 0 100px;
}
.page.case.herskind .try-yourself:hover:after {
	background: #49BD42;
	cursor: pointer;
}
.page.case.herskind .try-yourself:hover:before {
 	box-shadow: 0px 10px 30px 0px rgba(73,189,66,0.50);
 }

/* ################# */
/* --- DFDS CASE --- */
/* ################# */
.page.case.dfds .project-content {
	background: #043258;
	color: #fff;
}
.page.case.dfds .project-content .flow {
	min-width: 100%;
	height: 1926px;
	background: url('../assets/dfds/flow.jpg') 50% 50% no-repeat;
}

.page.case.dfds .project-content .end {
	padding: 300px 0;
}
.page.case.dfds .project-content .end img {
	height: 80px;
	display: block;
	margin: 0 auto;
}



.clearfix {
	clear: both;
}

@media (min-width: 650px) {
	.projects {
		width: calc(100% - 100px);
		max-width: 1280px;
	}
	.section {
		width: calc(100% - 100px);
		padding-top: 100px;
	}
	.page.case .project-ribbon .line {
		max-width: 1000px;
		width: calc(100% - 100px);
	}


	.project .overlay .text-wrapper {
		height: 36px;
	}
	.project .overlay .text-wrapper .case-name {
		font-size: 30px;
		margin-bottom: 15px;
	}
	.project .overlay .text-wrapper .case-link {
		font-size: 16px;
	}

	.project:hover > .overlay .text-wrapper {
		height: 78px;
	}

}

@media (min-width: 1024px) {
	.projects {
		width: calc(100% - 300px);
		max-width: 1280px;
	}
	.email-link,
	.about-link {
		display: block;
	}
	.menu-button {
		display: none;
	}

	/* --- SECTIONS --- */
	.section {padding-top: 150px;}
	.section p.section-text {width: 50%;}
	.section img.half-width {
		width: calc(50% - 50px);
		margin-left: 100px;
		padding-bottom: 100px;
	}

	/* --- TITLES --- */
	.page.case .project-content h1 {margin-bottom: 50px;}


	.page.case .project-ribbon .line {padding: 20px 0;}
	.page.case .project-ribbon .line .info:nth-child(1) {width: 30%;}
	.page.case .project-ribbon .line .info:nth-child(2) {width: 65%;margin-left: 5%;}
}







