/* @override
	https://twentytwenty.test/assets/css/global.css?*
 */
/* -----------------------------------------------------------

	Project:		Twentytwenty.fi
	Version:		1.0
	Created:		May 19, 2019
	Modified:		January 31, 2024

		[Table of contents]
		1. Reset
		2. Typography
			2.1	Headings
			2.2	Text elements
			2.3	Buttons
			2.4	Lists
			2.5	Tables
			2.6	Forms
		3. Utility styles
		4. Structure
			4.1	Header
			4.2	Navigation
			4.3	Content
			4.4	Footer
			4.5	Media queries
		5. Clear floats

----------------------------------------------------------- */


/* -----------------------------------------------------------

	RESET

----------------------------------------------------------- */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, menu, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

article, aside, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; }

nav ul 		{ list-style: none; margin: 0; padding: 0; }
nav ul li	{ display: inline; }

blockquote, q 		{ quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after 	{ content: ''; content: none; }

a 		{ margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
ins 	{ background-color: #ff9; color: #000; text-decoration: none; }
mark 	{ background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del 	{ text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted #000; cursor: help; }

/* tables still need cellspacing="0" in the markup */
table 			{ border-collapse: collapse; border-spacing: 0; }
hr 				{ display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
input, select 	{ vertical-align: middle; }






/* -----------------------------------------------------------

	TYPOGRAPHY

----------------------------------------------------------- */

@font-face {
    font-family: 'NoeDisplayMedium';
    src: url('../fonts/NoeDisplayMedium.eot');
    src: url('../fonts/NoeDisplayMedium.eot?#iefix') format('embedded-opentype'), url('../fonts/NoeDisplayMedium.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'MaisonNeue-Boo';
    src: url('../fonts/MaisonNeue-Book.woff2') format('woff2'),
    	 url('../fonts/MaisonNeue-Book.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'MaisonNeue-Bold';
    src: url('../fonts/maisonneue-bold.woff2') format('woff2'),
	     url('../fonts/maisonneue-bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


html		{ font-size: 62.5%; /* Set html font-size to 10px so: 1rem = 10px */ }
body		{ font-size: 160%; /* Set html font-size to 16px. Use em for font-size and change this to change scale */ color: #0e0e0e; line-height: 1.6; font-family: 'MaisonNeue-Boo', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; text-size-adjust: 100%; text-rendering: optimizeLegibility; font-feature-settings: "kern"; -webkit-font-feature-settings: "kern"; -moz-font-feature-settings: "kern"; -moz-font-feature-settings: "kern=1"; }



/* HEADINGS
-------------------------------------------------------------- */
h1,h2,h3,h4,h5,h6	{ font-weight: normal; font-family: 'NoeDisplayMedium', Helvetica, Arial, sans-serif; text-rendering: optimizeLegibility; }

h1					{ font-size: 3em; line-height: 1; margin-bottom: 0.5em; }
h2					{ font-size: 2em; margin-bottom: 0.75em; }
h3					{ font-size: 1.5em; line-height: 1; margin-bottom: 1em; }
h4					{ font-size: 1.2em; line-height: 1.25; margin-bottom: 1.25em; height: 1.25em; }
h5					{ font-size: 1em; font-weight: bold; margin-bottom: 1.5em; }
h6					{ font-size: 1em; font-weight: bold; }

.content-block--hero h1				{ font-size: 3.750em; margin-bottom: 8.5rem; }

.content-block__title h1,
.content-block__title h2			{ font-size: 11.250em; margin: 0; }
.home-hero h1						{ font-size: 1.3125em !important; margin: 0; font-family: 'MaisonNeue-Boo'; text-transform: uppercase; }
.main-navigation ul li a			{ font-size: 9.375em; }

.work-case__link__info h3			{ font-family: 'MaisonNeue-Boo'; font-size: 1em; margin-bottom: 0.65em; }


/* TEXT COLORS
-------------------------------------------------------------- */
.text-color__light,
.text-color__light a,
.text-color__light h1,
.text-color__light h2			{ color: #f9f9f9; }

.text-color__dark,
.text-color__dark a,
.text-color__dark h1,
.text-color__dark h2			{ color: #0e0e0e; }




/* TEXT ELEMENTS
-------------------------------------------------------------- */
p			{ margin: 0 0 1.5em; }

a:hover, a:active 		{ outline: none; }
a, a:active, a:visited 	{  }
a:hover 				{  }

blockquote	{  }
strong		{ font-weight: normal; font-family: 'MaisonNeue-Bold'; }
em,dfn		{ font-style: italic; }
dfn			{ font-weight: bold; }
sup, sub	{ line-height: 0; font-size: 0.75em; position: relative; vertical-align: baseline; }
sup			{ top: -0.5em; }
sub			{ bottom: -0.25em; }

abbr,
acronym		{  }
address		{  }
del			{  }

pre,code	{ white-space: pre; }
pre,code,tt {  }
pre 		{ white-space: pre; white-space: pre-wrap; white-space: pre-line; word-wrap: break-word; }



/* BUTTONS
-------------------------------------------------------------- */
.btn					{  }
.btn:hover				{  }



/* LISTS
-------------------------------------------------------------- */
li ul,
li ol		{ margin: 0 1.5em; }
ul, ol		{ margin: 0 1.5em 1.5em 1.5em; }

ul			{ list-style-type: disc; }
ol			{ list-style-type: decimal; }

dl			{ margin: 0 0 1.5em 0; }
dl dt		{ font-weight: bold; }
dd			{ margin-left: 1.5em;}

.page-hero .tag-list			{ list-style: none; margin: 0; font-size: 0.75em; }




/* -----------------------------------------------------------

	UTILITY STYLES

----------------------------------------------------------- */
.bg-video,
.bg-cover			{ background-position: center center; background-repeat: no-repeat; background-size: cover; }
.bg-video 			{ position: absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%; width: auto; height: auto; z-index: -100; -webkit-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); }

.center-vertically	{ position: relative; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

.flexbox						{ width: 100%; overflow: hidden; display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-content: stretch; align-content: stretch; }
.flexbox.two-col .item			{ width: 50%; }
.flexbox.three-col .item		{ width: 33.33%; }
.flexbox.three-col .item-x2		{ width: 66.66%; }

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

.embed-container 			{ position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } 
.embed-container iframe, 
.embed-container object, 
.embed-container embed 		{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.aspect-ratio-11 .embed-container		{ padding-bottom: 100%; }
.aspect-ratio-121 .embed-container		{ padding-bottom: 83.333%; }
.aspect-ratio-43 .embed-container		{ padding-bottom: 75%; }
.aspect-ratio-169 .embed-container		{ padding-bottom: 56.25%; }
.aspect-ratio-2391 .embed-container		{ padding-bottom: 41.841%; }
.aspect-ratio-329 .embed-container		{ padding-bottom: 28.125%; }
.aspect-ratio-1350881 .embed-container	{ padding-bottom: 65.259%; }






/* -----------------------------------------------------------

	STRUCTURE

----------------------------------------------------------- */
*,
*:before,
*:after 				{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
html					{ height: 100%; overflow-y: scroll; -webkit-overflow-scrolling: touch; background-color: #f9f9f9; }
body 					{ height: 100%; text-align: center; }

.page-wrapper			{ width: 100%; min-height: 100%; _height: 100%; margin: auto; position: relative; text-align: left; }
.page-wrapper.hidden	{ height: 100vh; overflow: hidden; }
.page-header,
.page-content,
.page-footer,
.content-wrapper		{ width: 100%; overflow: hidden; clear: both; position: relative; }





/* LOGO
-------------------------------------------------------------- */
.logo a						{ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
.logo img,
.logo a img					{ display: block; width: auto !important; height: 45px !important; }



/* NAVIGATION
-------------------------------------------------------------- */
.nav-toggle							{ position: absolute; width: 36px; height: 36px; bottom: 3px; right: 7rem; z-index: 1000; }
.nav-toggle.absolute				{  }
.nav-toggle.fixed					{ position: fixed; top: 5.4rem; }


.nav-toggle__icon 					{ cursor: pointer; position: relative; top: 0; height: 36px; width: 36px; }
.nav-toggle__icon:before, 
.nav-toggle__icon:after 			{ content: ''; height: 3px; left: 0; position: absolute; top: 16px; width: 36px; transition: transform 200ms cubic-bezier(0.77, 0, 0.175, 1); }
.nav-toggle__icon:after 			{ transform-origin: center; }
.nav-toggle__icon.collapsed:after 	{ transform: rotate(90deg); }
.nav-toggle__icon.collapsed:before 	{ transform: rotate(180deg); }

.text-color__dark .nav-toggle__icon:before, 
.text-color__dark .nav-toggle__icon:after	{ background-color: #0e0e0e; }

.text-color__light .nav-toggle__icon:before, 
.text-color__light .nav-toggle__icon:after	{ background-color: #f9f9f9; }

.nav-toggle__icon.light:before,
.nav-toggle__icon.light:after		{ background-color: #f9f9f9; }




.main-navigation					{ width: 100%; height: 100vh; background-color: #0e0e0e; color: #f9f9f9; font-family: 'NoeDisplayMedium', Helvetica, Arial, sans-serif; text-align: right; position: relative; margin-top: 0; transition: margin-top 500ms cubic-bezier(0.77, 0, 0.175, 1); display: none; }
.main-navigation.block-element		{ display: block; }
.main-navigation.hidden				{ margin-top: -100vh; }
.main-navigation ul					{ margin: 0; list-style: none; padding: 5rem 20rem 5rem 5rem; }
.main-navigation ul li				{ line-height: 1; }
.main-navigation ul li a			{ text-decoration: none; color: #f9f9f9; position: relative; }
.main-navigation ul li a:after		{ content: ""; position: absolute; width: 75px; height: 2px; bottom: 19px; left: -85px; background-color: #0e0e0e; transition: width 250ms cubic-bezier(0.77, 0, 0.175, 1); }
.main-navigation ul li a:hover:after	{ width: 0px; }
.main-navigation ul li a:before			{ content: ""; position: absolute; width: 75px; height: 2px; bottom: 19px; left: -85px; background-color: #f9f9f9; }

.main-navigation__footer			{ position: absolute; width: 100%; bottom: 0; padding: 0 7rem 5rem 7rem; text-align: right; }
.main-navigation__footer p			{ margin: 0; padding: 0; line-height: 1; font-family: 'MaisonNeue-Boo', Helvetica, Arial, sans-serif; }
.main-navigation__footer p a		{ color: #f9f9f9; text-decoration: none; }





/* CONTENT ELEMENTS
-------------------------------------------------------------- */
.flexbox-wrapper						{ display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: flex-end; }
.text-columns.flexbox-wrapper			{ align-items: flex-start; }
.flexbox-wrapper__item					{  }
.text-columns .flexbox-wrapper__item	{ width: 47%; }




.content-block											{ position: relative; width: 100%; }
.content-block .overlay									{ position: absolute; width: 100%; }

.content-block--hero.page-hero							{ min-height: 100vh; display: flex; flex-direction: column; justify-content: center; }
.content-block--hero .content-block__header .logo		{ visibility: hidden; }

.content-block--image									{ overflow: hidden; width: 100%; }
.content-block--image .flexbox-wrapper__item img 		{ display: block; width: 100%; }

.content-block--columns									{ position: relative; /*min-height: 90vh;*/ display: flex; flex-direction: column; justify-content: center; }
.content-block--video									{ background-color: #f9f9f9; }

.content-block--video.flexbox-wrapper,
.content-block--image.flexbox-wrapper							{ flex-wrap: wrap; }
.content-block--video.flexbox-wrapper .flexbox-wrapper__item,
.content-block--image.flexbox-wrapper .flexbox-wrapper__item	{ width: 50%; }

.content-block__title 									{ text-align: center; padding: 12rem 5rem 12rem 20rem; }
.content-block__content									{ width: 100%; margin: 0 auto; padding: 35rem 20rem; position: relative !important; }
.content-block--columns .content-block__content			{ max-width: 1680px; }

.content-block__background img							{ display: block; width: 100%; max-width: 100%; height: auto; }

.content-block__header.overlay							{ top: 0; padding: 5rem 7rem 0 7rem; }
.page-footer .content-block__header.overlay				{ padding: 5rem 5rem 0 5rem; }

.content-block__footer.overlay							{ bottom: 0; padding: 0 7rem 5rem 7rem; }
.page-footer .content-block__footer.overlay				{ padding: 0 5rem 5rem 5rem; }




.work-case__link					{ position: relative; display: block; overflow: hidden; }
.work-case__link .left,
.work-case__link .right				{ position: absolute; width: 20px; height: 100%; background-color: #f9f9f9; top: 0; right: 0px; z-index: 100; }
.work-case__link .right				{ right: -20px; transition: right 250ms cubic-bezier(0.77, 0, 0.175, 1); }
.work-case__link .left				{ left: -20px; transition: left 250ms cubic-bezier(0.77, 0, 0.175, 1); }
.work-case__link .top,
.work-case__link .bottom			{ position: absolute; height: 20px; width: 100%; background-color: #f9f9f9; left: 0; z-index: 100; }
.work-case__link .top				{ top: -20px; transition: top 250ms cubic-bezier(0.77, 0, 0.175, 1); }
.work-case__link .bottom			{ bottom: -20px; transition: bottom 250ms cubic-bezier(0.77, 0, 0.175, 1); }

.work-case__link:hover .left		{ left: 0; }
.work-case__link:hover .right		{ right: 0; }
.work-case__link:hover .top			{ top: 0; }
.work-case__link:hover .bottom		{ bottom: 0; }

.work-case__link__info						{ position: absolute; top: 5rem; right: 7rem; text-align: right; width: calc(100% - 14rem); }
.work-case__link__info .tag-list			{ margin: 0; padding: 0; display: inline-block; list-style: none; font-size: 0.75em; overflow: hidden; }
.work-case__link__info .tag-list li			{ margin-bottom: 0.75rem; position: relative; right: -100%; transition: right 250ms cubic-bezier(0.77, 0, 0.175, 1); }
.work-case__link:hover .tag-list li			{ right: 0; }

.page-footer.content-block .content-block__title 	{ padding: 0; position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); text-align: center; }

.page-footer a						{ text-decoration: none; }


.social-media-links					{ list-style: none; margin: 0; text-align: right; }
.social-media-links li				{  }
.social-media-links li a			{ position: relative; }
.social-media-links li a:before		{ content: ""; position: absolute; width: 10px; height: 1px; bottom: 5px; left: -16px; background-color: #f9f9f9; transform-origin: center right; transition: transform 250ms cubic-bezier(0.77, 0, 0.175, 1); transform: scaleX(0); }
.social-media-links li a:hover:before	{ transform: scaleX(1); }



.case-navigator						{ text-align: right; padding: 0 7rem 5rem 7rem; width: 100%; overflow: hidden; }
.case-navigator a					{ display: inline; float: right; text-decoration: none; color: #0e0e0e; }
.case-navigator a:hover				{ text-decoration: underline; }
.case-navigator p					{ margin: 0; }



.img-carousel						{ position: relative; width: 100%; overflow: hidden; }
.img-carousel .slider 				{ margin: 0 auto; }
.img-carousel .image img			{ display: block; width: 100%; }

.img-carousel .img-carousel_controls 	{ display: none; }
/*
.img-carousel .slick-arrow			{ position: absolute; z-index: 10; top: 5rem; font-family: 'MaisonNeue-Bold'; font-size: 16px; color: #f9f9f9; background: transparent; border: none; padding: 0 0.5rem; cursor: pointer; text-align: center; outline: none; }
.img-carousel .next					{ right: 7rem; }
.img-carousel .prev					{ right: 9rem; }
*/

.img-carousel .progress 			{ position: absolute; z-index: 100; bottom: 0; display: block; width: 100%; height: 5px; border-radius: 0 !important; overflow: hidden; background-color: transparent; background-image: linear-gradient(to right, #f9f9f9, #f9f9f9); background-repeat: no-repeat; background-size: 0 100%; transition: background-size .4s ease-in-out; }
.img-carousel .sr-only 				{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; border: 0; }

.double-carousel					{ border-left: 10px solid #f9f9f9; border-right: 10px solid #f9f9f9; }
.double-carousel .img-carousel		{ border-left: 10px solid #f9f9f9; border-right: 10px solid #f9f9f9; border-bottom: 20px solid #f9f9f9; border-top: 20px solid #f9f9f9; }




/* Homepage hero */
.home-hero												{ height: 100%; background-position: center center; background-repeat: no-repeat; background-size: cover; }
.home-hero.home-hero--no-bg								{ height: 100vh; background-image: none; }
.home-hero__wrapper										{ max-height: 100%; height: 100vh; display: flex; flex-direction: column; justify-content: center; background-color: transparent !important; }

.home-hero .content-block__background					{ margin-top: -95px; }

.home-hero .home-hero__logo								{ position: -webkit-sticky; position: sticky; top: calc(100vh - 95px); background: transparent; opacity: 0; transition: width 100ms cubic-bezier(0.25, 0.46, 0.45, 0.94); visibility: hidden; }
.home-hero .home-hero__logo.visible						{ opacity: 1; transition: width 100ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.home-page .home-hero .home-hero__logo					{ visibility: visible; }

.home-hero .content-block__title.visible				{ text-align: center; opacity: 1; transition: width 100ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.home-hero .content-block__title						{ opacity: 0; transition: width 100ms cubic-bezier(0.25, 0.46, 0.45, 0.94); position: relative; overflow: hidden; padding: 12rem 1rem 12rem calc(50% - 60px); }
.home-hero .content-block__title h1						{ display: inline; position: relative; float: left; }
.home-hero .content-block__title h1:after				{ content: ""; height: 1px; position: absolute; left: calc(100% + 10px); bottom: 0.1rem; width: 0vw; transition: width 500ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.home-hero.text-color__light .content-block__title h1:after		{ background-color: #f9f9f9; }
.home-hero.text-color__dark .content-block__title h1:after		{ background-color: #0e0e0e; }

.home-hero .content-block__title ul						{ list-style: none; margin: 0; padding: 0; /*font-size: 180px;*/ font-family: 'NoeDisplayMedium'; line-height: 1; left: calc(100% + 30px); position: relative; float: left; display: none; }
.home-hero .content-block__title ul li					{ display: inline; position: absolute; left: 0; }


.home-hero.draw-line .content-block__title h1:after		{ width: 7vw; opacity: 1; }
.home-hero.remove-line .content-block__title h1:after	{ opacity: 0; }


.page-hero .logo	{ visibility: hidden; }



.icon											{ position: relative; width: 100%; height: 8px; margin-bottom: 1em; }
.icon__plus-minus 								{ position: relative; top: -8px; height: 8px; width: 8px; display: inline-block; }
.icon__plus-minus:before, 
.icon__plus-minus:after 						{ content: ''; height: 1px; left: 0; position: absolute; top: 5px; width: 8px; transition: transform 200ms cubic-bezier(0.77, 0, 0.175, 1); }
.icon__plus-minus:after 						{ transform-origin: center; }
.icon__plus-minus:after 						{ transform: rotate(90deg); }
.icon__plus-minus:before 						{ transform: rotate(180deg); }
.work-case__link:hover .icon__plus-minus:after 	{ transform: rotate(0deg); }

.text-color__dark .icon__plus-minus:before, 
.text-color__dark .icon__plus-minus:after		{ background-color: #0e0e0e; }

.text-color__light .icon__plus-minus:before, 
.text-color__light .icon__plus-minus:after		{ background-color: #f9f9f9; }







/* FOOTER
-------------------------------------------------------------- */
.content-block__footer .flexbox-wrapper__item			{ width: 33%; }
.page-footer .content-block__title						{  }
.page-footer .content-block__title h2					{ display: inline; position: relative; padding-right: 30vw; }
.page-footer .content-block__title h2:after				{ content: ""; width: 0; height: 10px; background-color: #f9f9f9; position: absolute; left: calc(100% - 26.5vw); bottom: 3.5rem; }
.page-footer .content-block__title.draw-line h2:after	{ width: 26.5vw; transition: width 250ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.content-block__footer__contacts						{ text-align: center; }.page-footer--new										{  }.page-footer--new .content-block__footer				{ padding: 0 7rem 5rem 7rem; }




/* MEDIA QUERIES
-------------------------------------------------------------- */
@media only screen and (min-width : 1224px) {
	/* Desktops and laptops */
}

@media only screen and (max-width : 1280px) {
	.content-block__content					{ padding: 25rem 18rem; }
	.content-block__title h1,
	.content-block__title h2				{ font-size: 10em; }
	
	.page-footer .content-block__title h2:after	{ height: 8px; }
}

@media only screen and (max-width : 1140px) {
	.content-block__content					{ padding: 20rem 15rem; }
	.content-block__title h1,
	.content-block__title h2				{ font-size: 7.5em; }
	.content-block__header.overlay			{ padding: 3.5rem 5rem 0 5rem; }
	.page-footer .content-block__header.overlay	{ padding: 3.5rem 5rem 0 5rem; }
	.page-footer .content-block__footer.overlay	{ padding: 0 5rem 3.5rem 5rem; }
	.nav-toggle								{ right: 5rem; }	.page-footer--new .content-block__footer,
	.main-navigation__footer,
	.content-block__footer.overlay			{ padding: 0 5rem 3.5rem 5rem; }
	
	.case-navigator							{ padding: 0 5rem 3.5rem 5rem; }
	
	.logo img,
	.logo a img								{ height: 35px !important; }
	.home-hero .content-block__background	{ margin-top: -70px; }
	.home-hero .home-hero__logo				{ top: calc(100vh - 70px); }
	
	.main-navigation ul li a				{ font-size: 7.5em; }
	
	.nav-toggle								{ width: 30px; height: 30px; right: 5rem; }
	.nav-toggle.fixed						{ top: 3.7rem; }
	.nav-toggle__icon 						{ height: 30px; width: 30px; }
	.nav-toggle__icon:before, 
	.nav-toggle__icon:after 				{ height: 3px; top: 14px; width: 30px; }
	
	.img-carousel .slick-arrow			{ top: 3.5rem; }
	.img-carousel .next					{ right: 5rem; }
	.img-carousel .prev					{ right: 7rem; }
	
	.page-footer .content-block__title h2:after	{ height: 8px; left: calc(100% - 26.5vw); bottom: 2.8rem; }
}

@media only screen and (max-width : 1000px) {
	.content-block__content					{ padding: 15rem 10rem; }
	.content-block__title h1,
	.content-block__title h2				{ font-size: 5.625em; }
	
	.main-navigation ul						{ padding: 5rem 15rem 5rem 5rem; }
	.main-navigation ul li a				{ font-size: 5.625em; }
	
	.page-footer .content-block__title h2:after	{ height: 6px; left: calc(100% - 26.5vw); bottom: 2.2rem; }
}

@media only screen and (max-width : 800px) {
	.content-block__content					{ padding: 15rem 5rem; }
	.content-block__title h1,
	.content-block__title h2				{ font-size: 4.5em; }
	.content-block__header.overlay			{ padding: 2.5rem 3.5rem 0 3.5rem; }
	.page-footer .content-block__header.overlay	{ padding: 2.5rem 3.5rem 0 3.5rem; }
	.page-footer .content-block__footer.overlay	{ padding: 0 3.5rem 2.5rem 3.5rem; }
	.nav-toggle								{ right: 3.5rem; }
	.nav-toggle.fixed						{ top: 2.7rem; }
	.main-navigation__footer,
	.content-block__footer.overlay			{ padding: 0 3.5rem 2.5rem 3.5rem; }
	.home-hero .content-block__background	{ margin-top: -60px; }
	.home-hero .home-hero__logo				{ top: calc(100vh - 60px); }
	
	.main-navigation ul						{ padding: 5rem 12.5rem 5rem 5rem; }
	.main-navigation ul li a				{ font-size: 4.5em; }
	
	.img-carousel .slick-arrow			{ top: 2.5rem; }
	.img-carousel .next					{ right: 3.5rem; }
	.img-carousel .prev					{ right: 5.5rem; }
	
	.case-navigator							{ padding: 0 3.5rem 2.5rem 3.5rem; }
	
	.work-case__link__info					{ right: 5rem; width: calc(100% - 10rem); }
	
	.page-footer .content-block__title h2:after	{ height: 4px; left: calc(100% - 26.5vw); bottom: 1.7rem; }
	
	.content-block--video.flexbox-wrapper .flexbox-wrapper__item,
	.content-block--image.flexbox-wrapper .flexbox-wrapper__item		{ width: 100%; }
}

@media only screen and (max-width : 678px) {
	.content-block__content					{ padding: 15rem 2rem; }
	.home-hero								{ height: 100vh; }
	.home-hero.home-hero--no-bg				{ height: 100vh; background-image: none; }
	.home-hero .content-block__background	{ display: none; }
	.home-hero .home-hero__logo				{ position: relative; position: relative; bottom: 20px; }
	.content-block__header.overlay			{ padding: 2rem 2rem 0 2rem; }
	.page-footer .content-block__header.overlay	{ padding: 2rem 2rem 0 2rem; }
	.page-footer .content-block__footer.overlay	{ padding: 0 2rem 2rem 3rem; }
	.nav-toggle								{ right: 2rem; width: 24px; height: 24px; }
	.nav-toggle.fixed						{ top: 2.3rem; }
	
	.main-navigation ul						{ padding: 5rem 10rem 5rem 5rem; }
	
	.nav-toggle__icon 						{ height: 24px; width: 24px; }
	.nav-toggle__icon:before, 
	.nav-toggle__icon:after 				{ height: 2px; top: 10px; width: 24px; }
	
	.img-carousel .slick-arrow			{ top: 2rem; }
	.img-carousel .next					{ right: 2rem; }
	.img-carousel .prev					{ right: 4rem; }
	
	.content-block--image									{ width: 100%; min-height: 100vw; height: 100vh; background-position: center center; background-repeat: no-repeat; background-size: cover; }
	.content-block--image .content-block__background img	{ display: none; }
	
	.content-block--image.content-block--image--plain			{ min-height: auto; height: auto; }
	.content-block--image--plain .content-block__background img	{ display: block; }
	
	.content-block--image.carousel-block					{ min-height: 100%; height: 100%; }
	
	.work-case__link										{ height: 100vh; }
	.work-case__link__info									{ right: 2rem; width: calc(100% - 4rem); }
	.work-case__link .left,
	.work-case__link .right				{ width: 10px; }
	.work-case__link .right				{ right: -10px; }
	.work-case__link .left				{ left: -10px; }
	.work-case__link .top,
	.work-case__link .bottom			{ height: 10px; }
	.work-case__link .top				{ top: -10px; }
	.work-case__link .bottom			{ bottom: -10px; }
	
	
	.content-block--image.flexbox-wrapper									{ width: 100%; min-height: 100%; height: 100%; }
	.content-block--image.flexbox-wrapper .flexbox-wrapper__item			{ width: 100%; }
	.content-block--image.flexbox-wrapper .work-case__link					{ height: 100%; }
	.content-block--image.flexbox-wrapper .content-block__background img	{ display: block; }
	
	.double-carousel						{ border-left: 5px solid #f9f9f9; border-right: 5px solid #f9f9f9; }
	.double-carousel .img-carousel			{ border-bottom: 10px solid #f9f9f9; border-top: 10px solid #f9f9f9; }
	
	.case-navigator							{ padding: 0 2rem 2rem 2rem; }
	
	.main-navigation__footer,
	.content-block__footer.overlay			{ padding: 0 2rem 2rem 2rem; }
	.logo img,
	.logo a img								{ height: 30px !important; }
}

@media only screen and (max-width : 640px) {
	p, ul, ol										{ font-size: 14px; }
	.content-block__footer.flexbox-wrapper			{ flex-wrap: wrap; }
	.content-block__footer .flexbox-wrapper__item	{ width: 100%; text-align: center; margin: 1rem 0 0 0; font-size: 12px; }
	.social-media-links								{ list-style: none; text-align: center; }
	.main-navigation ul li							{ margin-bottom: 1rem; }
}

@media only screen and (max-width : 580px) {
	h1										{ font-size: 2.250em; }
	.content-block__title h1,
	.content-block__title h2				{ font-size: 3.5em; }
	.content-block--hero h1					{ margin-bottom: 3.75rem; }		.home-hero.draw-line .content-block__title h1:after		{ width: 15vw; }
	
	.main-navigation ul						{ padding: 5rem 7.5rem 5rem 5rem; }
	.main-navigation ul li a				{ font-size: 3.5em; }
	.main-navigation ul li a:after			{ width: 45px; height: 2px; bottom: 12px; left: -55px; }
	.main-navigation ul li a:before			{ width: 45px; height: 2px; bottom: 12px; left: -55px; }
	
	.text-columns.flexbox-wrapper			{ align-items: flex-start; flex-wrap: wrap; }
	.text-columns .flexbox-wrapper__item	{ width: 100%; }
	
	.page-hero .tag-list					{ margin: 0 0 3.75rem 0; font-size: 0.625em; }
	
	.page-footer .content-block__title h2:after	{ height: 3px; left: calc(100% - 26.5vw); bottom: 1.5rem; }
}

@media only screen and (max-width : 480px) {
	.content-block__title h1,
	.content-block__title h2				{ font-size: 2.875em; }

	.main-navigation__footer p				{ font-size: 12px; }

	.main-navigation ul						{ padding: 5rem 6.5rem 5rem 5rem; }
	.main-navigation ul li a				{ font-size: 2.875em; }
	.main-navigation ul li a:after			{ width: 45px; height: 2px; bottom: 11px; left: -55px; }
	.main-navigation ul li a:before			{ width: 45px; height: 2px; bottom: 11px; left: -55px; }
	
	.double-carousel						{ border-left: 0px solid #f9f9f9; border-right: 0px solid #f9f9f9; }
	.double-carousel .img-carousel			{ border-bottom: 5px solid #f9f9f9; border-top: 5px solid #f9f9f9; }
	
	.page-footer .content-block__title h2:after	{ height: 3px; left: calc(100% - 26.5vw); bottom: 1.25rem; }
}


@media only screen and (min-width : 1681px) {
	.content-block__title h1,
	.content-block__title h2				{ font-size: 13.75em; }
}

@media only screen and (min-width : 1924px) {
	.content-block__title h1,
	.content-block__title h2				{ font-size: 16.250em; }
}






/* -----------------------------------------------------------

	CLEAR FLOATS

----------------------------------------------------------- */
.clear: 		{ display: inline-block; }
.clear:after 	{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
* html .clear 	{ height: 1%; }
.clear 			{ display: block; }



/* -----------------------------------------------------------

	60fps scrolling
	http://www.thecssninja.com/javascript/pointer-events-60fps

----------------------------------------------------------- */
.disable-hover,
.disable-hover * {
	pointer-events: none !important;
}