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

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-bottom: 1px solid #e9ecef; margin: 0 0 30px; padding: 10px 0 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));}

 canvas { -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; }

/* 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; }

.show { display: block !important; }
.hide { display: none !important; }

img { display: block; }

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

.text-left { text-align: left !important; }
.text-center { text-align: center !important; }
.text-right { text-align: right !important; }

a.tel, a.tel:hover { color: #2e2e2e; cursor: default; }

/*** site styles ***/

html { -webkit-text-size-adjust: 100%; }
BODY { background: url("../images/Full-Illustration.jpg?r=3") center top no-repeat; background-size: cover; font-family: 'Montserrat', sans-serif; font-weight: 400; font-style: normal; font-size: 16px; line-height: 1.3; color: #38526e; text-align: center; }

h1, h2, h3, h4 { font-family: 'Bitter', serif; margin: 0; padding: 0; line-height: 1.4; color: #000; font-weight: 600; }

p { padding: 0 0 20px; margin: 0; line-height: 1.5; }
p:last-child, p:last-of-type { padding-bottom: 0; }
/*p + h2, p + h3 { padding-top: 30px; }*/
p:last-child + h2, p:last-of-type + h2, p:last-child + h3, p:last-of-type + h3 { padding-top: 25px; }

a { color: #000; text-decoration: none; font-weight: 700; }
a:hover { color: #8c92a0; text-decoration: none; }

strong, b { font-weight: 700; }

ul, ol { padding: 0 0 20px; margin: 0; }
ul:last-of-type, ol:last-of-type { padding-bottom: 0; }
ul li, ol li { list-style-type: disc; margin: 0 0 0 25px; padding: 2px 0 3px; }
ol li { list-style-type: decimal; }
ol.alphabet > li { list-style-type: upper-alpha; }
ol.alphabet li ul li { list-style-type: disc; }
p:last-of-type + ul, p:last-of-type + ol { padding-top: 10px; }
ul:last-of-type + p, ol:last-of-type + p, ul:last-of-type + h3, ol:last-of-type + h3 { padding-top: 20px; }

.row { position: relative; display: block; box-sizing: border-box; -moz-box-sizing: border-box; }
.row + .row { padding-top: 25px; }

.grid { display: grid; gap: 0px 50px; grid-template-columns: 1fr; grid-template-rows: auto; grid-auto-rows: minmax(min-content, max-content); }
.grid .col { position: relative; display: block; box-sizing: border-box; -moz-box-sizing: border-box; }
.grid .col.col-1 { grid-area: col-1; }
.grid .col.col-2 { grid-area: col-2; }
.grid .col.col-3 { grid-area: col-3; }

.padding-top { padding-top: 25px !important; }

.outer { position: relative; display: block; overflow: hidden; }

.tree { position: absolute; bottom: calc((100vw * .107142857142857) * -1); left: calc((100vw * .177142857142857) * -1); display: none; width: calc(100vw * .25); }
.city { position: absolute; top: 0; right: 0; display: none; width: calc(100vw * .39286); }
.city2 { position: relative; display: none; max-width: 500px; margin: -70px auto 30px; z-index: -1; }
.tree img, .city img, .city2 img { width: 100%; height: auto; }

.header-wrapper { position: relative; display: block; padding: 0 50px; box-sizing: border-box; -moz-box-sizing: border-box; }
#header { position: relative; display: block; width: 100%; max-width: 1600px; margin: 0 auto; padding: 25px 0 35px; }
#header .row.grid { grid-template-columns: auto 1fr; grid-template-areas: "col-1 col-2"; gap: 0px 40px; }
#header .logo { position: relative; display: block; width: 190px; margin: 0; padding: 0; z-index: 100; }
#header .logo a { display: block; }
#header .logo img { position: relative; display: block; }

.site-wrapper { position: relative; display: block; padding: 40px 50px 60px; box-sizing: border-box; -moz-box-sizing: border-box; }
.site { position: relative; display: block; width: 100%; max-width: 1600px; margin: 0 auto; box-sizing: border-box; -moz-box-sizing: border-box; }

.site .content-width { position: relative; display: block; width: 100%; max-width: 1220px; margin: 0 auto; }
.site .content-width .content-box { width: 100%; max-width: 700px; }
.site .content-width h1 { font-size: 46px; font-weight: 600; color: #000; margin: 0 0 25px; line-height: 1.3; }
.site .content-width h3 { font-size: 20px; font-weight: 500; color: #38526e; margin: 0 0 40px; }

.site .content-width a.button { position: relative; display: inline-block; font-size: 18px; font-weight: 600; color: #fff; background: #dd3731; }
.site .content-width a.button span.wrap { position: relative; display: inline-block; height: 50px; }
.site .content-width a.button span.inner { position: relative; display: grid; height: 100%; align-content: center; padding: 0 20px; grid-template-columns: auto auto; gap: 0 10px; }
.site .content-width a.button:hover { color: #000; background: #f06c31; }

.site .content-width .suil.grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 0px 50px; padding-top: 50px; }
.site .content-width .suil.grid .suil-logo { position: relative; display: block; }
.site .content-width .suil.grid .suil-logo a { position: relative; display: block; background: #fff; color: #000; border-radius: 100px; padding: 20px 20px 15px; text-align: center; }
.site .content-width .suil.grid .suil-logo a .wrap { position: relative; display: inline-block; margin: 0 auto; }
.site .content-width .suil.grid .suil-logo a .inner { position: relative; display: grid; height: 100%; align-content: center; grid-template-columns: auto auto; gap: 0 20px; }
.site .content-width .suil.grid .suil-logo a .icon { display: grid; align-content: center; font-size: 60px; line-height: 1; }
.site .content-width .suil.grid .suil-logo a img { max-width: 178px; }
.site .content-width .suil.grid .suil-logo a:hover { background: #fff; color: #38526e; }
.site .content-width .suil.grid .suil-content { position: relative; display: grid; align-content: center; font-size: 18px; font-weight: 500; color: #262d45; }

.footer-wrapper { position: relative; display: block; padding: 20px 50px 0; margin: 0 0 30px; color: #38526e; font-family: museo-sans,sans-serif;
font-weight: 300; font-style: normal; font-size: 12px; box-sizing: border-box; -moz-box-sizing: border-box; }
.footer-wrapper a { color: #38526e; text-decoration: underline; font-weight: 300; }
.footer-wrapper a:hover { color: #000; text-decoration: underline; }

.footer .social { position: relative; display: block; margin-bottom: 15px; }
.footer .social a { font-size: 22px; text-decoration: none; }
.footer .social a:hover { text-decoration: none; }


.alert-wrapper { position: fixed; top: 0; display: block; width: 100%; height: 100%; padding: 100px 50px 50px; background: rgba(0, 0, 0, .5); z-index: 999999999999; text-align: center; box-sizing: border-box; -moz-box-sizing: border-box; cursor: pointer; }
.alert-wrapper .alert-wrapper-inner { position: relative; display: grid; height: 100%; align-content: center; color: #000; }
.alert-wrapper .alert { position: relative; display: block; width: 100%; max-width: 800px; background: #fff; border: 5px solid #000; padding: 60px 30px 30px; margin: 0 auto; border-radius: 10px; text-align: left; box-sizing: border-box; -moz-box-sizing: border-box; }
.alert-wrapper .alert a.alert-close { position: absolute; top: 20px; right: 30px; display: block; font-size: 21px; font-weight: bold; }


@viewport { width: auto; }


@media only screen and (max-width: 1700px) {
  
  BODY { background: url("../images/Background.jpg") center top no-repeat; background-size: cover; }
  
  .tree { display: none; }
  .city { display: block; right: 0; top: 230px; }
  
}

@media only screen and (max-width: 1300px) {
  
  .city { width: calc(100vw * .35286); top: 260px; }
  
}

/*@media only screen and (max-width: 1200px) {
  
  .city { width: calc(100vw * .30286); top: 280px; }
  
}*/

@media only screen and (max-width: 1200px) {
  
  .city { display: none; }
  .city2 { display: block; }
  .site .content-width .content-box { max-width: none; }
  
}
  
@media only screen and (max-width: 667px) {
  
  .site .content-width h1 { font-size: 34px; }
  .site .content-width h3 { font-size: 18px; }
  .site .content-width a.button { display: block; text-align: center; }
  .site .content-width a.button span.wrap { margin: 0 auto; }
	
	.site .content-width .suil.grid { grid-template-columns: 1fr; gap: 30px 50px; }
  
}

@media only screen and (max-width: 480px) {
  
  #header { padding-bottom: 15px; }
  #header .logo { width: 130px; }
  
  .padding-top { padding-top: 15px !important; }
  .city2 { margin-top: -40px; }
  .site .content-width a.button { font-size: 16px; }
  
  .header-wrapper, .site-wrapper, .footer-wrapper { padding-left: 20px; padding-right: 20px; }
  
}
