/* 
	Table of Contents

	I.   Generic --------------------------------------
	     01. Reset ------------------------------------
	     02. Base -------------------------------------
	     03. Fonts ------------------------------------
	     04. Helpers ----------------------------------
	         Clear ------------------------------------
	         Notext -----------------------------------
	         Hidden -----------------------------------
	         Alignleft --------------------------------
	         Alignright -------------------------------
	         Disabled ---------------------------------
	         Grid -------------------------------------
	         Responsive Helpers -----------------------
	II.  Regions --------------------------------------
	     01. Container --------------------------------
	     02. Content ----------------------------------
	     03. Footer -----------------------------------
	     04. Header -----------------------------------
	         Small Desktop ----------------------------
	     05. Main -------------------------------------
	     06. Shell ------------------------------------
	     07. Sidebar ----------------------------------
	     08. Wrapper ----------------------------------
	III. Modules --------------------------------------
	     01. Button -----------------------------------
	         Button Block -----------------------------
	     02. Button Brown -----------------------------
	     03. Form Elements ----------------------------
	     04. Form -------------------------------------
	     05. List -------------------------------------
	         Mobile Desktop ---------------------------
	     06. Logo -------------------------------------
	         Mobile -----------------------------------
	     07. Nav --------------------------------------
	         Small Desktop ----------------------------
	         Mobile -----------------------------------
	     08. Pins -------------------------------------
	         Tablet Portrait --------------------------
	         Mobile -----------------------------------
	     09. Section ----------------------------------
	         Small Desktop ----------------------------
	         Mobile -----------------------------------
	     10. Slider -----------------------------------
	     11. Table ------------------------------------
	     12. Widget -----------------------------------
 */

.ico-control { background-image: url(../css/images/sprite.png); background-position: 0 -162px; width: 140px; height: 136px; display: inline-block; vertical-align: middle; font-size: 0; }
.ico-form { background-image: url(../css/images/sprite.png); background-position: -284px -162px; width: 140px; height: 136px; display: inline-block; vertical-align: middle; font-size: 0; }
.ico-map { background-image: url(../css/images/sprite.png); background-position: -144px -162px; width: 133px; height: 136px; display: inline-block; vertical-align: middle; font-size: 0; }
.ico-photo { background-image: url(../css/images/sprite.png); background-position: -326px 0; width: 132px; height: 136px; display: inline-block; vertical-align: middle; font-size: 0; }
.ico-play { background-image: url(../css/images/sprite.png); background-position: -384px -140px; width: 16px; height: 16px; display: inline-block; vertical-align: middle; font-size: 0; }
.ico-vr { background-image: url(../css/images/sprite.png); background-position: -254px -298px; width: 55px; height: 70px; display: inline-block; vertical-align: middle; font-size: 0; }
.ico-video { background-image: url(../css/images/sprite.png); background-position: -113px -298px; width: 55px; height: 70px; display: inline-block; vertical-align: middle; font-size: 0; }
.logo-mobile { background-image: url(../css/images/sprite.png); background-position: 0 -84px; width: 300px; height: 74px; display: inline-block; vertical-align: middle; font-size: 0; }
.logo { background-image: url(../css/images/sprite.png); background-position: 0 0; width: 322px; height: 80px; display: inline-block; vertical-align: middle; font-size: 0; }
.cols:after { content: ''; line-height: 0; display: table; clear: both; }
/* ------------------------------------------------------------ *\
	I.   Generic
\* ------------------------------------------------------------ */
/* ------------------------------------------------------------ *\
	Reset
\* ------------------------------------------------------------ */
*,
*:before,
*:after { padding: 0; margin: 0; outline: 0; box-sizing: border-box; }
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
main { display: block; }
html { tap-highlight-color: rgba(0,0,0,0); }
body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; -webkit-text-size-adjust: none; -ms-text-size-adjust: none; text-size-adjust: none; }
img,
iframe,
video,
audio,
object { max-width: 100%; }
img,
iframe { border: 0 none; }
img { height: auto; display: inline-block; vertical-align: middle; }
b,
strong { font-weight: bold; }
address { font-style: normal; }
svg:not(:root) { overflow: hidden; }
a,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
input[type="file"],
input[type="image"],
label[for] { cursor: pointer; }
a[href^="tel"],
button[disabled],
input[disabled],
textarea[disabled],
select[disabled] { cursor: default; }
button::-moz-focus-inner,
input::-moz-focus-inner { padding: 0; border: 0; }
input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="color"],
textarea,
a[href^="tel"] { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
textarea { overflow: auto; -webkit-overflow-scrolling: touch; overflow-scrolling: touch; }
button,
input,
optgroup,
select,
textarea { font-family: inherit; font-size: inherit; color: inherit; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; }
button,
select { text-transform: none; }
table { width: 100%; border-collapse: collapse; border-spacing: 0; }
ul,
ol,
nav ul,
nav ol { list-style: none outside none; }
/* ------------------------------------------------------------ *\
	Base
\* ------------------------------------------------------------ */
body { min-width: 320px; background: #e7e8e5; font-family: 'Special Elite', cursive; font-size: 14px; line-height: 1.3; color: #000; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: none; }
a[href^="tel"] { text-decoration: none; }
h1 { font-size: 42px; color: #62635c; }
h1[class],
h2[class],
h3[class],
h4[class],
h5[class],
h6[class],
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child,
ul:last-child,
ol:last-child,
dl:last-child,
table:last-child,
blockquote:last-child { margin-bottom: 0; }
/* ------------------------------------------------------------ *\
	Fonts
\* ------------------------------------------------------------ */
/* ------------------------------------------------------------ *\
	Helpers
\* ------------------------------------------------------------ */
/*  Clear  */
.clear:after { content: ''; line-height: 0; display: table; clear: both; }
/*  Notext  */
.notext { white-space: nowrap; text-indent: 100%; text-shadow: none; overflow: hidden; }
.notext-old { font-size: 0; line-height: 0; text-indent: -4000px; }
/*  Hidden  */
[hidden],
.hidden { display: none; }
/*  Alignleft  */
.alignleft { float: left; }
/*  Alignright  */
.alignright { float: right; }
/*  Disabled  */
[disabled],
.disabled { cursor: default; }
/*  Grid  */
.cols { margin: 0 -15px; }
.cols:after { }
.col { float: left; width: 100%; padding: 0 15px; }
.col-1of2 { width: 50%; }
/*  Responsive Helpers  */
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block { display: none !important; }
@media (max-width: 767px) {
	.hidden-xs { display: none !important; }
	.visible-xs-block { display: block !important; }
	.visible-xs-inline { display: inline !important; }
	.visible-xs-inline-block { display: inline-block !important; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.hidden-sm { display: none !important; }
	.visible-sm-block { display: block !important; }
	.visible-sm-inline { display: inline !important; }
	.visible-sm-inline-block { display: inline-block !important; }
}
@media (min-width: 1024px) and (max-width: 1200px) {
	.hidden-md { display: none !important; }
	.visible-md-block { display: block !important; }
	.visible-md-inline { display: inline !important; }
	.visible-md-inline-block { display: inline-block !important; }
}
@media (min-width: 1201px) {
	.hidden-lg { display: none !important; }
	.visible-lg-block { display: block !important; }
	.visible-lg-inline { display: inline !important; }
	.visible-lg-inline-block { display: inline-block !important; }
}
@-webkit-keyframes fadeOut {
	from { opacity: 1;  }
	to { opacity: 0;  }
}
@keyframes fadeOut {
	from { opacity: 1;  }
	to { opacity: 0;  }
}
/* ------------------------------------------------------------ *\
	II.  Regions
\* ------------------------------------------------------------ */
/* ------------------------------------------------------------ *\
	Container
\* ------------------------------------------------------------ */
.container {}
/* ------------------------------------------------------------ *\
	Content
\* ------------------------------------------------------------ */
.content {}
/* ------------------------------------------------------------ *\
	Footer
\* ------------------------------------------------------------ */
.footer {}
/* ------------------------------------------------------------ *\
	Header
\* ------------------------------------------------------------ */
.header { position: absolute; top: 0; left: 0; width: 100%; z-index: 30; padding-top: 40px; }
/* Small Desktop */
@media (max-width: 1200px) {
	.header { padding-top: 20px; }
}
/* ------------------------------------------------------------ *\
	Main
\* ------------------------------------------------------------ */
.main { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; }
/* ------------------------------------------------------------ *\
	Shell
\* ------------------------------------------------------------ */
.shell { max-width: 1220px; padding-left: 10px; padding-right: 10px; margin: auto; }
.shell-fluid { max-width: none; }
/* ------------------------------------------------------------ *\
	Sidebar
\* ------------------------------------------------------------ */
.sidebar {}
/* ------------------------------------------------------------ *\
	Wrapper
\* ------------------------------------------------------------ */
.wrapper { min-height: 100vh; }
/* ------------------------------------------------------------ *\
	III. Modules
\* ------------------------------------------------------------ */
/* ------------------------------------------------------------ *\
	Button
\* ------------------------------------------------------------ */
.btn { display: inline-block; vertical-align: middle; text-align: center; cursor: pointer;
	-webkit-appearance: none;
	   -moz-appearance: none;
	 		appearance: none;
}
/*  Button Block  */
.btn-block { display: block; padding-left: 0; padding-right: 0; }
/* ------------------------------------------------------------ *\
	Button Brown
\* ------------------------------------------------------------ */
.btn-brown { background: url(../css/images/btn-brown-background.png) no-repeat 0 0; background-size: 100% 100%; font-size: 16px; color: #fff; position: relative; padding: 14px 21px 9px 35px; margin-left: -4px; }
.btn-brown i { position: absolute; top: 13px; left: 13px;  }
.btn-brown:hover  { background: url(../css/images/btn-brown-hover.png) no-repeat 0 0; background-size: 100% 100%; }
/* ------------------------------------------------------------ *\
	Form Elements
\* ------------------------------------------------------------ */
input::-webkit-input-placeholder { color: inherit; opacity: 1; }
input::-moz-placeholder { color: inherit; opacity: 1; }
input:-ms-input-placeholder { color: inherit; opacity: 1; }
input::placeholder { color: inherit; opacity: 1; }
textarea::-webkit-input-placeholder { color: inherit; opacity: 1; }
textarea::-moz-placeholder { color: inherit; opacity: 1; }
textarea:-ms-input-placeholder { color: inherit; opacity: 1; }
textarea::placeholder { color: inherit; opacity: 1; }
input:-webkit-autofill { -webkit-text-fill-color: inherit; -webkit-box-shadow: 0 0 0 1000px #fff inset; }
.field {}
.textarea {}
.select {}
.radio {}
.checkbox {}
/* ------------------------------------------------------------ *\
	Form
\* ------------------------------------------------------------ */
.form {}
/* ------------------------------------------------------------ *\
	List
\* ------------------------------------------------------------ */
[class^="list-"] { list-style: none outside none; }
.list-links li { float: left; margin-right: -20px; transition: -webkit-transform .5s; transition: transform .5s; transition: transform .5s, -webkit-transform .5s;     transform: scale(.80,.80);  }
.list-links li:hover  { -webkit-transform: scale(1,1); -ms-transform: scale(1,1); transform: scale(1,1); }
.list-links li:last-child  { margin-right: 0;  }
/* Mobile Desktop */
@media (max-width: 767px) {
	.list-links .ico-photo { background: url(../css/images/ico-photo.png) no-repeat 0 0; width: 67px; height: 69px; }
	.list-links .ico-control  { background: url(../css/images/ico-control.png) no-repeat 0 0; width: 71px; height: 69px;  }
	.list-links .ico-form  { background: url(../css/images/ico-form.png) no-repeat 0 0; width: 71px; height: 69px;  }
}
/* ------------------------------------------------------------ *\
	Logo
\* ------------------------------------------------------------ */
.logo {}
/* Mobile */
@media (max-width: 767px) {
	.logo { visibility: hidden; opacity: 0;  position: relative;  left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); transition: opacity 3s;  }
	.logo.active  { visibility: visible; opacity: 1;  }
}
@media (max-width: 600px) { 
	.logo { background-image: url(../css/images/sprite.png); background-position: 0 -84px; width: 300px; height: 74px; }
}
/* ------------------------------------------------------------ *\
	Nav
\* ------------------------------------------------------------ */
.nav   { display: inline-block; color: #62635c; margin-left: -20px;  }
.nav li { float: left; position: relative; margin-right: 5; text-align: center; margin-right: 52px; transition: -webkit-transform .5s; transition: transform .5s; transition: transform .5s, -webkit-transform .5s;  }
.nav li:hover  { -webkit-transform: scale(1.05,1.05); -ms-transform: scale(1.05,1.05); transform: scale(1.05,1.05);  }
.nav li:last-child  { margin-right: 0;  }
.nav h4  { font-size: 28px;  }
.nav p  { font-size: 14px; font-family: 'Open Sans', sans-serif; font-weight: 600;  }
.nav a  { position: absolute; top: 0; left: 0; width: 100%; height: 100%;  }
.nav i  { margin-bottom: 4px;  }
/* Small Desktop */
@media (max-width: 1200px) {
	.nav li { margin-right: 20px; }
	.nav h4  { font-size: 20px;  }
	.nav p  { font-size: 13px;  }
}
/* Mobile */
@media (max-width: 767px) {
	.nav .ico-map { background: url(../css/images/ico-map.png) no-repeat 0 0; width: 68px; height: 69px; }	
	.nav .ico-photo  { background: url(../css/images/ico-photo.png) no-repeat 0 0; width: 67px; height: 69px;  } 
	.nav .ico-control  { background: url(../css/images/ico-control.png) no-repeat 0 0; width: 71px; height: 69px;  }
	.nav .ico-form  { background: url(../css/images/ico-control.png) no-repeat 0 0; width: 71px; height: 69px;  }
	.nav   { margin-left: 0; }
	.nav li  { margin-right: 0; float: none; width: 100%;  padding-bottom: 20px;  }
	.nav h4  { font-size: 16px;  }
	.nav p  { font-size: 12px;  }
}
/* ------------------------------------------------------------ *\
	Pins
\* ------------------------------------------------------------ */
.pins { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%);  width: 54px; height: 54px; }
.pins .pin { position: absolute; top: 0; left: 0; cursor: pointer;  }
.pins .pin-head  { position: relative; z-index: 30; }
.pins .pin .pin-body.active  { visibility: visible; opacity: 1; }
.pins .pin-v-pfp { margin: -105px 0 0 -300px }
.pins .pin-v-bwp { margin: -295px 0 0 -55px }
.pins .pin-v-masf  { margin: 120px 0 0 245px }
.pins .pin-t-pfp  { margin: -115px 0 0 -250px }
.pins .pin-t-erdf  { margin: -82px 0 0 -210px }
.pins .pin-t-200e  { margin: -110px 0 0 -90px }
.pins .pin-t-kbasin  { margin: -310px 0 0 -25px }
.pins .pin-t-hf  { margin: -230px 0 0 50px }
.pins .pin-t-masf  { margin: 145px 0 0 275px }
.pins .pin-t-300  { margin: 320px 0 0 540px }

.pins .pin .pin-body { position: absolute; top: 54px; left: -30px; width: 400px; background: url(../css/images/pin-body-background.png) no-repeat 0 0;  background-size: 100% 100%; padding: 43px 15px 51px 35px; visibility: hidden; opacity: 0; transition: opacity .5s; z-index: 200;  }
.pins .pin .pin-body.alt { top: -215px; left: -170px; }
.pins .pin h3 { font-size: 24px; color: #44495a; line-height: 1.1;  }
.pins .pin p  { color: #606268; font-family: 'Open Sans', sans-serif; padding-bottom: 18px;  }
/* Tablet Portrait */
@media (max-width: 1023px) {
	.pins .pin .pin-body { width: 370px; }	
}
/* Mobile */
@media (max-width: 767px) {
	.pins .pin .pin-body  { background: url(../css/images/pin-body-background-mobile.png) no-repeat 0 0; background-size: 100% 100%; padding: 14px 10px 17px 35px; top: 55px; left: -149px;   }
	.pins .pin h3 { font-size: 18px;}
	.pins .pin p  { font-size: 12px; padding-bottom: 6px;  }
}
@media (max-width: 600px){
	.pins .pin .pin-body { width: 220px;  }
	.pins .pin h3 { font-size: 17px; }
	.pins .pin p  { font-size: 11px;  }
	.pins .pin .pin-body { left: -75px; }
}
/* ------------------------------------------------------------ *\
	Section
\* ------------------------------------------------------------ */
.section-map  { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%;  }
.section-map .section-content { background: url(../css/images/temp/perspective-map.png) no-repeat 50% 50%; width: 100%; height: 100%; z-index: 30;  }
.section-map .section-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(233, 234, 231, 0.8); text-align: center;  padding-top: 161px; z-index: 50; opacity: 1; transition: all 1.5s; visibility: visible; }
.section-map .section-overlay.active { opacity: 0; visibility: hidden; }
.section-map .section-overlay h1 { padding-bottom: 62px;  }
.section-map img  { width: 100%; position: relative; z-index: 40; height: 100vh; }
.section-map .map-mobile-secondary,
.section-map .map-mobile-v-pfp,
.section-map .map-mobile  { display: none;  }
.section-map .section-inner  { position: absolute; bottom: 70px; left: 50px; visibility: hidden; opacity: 0; transition: all 1.5s; }
.section-map .section-inner.active  { visibility: visible; opacity: 1; }
/* Small Desktop */
@media (max-width: 1200px) {
	.section-map .section-inner { right: 20px; bottom: 20px;  }	
}
/* Mobile */
@media (max-width: 767px) {
	.section-map .section-overlay { padding-top: 20px; height: 100vh; overflow-y: scroll; }
	.section-map .section-overlay h1 { padding-bottom: 20px; font-size: 25px;  }
	.section-map .section-inner { right: 5px; }
}
/* ------------------------------------------------------------ *\
	Slider
\* ------------------------------------------------------------ */
.slider {}
.slider .slides { list-style: none outside none; }
/* ------------------------------------------------------------ *\
	Table
\* ------------------------------------------------------------ */
.table {}
/* ------------------------------------------------------------ *\
	Widget
\* ------------------------------------------------------------ */
.widgets { list-style: none outside none; }
