/* ==========================================================================
   General
   ========================================================================== */

body {
  font-family: 'Open Sans', sans-serif;
  color: #333;
  font-weight: 400;
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 { font-weight: 400; }

a { color: #51bf87; }

a:hover {
  color: #47a877;
  text-decoration: none;
}

a:focus { outline: none; }

img {
  max-width: 100%;
  height: auto;
}

ul,
li {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ==========================================================================
   hero unit
   ========================================================================== */

.hero-unit {
  -webkit-background-size: cover;
  background-size: cover;
  padding: 3em 0;
  position: relative;
  color: #fff;
}

#bgvid {
  position: absolute;
  right: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  -webkit-background-size: cover;
  background-size: cover;
}

.overlay {
  position: absolute;
  width: 100%;
  min-height: 100%;
  background: rgba(27, 32, 38, 0.5);
  top: 0;
}

.logo,
.social { text-align: center; }

.social { margin-top: 1.5em; }

.social li {
  display: inline-block;
  padding-right: .5em;
}

.social li:last-child { padding-right: 0; }

.social li a {
  display: block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  color: #fff;
  border-radius: 50%;
  border: 1px solid #51bf87;
  -webkit-transition: background 1s ease;
  transition: background 1s ease;
}

.social li a:hover { background: #51bf87; }

h2 { font-weight: 600; }

/* ==========================================================================
   cta
   ========================================================================== */

.cta { margin-top: 1.5em; }

.highlight { font-weight: 700; }

.welcome-message h1 {
  line-height: 1.3;
  font-weight: 300;
  margin-top: 0.75em;
}



.button {
  background: #51bf87;
  border: 1px solid #51bf87;
  color: #fff;
  font-weight: 700;
  -webkit-transition: all .5s ease-in;
  transition: all .5s ease-in;
}

.button:hover,
.button:focus {
  color: #fff;
  background: #47a877;
  border-color: #47a877;
}

.terms {
  text-align: left;
  font-style: italic;
  padding-top: .75em;
  font-weight: 300;
}

.alert i,
.success i { padding-right: .5em; }

#mc-notification { margin-bottom: 0; }

.alert { color: #FF5252; }

.success { color: #00DD5D; }

#mc-form .error-input {
  -webkit-box-shadow: 0 0 0 2px #FF5252;
  box-shadow: 0 0 0 2px #FF5252;
}

#mc-form .success-input {
  -webkit-box-shadow: 0 0 0 2px #669900;
  box-shadow: 0 0 0 2px #669900;
}

/* ==========================================================================
   cta video
   ========================================================================== */

.cta-video {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  -webkit-box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.28);
  box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.28);
  margin-bottom: 3em;
}

.cta-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ==========================================================================
   contact
   ========================================================================== */

.contact .form-control {
  border-color: #ddd;
  height: auto;
  padding: 0.75em 12px;
}

.center-block { float: none; }

.form-group { margin-bottom: 1.5em; }

textarea[class="form-control"] { padding: 0.75em 12px; }

.contact h2 {
  margin: 0 0 48px;
  line-height: 0.5;
}

.contact .btn {
  padding: 12px 1em;
  width: 50%;
  margin: 0 auto;
  display: block;
}

.success-sf,
.error-sf { display: none; }

.success-sf p { background: rgba(39, 174, 96, 0.7); }

.error-sf p { background: rgba(234, 80, 80, 0.83); }

.error i { padding-right: .5em; }

.contact-form .success-sf p,
.contact-form .error-sf p {
  text-align: center;
  color: #fff;
  border-radius: 4px;
  padding: .75em;
}

.contact-form label.error,
.text-area label.error {
  color: #ea5050;
  display: inherit;
  margin-top: .8em;
}
.contact, p {
    margin-bottom: 25px;
}
.phone_element.no_borders {
    padding-top: 5px;
    border-top: none;
}
.phone_element {
    border-top: 1px solid #d9e1e6;
    padding: 20px 0;
    position: relative;
    line-height: 1.4;
}
.phone_element a {
    display: flex;
    align-items: center;
}
.phone_element a i {
    font-size: 1.875rem;
    color: #15a95e;
}
.phone_element span {
    margin-right: 15px;
}
.title small {
    color: #15a95e;
    display: block;
    margin-bottom: 5px;
    font-size: .98rem;
}

.title small {
    letter-spacing: 3px;
    text-transform: uppercase;
}

/* ==========================================================================
   footer
   ========================================================================== */

.site-footer {
  padding: 4.5em 0;
  background: #1b1d20;
}

.social-footer {
  list-style: none;
  margin-bottom: 2.25em;
}

.social-footer li {
  display: inline-block;
  padding-right: .5em;
}

.social-footer li:last-child { padding-right: 0; }

.social-footer a {
  -webkit-transition: all .5s ease-in;
  transition: all .5s ease-in;
  color: #51bf87;
  width: 40px;
  height: 40px;
  line-height: 40px;
  vertical-align: middle;
  display: block;
  border-radius: 50%;
}

.social-footer a:hover {
  color: #fff;
  background: #47a877;
}

.site-footer small {
  position: relative;
  padding-top: .75em;
  color: #fff;
}

.site-footer small:before {
  content: "";
  position: absolute;
  top: 0;
  height: 2px;
  width: 50%;
  margin: 0 auto;
  left: 0;
  right: 0;
  background: #51bf87;
}

.phone_element.no_borders {
    padding-top: 5px;
    border-top: none;
}
.phone_element {
    border-top: 1px solid #d9e1e6;
    padding: 20px 0;
    position: relative;
    line-height: 1.4;
}

/* ==========================================================================
   scroll top
   ========================================================================== */

.scroll-top { margin-bottom: 0; }

.scroll-top a {
  position: fixed;
  bottom: 2em;
  right: 2em;
  text-decoration: none;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.3);
  font-size: 12px;
  padding: .8em 1em;
  display: none;
  z-index: 200;
  border-radius: 4px;
  -webkit-transition: background .5s ease-in;
  transition: background .5s ease-in;
}

.scroll-top a:hover { background: #51bf87; }

/* ==========================================================================
   Preloader styles
   ========================================================================== */

#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fefefe;
  z-index: 9999;
  height: 100%;
  height: 100%;
}

#status {
  width: 200px;
  height: 200px;
  position: absolute;
  left: 50%;
  top: 50%;
  background: url(loader.gif) no-repeat center center;
  margin: -170px 0 0 -100px;
}

/* ==========================================================================
   Small devices (tablets, 768px and up)
   ========================================================================== */

@media (min-width: 768px) {

.hero-unit { padding: 4.5em 0; }

.logo { text-align: justify; }

.cta { margin-top: 4.5em; }

.social { float: right; }

.social { margin-top: 0; }

}

/* ==========================================================================
   Medium devices (desktops, 992px and up)
   ========================================================================== */

@media (min-width: 992px) {

.hero-unit { padding: 4.5em 0 10.5em; }

.cta { margin-top: 7.5em; }

.cta-video {
  margin-bottom: 0;
  margin-right: 1em;
}

.section-spacing { padding: 6em 0; }

.site-footer li { margin-bottom: 0; }
}

@media (max-width: 990px) {

.section-spacing {
    padding: 6em 0;
}
}
