* { margin: 0; padding: 0; outline: 0; }

html,
body { height: 100%; }

html { overflow-y: scroll; }



body {

    font-size: 28px;

    line-height: 2;

    font-family: 'Futura', sans-serif;
    color: #fff;

    background-color: #333;

    background-size: cover;

    min-width: 100%;

    -webkit-font-smoothing: antialiased;

    -webkit-text-size-adjust: none;

}

a {
 color: #5cbba1;
 text-decoration: none;
 cursor: pointer;
 }


a:hover { 
 text-decoration: underline;
 }


a img {
 border: 0;
 }


img { 
 vertical-align: middle;
 }



h1,
h2,
h3,
h4,
h5,
h6 { 
 font-weight: normal;
 line-height: 1.2;
 }

h1 { 
font-size: 63px; 
 }


h2 {
 font-size: 40px; 
 }


h3 {
 font-size: 20px;
 }


h4 {
 font-size: 20px;
 }


h5 {
 font-size: 18px;
 }


h6 {
 font-size: 16px;
text-align: left;
 }



input, 
textarea, 
select {
 color: #9f9f9f;
 font-size: 28px;
 font-family: 'Futura', sans-serif;

 - webkit-box-sizing: border-box;

 box-sizing: border-box;

}


textarea {
 overflow: auto;
 resize: none;
 }


input[type="text"],
input[type="email"],
input[type="password"],
input[type="submit"] {
 -webkit-appearance: none;
 }

.clearfix:before,
.clearfix:after {
 content: " ";
 display: table;
 }


.clearfix:after {
 clear: both;
 }


.left, .alignleft {
 float: left;
 }


.right, .alignright {
 float: right;
 }



.background {
 background: no-repeat center center;
 background-size: cover;
 position: fixed;
 top: 0;
 left: 0;
 bottom: 0;
 right: 0;
 z-index: -1;
 }


.background:after {
 content: '';
 background-color: rgba(0, 0, 0, .5);
 position: absolute;
 top: 0;
 left: 0;
 bottom: 0;
 right: 0;
 }



.shell {
 display: table;
 width: 910px;  height: 100%;
 margin: 0 auto;
 }


.container {
 display: table-cell;
 vertical-align: middle;
 padding: 110px 0;
 }



.icon {
 display: inline-block;
 background: no-repeat 0 0;
 background-size: cover;  vertical-align: middle;
 position: relative;
 top: -1px;
 }


.icon-phone {
 background-image: url(images/icon-phone.png);
 width: 34px;
 height: 34px;
 }


.icon-mail {
 background-image: url(images/icon-mail.png);
 width: 35px;
 height: 27px;
 }


.icon-rss {
 background-image: url(images/icon-rss.png);
 width: 40px;
 height: 30px;
 }



a {

 -webkit-transition: opacity .2s;
 transition: opacity .2s;

}




.map {
 margin-bottom: 22px;
 }


.map p {
 font-family: 'SignPainter', sans-serif;
 font-size: 50px;
 position: relative;
 line-height: 1.6;
 }


.map p:before {
 content: '';  background: url(images/arrow.png) no-repeat 0 0;
 background-size: cover;
 width: 53px;
 height: 128px;
 position: absolute;
 top: 40px;
 left: -70px;
 }



.map-canvas,
#map_canvas {
 height: 305px;
 }



.map-holder #map_canvas {
 display: none;
 }


.visible-map .map-holder #map_canvas {
 display: block;
 }



.title {
 text-align: center;
 margin-bottom: 21px;
 font-size: 45px;
 line-height: 1.8;
 }


.title h1 em span {
 display: block;
 line-height: 1.4;
 }


.title h2 {
 font-size: 50px;
 }


.title h3 {
 font-size: 25px;
 line-height: 1.8;
 }



.gform_heading {
 display: none;
 }


.gform_wrapper + p {
 margin-top: 22px;
 }


.gform_fields {
 line-height: 1.3;
 margin-left: -4%;
 list-style: none outside none;
 }


.gform_fields:before,
.gform_fields:after {  content: " ";
 display: table;
 }


.gform_fields:after {
 clear: both;
 }


.gfield {
 float: left;
 width: 46%;
 margin: 0 0 28px 4%;
 position: relative;

 -webkit-box-sizing: border-box;

  box-sizing: border-box;

 }


.gfield-large {
 display: block;
 width: 96%;
 }


.home .gfield {
 margin-bottom: 35px;
 }


.gfield input,
.gfield textarea {
 display: block;
 background-color: #fff; border: 0;  border-radius: 0;
 width: 100%;
 height: 59px;
 padding: 5px 30px 0; line-height: 1.2;
 }


.gfield textarea {
 height: 150px;
 padding-top: 18px;
 }


.gfield_label {
 color: #9f9f9f;
 font-size: 28px;
 position: absolute;
 top: 14px;
 left: 30px;
 cursor: text;
 }


.gfield_label.hidden {
 display: none;
 }


.gfield-select {
 background: #fff url(images/arrow-down.png) no-repeat right center;
 background-size: 50px 19px;
 position: relative;
 padding: 14px 70px 0 30px;
 height: 59px;
 }


.gfield-select .gfield_label {
 right: 70px;
 }


.gfield-select select {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 opacity: 0;
 cursor: pointer;
 -webkit-appearance: menulist-button;
 -moz-appearance: menulist-button;

 appearance: menulist-button;
 
}


.gfield-radio {
 line-height: 42px;
 white-space: nowrap;
 width: 100%;
 }


.gfield-radio input {
 width: 40px;
 height: 40px;
 }


.gfield-radio input,
.gfield-radio span,
.gfield-radio label {
 float: left;
 display: inline;
 }


.gfield-radio label span {
 margin: 0 10px;
 }


.gfield-radio label input {  margin: 0 0 0 10px;
 }


.gfield-radio label + label input {
 margin-left: 0;
 }



.gform_footer {
 text-align: center;
 }


.gform_alignright .gform_footer {
 text-align: right;
 }


.button {
 display: inline-block;
 background: #a4a4a4;
 background-size: 55px 12px;
 border: 0;
 font-size: 28px;  color: #fff;
 text-transform: uppercase;
 letter-spacing: 1px;
 padding: 19px 80px 12px 55px;
 cursor: pointer;
 text-align: center;

 -webkit-transition: .2s;
             
 transition: .2s;

 }


.button:hover {
 background-color: #848484;
 }



.form p {
 font-size: 23px;
 text-align: center;
 }



.thank-you-head {
 line-height: 1.35;
 text-align: center;
 font-size: 32px;
 margin-bottom: 35px;
 }


.thank-you-head h1 {
 border-bottom: 2px solid #fff;
 padding-bottom: 2px;
 margin-bottom: 12px;
 }



.member {
 width: 690px;
 margin: 0 auto;
 }


.member-image {
 float: left;
 width: 210px;
 border: 3px solid rgba(255, 255, 255, .3);
 margin-right: 57px;

 -webkit-box-sizing: border-box;

 box-sizing: border-box;

 }


.member-image img {
 width: 100%;
 height: auto;
 }



.member-info {
 line-height: 1.2;
 float: right;
 width: 423px;
 }


.member-info > :first-child {
 margin-top: 17px;
 }


.member-info h2 {
 margin-bottom: 20px;
 }


.member-contacts ul {
 list-style: none outside none;
 margin-bottom: 25px;
 }


.member-contacts li {
 margin-bottom: 10px;
 padding-left: 55px;
 position: relative;
 }


.member-contacts .icon {
 position: absolute; top: 50%;
 left: 0;
 margin-top: -3px;

 -webkit-transform: translate(0, -50%);
             transform: translate(0, -50%);

 }


.member-contacts a {
 color: #fff;
 }



.socials ul {
 list-style: none outside none;
 overflow: hidden;
 }


.socials li {
 float: left;
 margin: 0 14px 14px 0;
 }


.socials a {  display: inline-block;
 height: 38px;
 }


.socials img {
 height: 100%;
 width: auto;
 }



.pac-item {
 font-size: 14px;
 font-family: 'Futura', sans-serif;
 }


.pac-item-query {  font-size: 18px;
 font-family: 'FuturaMedium', sans-serif; font-weight: normal;
 }


.pac-icon {
 margin-left: 5px;
 }



.site-footer {
 position: fixed;
 bottom: 0;
 left: 0;  width: 100%;
 height: 30px;
 text-align: right;
 background: rgba(0, 0, 0, 0.6);
 overflow: hidden;
 }


.site-footer ul {
 list-style-type: none;
 font-size: 16px;
 margin-right: 5px;
 }


.site-footer ul li {
 display: inline;
 margin-right: 7px;
 } 


.site-footer ul li + li {
 border-left: 1px solid #666;
 padding-left: 10px;
 }


.site-footer ul li,
.site-footer ul li a {
 color: #666;
 }



@media (max-width: 1024px) {

 .container { padding: 50px 0; }

 .shell { width: auto; padding: 0 30px; }

 .title h2 { font-size: 40px; }

 .title h3 { font-size: 24px; line-height: 1.8; }

    .form p { line-height: 1.2; font-size: 20px; }

 }



@media (max-width: 767px) {

  body { font-size: 17px; }

  h1 { font-size: 40px; }
 
  h2 { font-size: 30px; }
 
  h3 { font-size: 22px; }
  
  h4 { font-size: 20px; }

  h5 { font-size: 18px; }

  h6 { font-size: 16px; }


  input, 
      textarea,
  select { font-size: 20px; }
 
 .icon { top: 0; }
 
 .icon-phone { background-image: url(images/icon-phone.png); width: 17px; height: 17px; }
     .icon-mail { background-image: url(images/icon-mail.png); width: 17px; height: 13px;}
 
.icon-rss { background-image: url(images/icon-rss.png); width: 20px; height: 15px; }


 .container { padding: 20px 0; }

 .shell { padding: 0 15px; }
    
     .title h2 { font-size: 30px; }

 .title h3 { font-size: 18px; line-height: 1.8; }

    .map p { font-size: 33px; }

 .map-canvas,
    #map_canvas { height: 200px; }
    
    .gfield { margin-bottom: 20px; }

 .home .gfield { margin-bottom: 20px; }
     .gfield input,
 .gfield textarea { height: 45px; padding: 5px 15px; }

 .gfield textarea { height: 100px; padding-top: 10px; }


 .gfield_label { font-size: 20px; left: 15px; top: 11px; }

 .gfield-select { padding: 11px 15px 0; height: 47px; }

    .button { background-size: 44px 10px; padding: 15px 50px 10px 30px; font-size: 20px; }


 .member { width: auto; }
 .member-image { float: none; display: block; width: 30%; margin-right: 3%; }


 .member-contacts li { padding-left: 30px; }

     .thank-you-head { font-size: 17px; margin-bottom: 20px; }

 }


@media (max-width: 479px) {

 .gfield { float: none; width: auto; }

 }