/* default
-------------------------------------------------------------------------------*/

html, body, 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, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
}									

article, aside, figure, footer, header, hgroup, nav, section {display: block;}

/* Responsive images and other embedded objects
   Note: keeping IMG here will cause problems if you're using foreground images as sprites, like, say for Google Maps custom placemarkers. 
   There has been a report of problems with standard Google maps as well, but we haven't been able to duplicate or diagnose the issue. */
img,
object,
embed {width: 100%; height:auto}

/* force a vertical scrollbar to prevent a jumpy page */
html {overflow-y: scroll;}

/* we use a lot of ULs that aren't bulleted. 
	don't forget to restore the bullets within content. */
ul {list-style: none;}

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; color:#666; text-decoration:none; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }
a:hover{ text-decoration:underline}

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;}
th {font-weight: bold; vertical-align: bottom;}
td {font-weight: normal; vertical-align: top;}

h1,h2,h3,h4,h5,h6{ font-weight:400}

hr {display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0;}

input, select {vertical-align: middle;}

pre {
	white-space: pre; /* CSS2 */
	white-space: pre-wrap; /* CSS 2.1 */
	white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
	word-wrap: break-word; /* IE */
}

input[type="radio"] {vertical-align: text-bottom;}
input[type="checkbox"] {vertical-align: bottom; *vertical-align: baseline;}
.ie6 input {vertical-align: text-bottom;}

select, input, textarea {font: 99% sans-serif;}

table {font-size: inherit; font: 100%;}
 
/* Accessible focus treatment
	people.opera.com/patrickl/experiments/keyboard/test */
a:hover, a:active {outline: none;}

small {font-size: 85%;}

strong, th {font-weight: bold;}

td, td img {vertical-align: top;} 

/* Make sure sup and sub don't screw with your line-heights
	gist.github.com/413930 */
sub, sup {font-size: 75%; line-height: 0; position: relative;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}

/* standardize any monospaced elements */
pre, code, kbd, samp {font-family: monospace, sans-serif;}

/* hand cursor on clickable elements */
.clickable,
label, 
input[type=button], 
input[type=submit], 
button {cursor: pointer;}

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {margin: 0;}

/* make buttons play nice in IE */
button {width: auto; overflow: visible;}
 
/* scale images in IE7 more attractively */
.ie7 img {-ms-interpolation-mode: bicubic;}

/* prevent BG image flicker upon hover */
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}

/* let's clear some floats */
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }  
.clearfix:after { clear: both; }  
.clearfix { zoom: 1; }  

.clear { clear: both; }

.hide { display: none !important; }

img { display: block; }

.container { position: relative; display: block; }
#site-contact-form { display: none; }

.show-right:before { position: relative; left: 100%; display: block; width: 100%; float: left; margin: 0 0 0 -100%; }

.left { float: left; }
.right { float: right; }

strong { font-weight: 500; }

a.tel { cursor: default; }


/*** site styles ***/

html, BODY { height: 100%; }
BODY { background: #03152e; font-family: "sofia-pro", sans-serif; font-weight: 300; font-size: 16px; line-height: 1.3; color: #041e42; text-align: center; }

h1 { font-size: 43px; font-weight: 700; line-height: 1.1; margin: 0 0 20px; padding: 0; color: #041e42; }
h2 { font-size: 43px; font-weight: 700; line-height: 1.1; margin: 0 0 20px; padding: 0; color: #041e42; }
h3 { font-size: 23px; font-weight: 600; line-height: 1.2; margin: 0 0 20px; padding: 0; color: #041e42; }
h4 { font-size: 20px; line-height: 1.2; margin: 0 0 20px; padding: 0; }

p { padding: 0 0 25px; margin: 0; line-height: 1.3; }
p:last-child, p:last-of-type { padding-bottom: 0; }
a { color: #4a858f; text-decoration: none; }
a:hover { color: #000; text-decoration: none; }

ul, ol { margin: 0; padding: 0; }
ul li { list-style-type: disc; margin: 0 0 0 20px; padding: 0 0 15px 5px; }
ol li { list-style-type: decimal; margin: 0 0 0 20px; padding: 0 0 15px 5px; }
li:last-of-type { padding-bottom: 0; }

p + h3 { padding-top: 20px; }
p:last-child + h3, p:last-of-type + h3, ul + h3, ol + h3 { padding-top: 40px; }
ul + p, ol + p { padding-top: 25px; }

a.btn { position: relative; display: inline-block; padding: 3px 8px 4px; line-height: 1; font-size: 14px; color: #fff; background: #0f1d41; text-transform: lowercase; text-align: right; font-weight: 300; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }
a.btn:hover { background: #d1d2d4; color: #000; }
a.btn.disabled, a.btn.disabled:hover { background: #d1d2d4; color: #FFF; cursor: default; }

.load { background: #fff url(../img/loader.gif) center center no-repeat; }


.site-wrapper { position: relative; display: block; width: 100%; overflow: hidden; }
.site { position: relative; display: block; width: 100%; max-width: 2000px; margin: 0 auto; overflow: hidden; background: #FFF; }

.header-wrapper { position: relative; display: block; width: 100%; margin: 0; padding: 0 50px 0 0; box-sizing: border-box; -moz-box-sizing: border-box; z-index: 999; }
#header { position: relative; display: block; width: 100%; padding: 30px 0 0; margin: 0; border-bottom: 2px solid #041e42; text-align: left; box-sizing: border-box; -moz-box-sizing: border-box; }

#header .logo-wrapper { position: relative; display: block; padding: 10px 30px 8px 50px; background: #041e42; float: left; }
#header .logo { position: relative; display: block; height: 56px; margin: 0; padding: 0; box-sizing: border-box; -moz-box-sizing: border-box; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }
#header .logo a { display: inline-block; height: 100%; }
#header .logo img { position: relative; display: block; width: auto; height: 100%; margin: 0 auto; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }
#header .logo h2 { text-indent: -9999px; overflow: hidden; font-size: 1px; border: none; line-height: 1; height: auto; margin: 0; padding: 0; }

#header .header-content { position: relative; display: block; padding: 0 0 0 25px; float: left; }
#header .header-content h1 { font-size: 34px; font-weight: 600; margin: 0; padding: 26px 0 0; float: left; }
#header .header-content .description { font-size: 22px; margin: 0 0 0 20px; padding: 35px 0 0; float: left; }


.content-wrapper { position: relative; display: block; width: 100%; box-sizing: border-box; -moz-box-sizing: border-box; }
.content-inner { position: relative; display: block; width: 100%; padding: 0 50px; box-sizing: border-box; -moz-box-sizing: border-box; }

.content-wrapper { position: relative; display: block; width: 100%; padding: 25px 0 0; box-sizing: border-box; -moz-box-sizing: border-box; }


.map-placement-wrapper { position: relative; display: block; margin: 0 auto 20px; }
.map-placement-image { position: relative; display: inline-block; margin: 0 auto; }
.map-placement-image img { max-width: 100%; width: auto; }
.map-placement-image .clip-mask { position: absolute; display: none; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255,255,255,.5); z-index: 20; }
.image-hotspot { position: absolute; display: block; background: rgba(255,255,255,0); transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; z-index: 30; }
.image-hotspot.hover { background: rgba(255,255,255,.5); }


.placement-popup { position: fixed; top: 0; left: 0; display: none; width: 100%; height: 100%; padding: 100px; background: rgba(4, 30, 66, .95); opacity: 0; box-sizing: border-box; -moz-box-sizing: border-box; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; z-index: 99999; }
.placement-popup .placement-close-button { position: relative; display: block; text-align: right; }
.placement-popup .placement-close-button a.close-btn { color: #fff; font-size: 30px; font-weight: 500; }
.placement-popup .placement-close-button a.close-btn:hover { color: #000; }
.placement-popup .placement-popup-ind { position: relative; display: none; max-width: 1230px; margin: 0 auto; opacity: 0; -moz-box-sizing: border-box; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }
.placement-popup .placement-popup-ind .placement-popup-ind-left { position: relative; display: block; width: 26.01626%; float: left; text-align: left; }
.placement-popup .placement-popup-ind .placement-popup-ind-left h2 { color: #fff; font-size: 32px; }
.placement-popup .placement-popup-ind .placement-popup-ind-left .placement-description { color: #fff; }
.placement-popup .placement-popup-ind .placement-popup-ind-right { position: relative; display: block; width: 65.853659%; float: right; text-align: left; padding-top: 10px; }
.placement-popup .placement-popup-ind .placement-popup-ind-right h3 { color: #fff; text-transform: lowercase; }
.placement-popup.open { display: block; }
.placement-popup.open .placement-popup-ind.selected { display: block; }


.room .room-image-wrapper { position: relative; display: block; padding: 20px 0 30px; }
.room .room-image { position: relative; display: inline-block; margin: 0 auto; }
.room .room-image img { max-width: 100%; width: auto; }
.room .room-content { text-align: left; margin-bottom: 30px; }
.room .room-content h1 { margin-bottom: 10px; font-size: 30px; }


.room .room-products, .placement-popup .room-products { position: relative; display: block; margin: 0 0 0 -20px; padding: 0 0 30px; }
.room .room-products .room-products-inner, .placement-popup .room-products .room-products-inner { position: relative; display: block; }
.room .room-products .product-item, .placement-popup .room-products .product-item { position: relative; display: block; width: 50%; padding: 0 0 20px 20px; float: left; box-sizing: border-box; -moz-box-sizing: border-box; }
.placement-popup .room-products .product-item { width: 33.333%; }
.room .room-products .product-item(2n+1) { clear: both; }
.placement-popup .room-products .product-item(3n+1) { clear: both; }
.room .room-products .product-item a, .placement-popup .room-products .product-item a { position: relative; display: block; height: 200px; border: 15px solid #e7e8e9; background: #FFF; overflow: hidden; }
.room .room-products .product-item a .title, .placement-popup .room-products .product-item a .title { position: absolute; bottom: 0; display: block; width: 100%; font-size: 16px; color: #041e42; font-weight: 400; line-height: 1.1; text-align: center; background: #FFF; padding: 8px 10px; box-sizing: border-box; -moz-box-sizing: border-box; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }
.room .room-products .product-item a:hover .title, .placement-popup .room-products .product-item a:hover .title { color: #ab2328; }


.room-flyout-wrapper { position: absolute; left: 0; top: 0; display: none; height: 100%; margin-left: -200px; padding-top: 0; z-index: 9999; box-sizing: border-box; -moz-box-sizing: border-box; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }
.room-flyout-wrapper.opened { margin-left: 0; }
.room-page .room-flyout-wrapper { display: block; }
.room-flyout { position: relative; display: block; height: 100%; background: #fff; border-right: 3px solid #041e42; }
.room-flyout .room-flyout-btn { position: absolute; top: 50px; right: -52px; transform: rotate(90deg); }
.room-flyout-wrapper.opened .room-flyout .room-flyout-btn { right: -52px; }
.room-flyout .room-flyout-btn a { background: #ab2328; color: #fff; font-size: 16px; font-weight: 500; text-transform: lowercase; padding: 5px 10px; border-right: 1px solid #041e42; border-left: 1px solid #041e42; border-top: 1px solid #041e42; }
.room-flyout .room-flyout-btn a:hover { background: #fff; color: #ab2328; }
.room-flyout .room-flyout-menu { position: relative; display: block; height: 100%; padding: 10px; overflow: auto; box-sizing: border-box; -moz-box-sizing: border-box; }
.room-flyout .room-flyout-menu a { position: relative; display: block; padding: 20px 20px; font-size: 16px; font-weight: 500; color: #041e42; text-align: left; }
.room-flyout .room-flyout-menu a:hover { background: #041e42; color: #fff; }
.room-flyout .room-flyout-menu-cover { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; background: #fff; z-index: 99; }
.room-flyout-wrapper.opened .room-flyout .room-flyout-menu-cover { display: none; }


.disclaimer { position: relative; display: block; width: 100%; max-width: 800px; margin: 0 auto 20px; padding: 40px 0 0; font-size: 15px; text-align: center; }


.contact-footer-wrapper { position: relative; display: block; width: 100%; background: #041e42; padding: 0 20px; box-sizing: border-box; -moz-box-sizing: border-box; z-index: 9999; }
.contact-footer { position: relative; display: block; width: 100%; max-width: 960px; padding: 30px 0 35px; margin: 0 auto; color: #8897ab; font-size: 16px; font-weight: 400px; box-sizing: border-box; -moz-box-sizing: border-box; }
.page-contact .contact-footer { padding-bottom: 0; }
.contact-footer .logo-sm { position: relative; display: block; height: 60px; margin: 0 auto 20px; padding: 0; box-sizing: border-box; -moz-box-sizing: border-box; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }
.contact-footer .logo-sm img { position: relative; display: block; width: auto; max-width: 60px; height: 100%; margin: 0 auto; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }
.contact-footer ul.locations { display: inline-block; margin: 0 auto; padding: 0; }
.contact-footer ul.locations.top { margin-bottom: 20px; }
.contact-footer ul.locations li { list-style-type: none; margin: 0 0 0 30px; padding: 0; float: left; color: #8897ab; font-size: 22px; font-weight: 600; text-transform: lowercase; }
.contact-footer ul.locations li:before { position: relative; top: 4px; display: inline-block; width: 10px; height: 21px; content: ''; background: url(../img/footer-location-sep.png) no-repeat; margin: 0 30px 0 0; }
.contact-footer ul.locations li:first-child { margin-left: 0; }
.contact-footer ul.locations li:first-child:before { display: none; }
.contact-footer ul.locations li a.tel { color: #8897ab; /*font-size: 16px;*/ font-weight: 400; margin: 0 0 0 5px; }
.contact-footer ul.locations li a.tel:hover { color: #8897ab; }


.footer-wrapper { position: relative; display: block; width: 100%; background: #03152e; padding: 0 20px; box-sizing: border-box; -moz-box-sizing: border-box; }
#footer { position: relative; display: block; width: 100%; max-width: 960px; padding: 35px 0 10px; margin: 0 auto; color: #4f6685; font-size: 12px; font-weight: 400px; box-sizing: border-box; -moz-box-sizing: border-box; }
#footer hr { border: none; border-bottom: 2px solid #1c3353; padding: 20px 0 0; margin: 0 0 10px; }
#footer ul.social { display: inline-block; margin: 0 auto; padding: 0; }
#footer ul.social li { list-style-type: none; margin: 0 15px; padding: 0; float: left; }
#footer ul.social li a.icon-twitter { display: block; color: #8897ab; font-size: 24px; margin-top: -5px; }
#footer ul.social li a.icon-twitter:hover { color: #fff; }



.web-form { padding: 0; margin: 0; width: 100%; }
.web-form p { padding-bottom: 15px; margin: 0; width: auto; line-height: 1; }
.web-form p:last-of-type { padding-bottom: 0; }
.web-form img { width: auto; }
.web-form .ajax-loader { background: #FFF; float: right; padding: 2px; margin: 0 10px 0 0; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; }

.web-form .wrap { display: block; border: none; background: #fff; padding: 6px 12px 10px; border: 1px solid #ccc; -webkit-box-shadow: inset 0px 0px 6px 2px rgba(4,30,66,0.10); -moz-box-shadow: inset 0px 0px 6px 2px rgba(4,30,66,0.10); box-shadow: inset 0px 0px 6px 2px rgba(4,30,66,0.10); }
.web-form .wrap input, .web-form .wrap textarea, .web-form .wrap select { font-family: "sofia-pro", sans-serif; font-weight: 500; font-size: 16px; color: #000000; }
.web-form .wrap input[type="text"], .web-form .wrap input[type="email"], .web-form .wrap textarea { width: 100%; border: none; outline: 0; padding: 0; margin: 0; background: none; line-height: 1.3; }
.web-form .wrap select { width: 100%; outline: 0; padding: 0; margin: 0; background: none; line-height: 1.3; border: none; }
.web-form .wrap textarea { height: 220px; margin-top: 2px; }

.web-form .wrap.input-error { background: #FCC; color: #FFF; }
.web-form .wrap.input-error .error { display: none !important; }

.response-output { position: relative; display: block; font-size: 22px; margin: 0 0 25px; }
.response-output.error { color: #C00; }

.content-row .content-info .content-text .wpcf7 .captcha { position: relative; padding-left: 240px; }
.content-row .content-info .content-text .wpcf7 .captcha label { position: absolute; top: 0; left: 0; display: block; width: 220px; padding: 8px 0; text-align: center; border: 1px solid #000; background: #363636; box-sizing: border-box; -moz-box-sizing: border-box; }
.content-row .content-info .content-text .wpcf7 .captcha label img { margin: 0 auto; }

.web-form button[type="submit"] { color: #000; font-size: 20px; padding: 5px 30px 6px; margin: 0; outline: 0; background: #fff; border: 1px solid #ccc; text-transform: lowercase; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }
.web-form button[type="submit"]:hover { color: #fff; background: #000; }



.loading { position: fixed; top: 0; display: block; width: 100%; height: 100%; background: #000 url(images/loader.gif) center center no-repeat; z-index: 999999999999; }
.loading .loading-inner { position: fixed; top: -80px; display: block; width: 100%; height: 100%; background: url(images/logo.png) center center no-repeat; background-size: 150px; }

input.placeholder, textarea.placeholder { color: #041e42; font-family: "sofia-pro", sans-serif; font-weight: 500; }
::-webkit-input-placeholder { /* WebKit browsers */
	color:     #041e42;
	font-family: "sofia-pro", sans-serif;
	font-weight: 500;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	color:    #041e42;
	font-family: "sofia-pro", sans-serif;
	font-weight: 500;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
	color:    #041e42;
	font-family: "sofia-pro", sans-serif;
	font-weight: 500;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
	color:    #041e42;
	font-family: "sofia-pro", sans-serif;
	font-weight: 500;
}

@viewport { width: auto; }



@media only screen and (max-width: 1280px) {
	
	.content-inner { padding: 0 20px; }

}


@media only screen and (max-width: 1024px) {
	
	a.btn { margin-bottom: 10px; }
	
	#header .header-content h1 { font-size: 32px; padding-top: 28px; }
	#header .header-content .description { font-size: 20px; padding-top: 38px; }

	.placement-popup .room-products .product-item { width: 50%; }
	.placement-popup .room-products .product-item(3n+1) { clear: none; }
	.placement-popup .room-products .product-item(2n+1) { clear: both; }
	.placement-popup .placement-popup-ind .placement-popup-ind-left h2 { font-size: 28px; }
	.placement-popup .placement-popup-ind .placement-popup-ind-right h3 { font-size: 22px; }
	
}

@media only screen and (max-width: 900px) {
	
	BODY { cursor: pointer; }
	
	#header { padding-top: 0; }
	#header .logo-wrapper { padding-left: 40px; }
	#header .header-content h1 { font-size: 30px; padding-top: 32px; }
	#header .header-content .description { font-size: 17px; padding-top: 43px; }
	
	a.btn { margin-bottom: 0; }
	
	.contact-footer ul.locations li::before { margin-right: 20px; }
	.contact-footer ul.locations li { font-size: 20px; margin-left: 20px; }
	
}

@media only screen and (max-width: 800px) {
	
	#header .header-content { padding-left: 15px; }
	#header .logo-wrapper { padding-left: 20px; padding-right: 20px; }
	
	#header .logo { height: 50px; }
	#header .header-content h1 { font-size: 26px; padding-top: 30px; }
	#header .header-content .description { display: none; font-size: 15px; padding-top: 39px; }
	
	.room-flyout-wrapper { display: block; }
	.placement-popup { display: none !important; }
	
}

@media only screen and (max-width: 768px) {
	
	.header-wrapper { padding: 0; }
	#header .logo-wrapper { padding: 10px 10px 8px; }
	#header { padding-top: 0; }
	#header .logo { height: 48px; }
	#header .header-content .description { margin-left: 10px; }
	
	
}

@media only screen and (max-width: 667px) {
	
	.contact-footer ul.locations li { display: inline-block; text-align: center; margin-left: 50px; }
	.contact-footer ul.locations li::before { display: none; }
	.contact-footer ul.locations li a.tel { display: block; }
	
	#header .header-content h1 { font-size: 23px; }
	#header .header-content .description { font-size: 13px; }
	
	
}

@media only screen and (max-width: 600px) {
	
	#header .logo { height: 45px; }
	#header .header-content h1 { font-size: 26px; padding-top: 25px; }
	#header .header-content .description { display: none; }
	
}

@media only screen and (max-width: 480px) {
	
	#header .logo { height: 40px; }
	#header .header-content h1 { font-size: 24px; }
	
	.contact-footer ul.locations li { margin-left: 30px; }
	
}

@media only screen and (max-width: 420px) {
	
	BODY { font-size: 15px; }
	
	#header .logo { height: 34px; }
	#header .header-content { padding-left: 15px; }
	#header .header-content h1 { font-size: 16px; padding-top: 26px; }
	
	
	.content-inner { padding: 0 10px 0 30px; }

	
	a.btn { margin-bottom: 10px; }
	
	.contact-footer ul.locations li { display: block; float: none; margin-left: 0; padding-top: 20px; }
	.contact-footer ul.locations li:first-child { padding-top: 0; }
	.contact-footer ul.locations li a.tel { display: inline; }

	.room .room-products .product-item { width: 100%; }
	
}

@media only screen and (max-width: 320px) {
	
	
	
}



@media only screen and (min-width: 480px) and (-webkit-min-device-pixel-ratio: 2){
	
}

@media only screen and (max-width: 320px) and (-webkit-min-device-pixel-ratio: 2){
	
}
