/* 

Cabin (google)
Rough Cut (webfont)
Blackbike (webfont)

blue:  285D9B
beige: F4F0E7

*/

@import url('https://fonts.googleapis.com/css?family=Cabin:400,500&display=swap');

@font-face {
    font-family:'rough_cutregular_clean';
    src:url('webfonts/roughcut-regular-clean-webfont.woff2') format('woff2'),
        url('webfonts/roughcut-regular-clean-webfont.woff') format('woff');
    font-weight:normal;
    font-style:normal;
}
@font-face {
    font-family:'blackbikeclean';
    src:url('webfonts/blackbike-clean-webfont.woff2') format('woff2'),
        url('webfonts/blackbike-clean-webfont.woff') format('woff');
    font-weight:normal;
    font-style:normal;
}
.cabin {
	font-family:'Cabin', sans-serif!important;
	font-weight:400!important;
	font-style:normal;
	letter-spacing:0.04em;
}
.cabin_medium {
	font-family:'Cabin', sans-serif!important;
	font-weight:500!important;
	font-style:normal;
}
.rough_cut {
	font-family:'rough_cutregular_clean', sans-serif!important;
	font-weight:normal!important;
	font-style:normal;
}
.blackbike {
	font-family:'blackbikeclean', sans-serif!important;
	font-weight:normal!important;
	font-style:normal;	
}
.clearfix:before, .clearfix:after {
	content:" ";
	display:table;
}
.clearfix:after {
	clear:both;
}
.clearfix {
	*zoom:1;
}
body {
	font-family:'Cabin', sans-serif;
	font-weight:400;
	font-size:16px;
	line-height:1;
	color:#333333;
}
div {
	-webkit-box-sizing:border-box;
	        box-sizing:border-box;
}
img {
	display:block;
	max-width:100%;
	height:auto;
}
a img {
	outline:none;
	border:none;
}
a, a:link, a:visited, a:focus, a:active, a:hover {
	text-decoration:none;
	outline:none;
	border:none;
	cursor:pointer;
	color:#285D9B;
	-webkit-transition:all 150ms linear;
	     -o-transition:all 150ms linear;
	        transition:all 150ms linear;
}
a:hover {
	color:#333333;	
}
p {
	font-size:16px;
	letter-spacing:0.04em;
	line-height:1.6;
	margin-bottom:30px;
}
a.button {
	display:inline-block;
	width:305px;
	height:71px;
	font-family:'Cabin', sans-serif;
	font-weight:500;
	font-size:16px;
	letter-spacing:0.12em;
	line-height:70px;
	white-space:nowrap;
	color:#ffffff;
	text-align:center;
	text-transform:uppercase;
	text-decoration:none;
	background:url(img/button-white.svg) center center no-repeat;
	position:relative;
}
a.button:before {
	display:block;
	content:'';
	width:305px;
	height:71px;
	position:absolute;
	top:0;
	left:0;
	background:url(img/button-blue.svg) center center no-repeat;
	pointer-events:none;
	-webkit-transition:all 150ms linear;
	     -o-transition:all 150ms linear;
	        transition:all 150ms linear;	
}
a.button span {
	position:relative;	
}
a.button:hover {
	color:#285D9B;
}
a.button:hover:before {
	opacity:0;	
}
.nomarg {
	margin-bottom:0!important;
}
.nopad {
	padding:0!important;
}
.floatleft {
	float:left;
}
.floatright {
	float:right;
}
.uppercase {
	text-transform:uppercase;
}
.lowercase {
	text-transform:lowercase;
}
.centertext {
	text-align:center;
}
.text-right {
	text-align:right;
}
.centertext img,
.text-right img {
	display:inline-block;
}
.table {
	display:table;
	table-layout:fixed;
	width:100%;
	height:100%;
}
.table .cell {
	display:table-cell;
	vertical-align:middle;
}
.cols:before,
.cols:after {
	content:'';
	display:table;
}
.cols:after {
	clear:both;
}
.cols {
 *zoom:1;
}
.cols .col {
	float:left;
}
.cols .col.four-fifths {
	width:80%;
}
.cols .col.three-fourths,
.cols .col.three-quarters {
	width:75%;
}
.cols .col.two-thirds {
	width:66.6666%;
}
.cols .col.three-fifths {
	width:60%;
}
.cols .col.one-half {
	width:50%;
}
.cols .col.two-fifths {
	width:40%;
}
.cols .col.one-third {
	width:33.3333%;
}
.cols .col.one-fourth,
.cols .col.one-quarter {
	width:25%;
}
.cols .col.one-fifth {
	width:20%;
}
.wrapper {
	width:100%;
	margin:0 auto;
	padding-left:50px;
	padding-right:50px;
}

/* post */
.post h1,
.post h2 {
	margin-bottom:50px;
	font-size:40px;
	letter-spacing:0.02em;
	line-height:1.4;
	font-family:'rough_cutregular_clean', sans-serif;
	font-weight:normal;
	font-style:normal;
	color:#285D9B;
}
.post h1:after {
	display:block;
	content:'';
	margin:20px auto 0;
	width:60px;
	height:5px;
	background:#285D9B;	
}
.post h2 {
	margin-bottom:30px;
	font-size:30px;
	color:#333333;
	letter-spacing:0;
}
.post h3, 
.post h4, 
.post h5, 
.post h6 {
	margin-bottom:10px;
	font-family:'rough_cutregular_clean', sans-serif;
	font-weight:normal;
	font-style:normal;
	font-size:20px;
	letter-spacing:0.02em;
	line-height:1.4;
	text-transform:uppercase;
}
.post p {
	font-size:16px;
	letter-spacing:0.04em;
	line-height:1.6;
	margin-bottom:30px;
}
.post p a {
	text-decoration:underline;
}
.post p a:hover {
	text-decoration:none;	
}
.post p img {
	display:block;
	width:100%;
}
.post ul,
.post ol {
	margin:0 0 30px 0;
	font-size:16px;
	line-height:1.8;
	text-align:left;
}
.post p + ul,
.post p + ol {
	margin-top:-18px;
}
.post ol {
	margin-left:20px;
}
.post ul {
	list-style:none;
}
.post ul li {
	margin:0;
	padding-left:20px;
	position:relative;
}
.post ul li:before {
	display:block;
	content:'\2022';
	position:absolute;
	top:0;
	left:0;
	font-size:18px;
	line-height:1.6;
}
.post ul ul,
.post ul ol,
.post ol ul,
.post ol ol {
	margin-bottom:0!important;	
}
.post blockquote {
	max-width:550px;
	margin:30px auto;
	font-size:20px;
	line-height:1.5;
	text-align:center;
}
.post .cols .col.one-half:first-child {
	padding-right:10px;	
}
.post .cols .col.one-half:last-child {
	padding-left:10px;	
}
.post .cols .col.one-half a {
	text-decoration:underline;	
	word-break:break-word;
}

/* slider row */
.slider_row .images {
	padding-bottom:36%;	
	position:relative;
}
.slider_row .images .slider {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}
.slider_row .images .slider .slick-list,
.slider_row .images .slider .slick-track {
	height:100%;	
}
.slider_row .images .slider .slick-slide div {
	width:100%!important;
	height:100%;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;	
}
.slider_row .images .slider .slick-slide img {
	width:100%;
}
.slider_row .images .slider .slick-dots {
	display:block;
	width:100%;	
	position:absolute;
	bottom:48px;
	left:0;
	text-align:center;
}
.slider_row .images .slider .slick-dots ul {
	list-style:none;	
}
.slider_row .images .slider .slick-dots li {
	display:inline-block;	
	margin:0 9px;
	width:17px;
	height:17px;
	text-align:left;
	text-indent:-9999em;
	border:2px solid #285D9B;
	border-radius:100%;
	cursor:pointer;
}
.slider_row .images .slider .slick-dots li.slick-active {
	background:#285D9B;
}	
.slider_row .main .inner {
	max-width:620px;
	margin:0 auto;
	padding:80px 0;
}
.slider_row .main .title {
	margin-bottom:20px;
	font-size:46px;
	line-height:1.18;	
}
.slider_row .main p {
	font-size:20px;	
}

/* header */
#header {
	width:100%;
	padding:30px 0;
	position:fixed;
	top:0;
	left:0;
	z-index:1;
	-webkit-transition:all 150ms linear;
	     -o-transition:all 150ms linear;
	        transition:all 150ms linear;
}
#header h1 {
	display:none;	
}
#header .logo {
	display:block;
	width:240px;
	height:240px;
	margin:0 auto;	
}
#header .logo img {
	display:block;
	width:100%;
	height:auto;	
	-webkit-transition:all 150ms linear;
	     -o-transition:all 150ms linear;
	        transition:all 150ms linear;
}
#header .inner {
	position:relative;	
}
#header .inner .nav {
	display:block;
	width:calc(50% - 150px);
	height:100%;
	position:absolute;	
	top:0;
	left:0;
	white-space:nowrap;
}
#header .inner .nav.right { left:auto; right:0; }
#header .inner .nav ul {
	list-style:none;	
}
#header .inner .nav ul li {
	display:inline-block;
	margin-right:30px;	
}
#header .inner .nav ul li:last-child {
	margin-right:0;	
}
#header .inner .nav ul li a {
	font-size:20px;
	letter-spacing:0.02em;
	line-height:240px;
	color:#ffffff;	
}
#header .inner .nav ul li a:hover {
	opacity:0.7;
}

/* sticky */
#header.sticky {
	padding:0;
	height:100px;
	background:#ffffff;	
}
#header.sticky .logo {
	width:150px;
	height:150px;
}
#header.sticky .inner .nav {
	width:calc(50% - 100px);	
	height:100px;
}
#header.sticky .inner .nav ul li a {
	font-size:18px;
    letter-spacing:0;
	line-height:100px;
	color:#285D9B;	
}

/* feature */
#feature {
	padding:300px 0 150px;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	color:#ffffff;
	position:relative;
}
body.interior #feature {
	padding:0;
	height:310px;	
}
#feature .wrapper {
	height:100%;
	position:relative;
}
#feature .inner {
	max-width:1440px;
	margin:0 auto;
}
#feature .text {
	display:inline-block;
	max-width:550px;
}
#feature .text .heading {
	font-size:88px;
	letter-spacing:-0.01em;
	line-height:100px;	
}
#feature .text .heading span {
	display:block;
	font-size:60px;
	letter-spacing:0;	
}
#feature .text p {
	margin:30px auto 40px;
	font-size:24px;
	letter-spacing:0.04em;
	line-height:1.25;
}

/* home: about */
#about {
	padding:210px 0;
	background:#F4F0E7;	
}
#about .inner {
	max-width:1560px;
	margin:0 auto;
}
#about .heading {
	margin-bottom:40px;
	padding-top:220px;
	font-size:54px;
	line-height:1.2;
	color:#285D9B;
	background:url(img/icon-bagpiper.png) center top no-repeat;
	background-size:70px auto;
}
#about .table .cell:first-child,
#about .table .cell:last-child {
	width:30%;	
}
#about span.blackbike {
	display:block;
	width:150px;
	margin:0 auto;
	padding:40px 0;
	font-size:30px;
	line-height:1.16;
	position:relative;	
}
#about span.blackbike:before,
#about span.blackbike:after {
	display:block;
	content:'';	
	width:100%;
	height:40px;
	position:absolute;
	background:url(img/icon-deco-1.svg) center top no-repeat;
	top:0;
	left:0;
}
#about span.blackbike:after {
	background:url(img/icon-deco-2.svg) center bottom no-repeat;
	top:auto;
	bottom:0;
}

/* home: callout */
#callout {
	padding:170px 0 150px;
	background:url(img/grid.png) repeat;
	background-size:52px 52px;
	color:#ffffff;
}
#callout .inner {
	max-width:700px;
	margin:0 auto;	
}
#callout .heading {
	margin-bottom:30px;
	font-size:46px;
	letter-spacing:0.05em;
	line-height:1.5;	
}
#callout a {
	font-size:40px;
	letter-spacing:0.04em;	
	word-break:break-word;
}
#callout a:hover {
	color:#ffffff;	
}

/* home: youtube */
#youtube {
	padding:180px 0 100px;
	background:#F4F0E7;		
}
#youtube .heading {
	margin-bottom:40px;
	font-size:46px;
	line-height:1.2;	
}
#youtube .cols {
	margin:0 -25px;	
}
#youtube .col {
	padding:0 25px;	
}
#youtube a {
	display:block;	
	position:relative;
	z-index:0;
}
#youtube a img {
	display:block;
	width:100%;	
}
#youtube a .fa {
	display:block;
	position:absolute;
	top:50%;
	left:50%;
	z-index:2;
	margin:-15px 0 0 -12px;
	font-size:30px;
	color:#ffffff;
}
#youtube a:after {
	display:block;
	content:'';
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	z-index:1;
	background:url(img/black-90.png) repeat;
	opacity:0.8;
	-webkit-transition:all 150ms linear;
	     -o-transition:all 150ms linear;
	        transition:all 150ms linear;
}
#youtube a:hover:after {
	opacity:0;
}
#youtube span.date {
	display:block;
	padding:5px 0;
	font-size:18px;
	letter-spacing:0.02em;
	line-height:1.4;
	text-align:center;
}
#youtube .icon {
	margin-top:60px;	
}
#youtube .icon img {
	display:block;
	width:100%;
	max-width:150px;
	margin:0 auto;	
}

/* page */
#page .wrapper {
	max-width:1000px;	
}
#page .section {
	padding:80px 0;
}
#page .section.beige_bg {
	background-color:#F4F0E7;	
}
#page .resources {
	margin-bottom:80px;	
}
#page .resources h2 {
    padding:20px;
    font-size:24px;	
	color:#ffffff;
	background:#285D9B;
}
#page .resources .table {
	margin-bottom:50px;
}
#page .resources .table .cell:first-child {
	width:270px;
	padding-right:30px;	
}
#page .resources .table .cell:first-child img {
	display:block;
	width:100%;
}

/* instagram */
#instagram {
	background:#11243a;
	position:relative;
}
#instagram .gram {
	padding-bottom:100%;	
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	opacity:0.2;
}
#instagram .callout {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;	
}
#instagram .callout {
	font-size:30px;
	line-height:1.4;
	color:#ffffff;	
}
#instagram .callout a {
	display:inline-block;
	margin-left:15px;	
	color:#ffffff;	
}
#instagram .callout a:hover {
	opacity:0.6;	
}

/* footer */
#footer {
 	padding:30px 0; 
}
#footer ul {
 	list-style:none; 
}
#footer li {
 	display:inline-block;
   	margin:0 10px;
    font-size:11px;
    letter-spacing:0.15em;
    line-height:1.6;
}
#footer li a:hover {
	opacity:0.7;	
}

/* contact */
#contact_overlay {
	display:none;
	height:100%;
	width:100%;
	position:fixed;
	left:0;
	top:0;
	z-index:9997;
    background:rgba(0,0,0,0.5);
}
#contact {
	width:730px;
	height:377px;
	position:fixed;
	top:-377px;
	right:0;
	background:#ffffff;
	-webkit-transition:all 0.2s ease;
	     -o-transition:all 0.2s ease;
		    transition:all 0.2s ease;
	z-index:9999;
}
#contact.open {
	top:0!important;
}
#contact .outerwrap {
	height:100%;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;	
}
#contact .heading {
	font-size:54px;
	line-height:1.2;
	color:#285D9B;
	position:relative;
}
#contact .heading:before,
#contact .heading:after {
	display:block;
	content:'';
	width:calc(50% - 140px);
	height:11px;
	position:absolute;	
	top:50%;
	margin-top:-5px;
	background:#285D9B;
}
#contact .heading:before { left:0; }
#contact .heading:after { right:0; }
#contact .wrapper {
	padding-top:40px;
	padding-bottom:40px;
}
#contact .inner {
	padding:20px 0;
}

/* contact link */
#contact .contactlink {
	width:71px;
	height:145px;
	position:absolute;
	bottom:-145px;
	right:80px;
	background:url(img/ribbon.svg) center bottom no-repeat;
	z-index:1;
    cursor:pointer;
}
#contact .contactlink span {
	display:block;
	font-size:11px;
	letter-spacing:0.02em;
	line-height:145px;
	color:#333333;	
}
#contact .contactlink .text_exit {
	display:none;
}
#contact.open .contactlink .text_contact { display:none; }
#contact.open .contactlink .text_exit { display:block; }