/* GENERAL  		  ///////////////////////////////////////////////////*/
body,
html,
.banner,
.about,
.contact {
    height: 100%;
}

body {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 1em; /* 16px */
    line-height: 1.25;
    color: #555;
    background-color: #fff;
}

* {
    box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    margin-bottom: 20px;
}

h1 {
    font-size: 1.5em;
}

h2 {
    font-size: 1.375em;
}

h3 {
    font-size: 1.25em;
}

h4 {
    font-size: 1.125em;
}

h5 {
    font-size: 1em;
}

h6 {
    font-size: .875em;
}

a {
    display: inline-block;
    color: #3DBAED;
    text-decoration: none;
    transition: all ease-out .3s;
    border-radius: 99px;
    cursor: pointer;
}

a:hover {
    color: #E52434;
}

p {
    margin-bottom: 20px;
}

img {
    width: 100%;
    vertical-align: bottom;
}

.blue {
    color: #3DBAED;
}

.red {
    color: #E52434;
}

a.button {
    padding: 10px 25px;
    color: #fff;
    background-color: #3DBAED;
}

a.button:hover {
    background-color: #555;
}


/* HEADER     		  ///////////////////////////////////////////////////*/
header {
    position: fixed;
    width: 100%;
    transition: all ease-out .3s;
    background-color: #fff;
    background-color: rgba(255, 255, 255, .85);
    background: linear-gradient(#fff, #fff, rgba(255, 255, 255, .0));
    z-index: 1;
}

header section,
.about section,
.businesses article,
.contact section {
    width: 960px;
    margin: 0 auto;
    padding: 20px 0;
    overflow: hidden;
}

header figure {
    width: 250px;
    float: left;
}

header nav {
    float: right;
    margin-top: 15px;
}

header nav li {
    display: inline-block;
    margin-left: 10px;
}

header nav a,
.bg-menu nav a {
    padding: 10px 25px;
    font-size: .875em;
    font-weight: 700;
    text-transform: uppercase;
    color: #555;
    background-color: transparent;
}

header nav a:hover,
header nav a.active,
.bg-menu nav a:hover {
    color: #fff;
    background-color: #3DBAED;
}

header nav p {
    display: none;
}


/* BANNERS     	      ///////////////////////////////////////////////////*/
.banner {
    width: 100%;
    display: table;
    text-align: center;
}

.banner section {
    display: table-cell;
    vertical-align: middle;
}

.banner h1 {
    width: 350px;
    height: 350px;
    display: inline-block;
    margin-bottom: 0;
    padding: 105px 40px 0 40px;
    text-align: center;
    color: #fff;
    line-height: 1.5;
    border-radius: 100%;
    background-color: #555;
    background-color: rgba(85, 85, 85, .75);
}

.banner i {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 10px;
    margin: 0 auto;
    font-size: 3.5em;
    color: #fff;
    animation: UpDown 1s linear infinite;
}

@keyframes UpDown {
    0%,
    100% {
        bottom: 10px;
    }

    50% {
        bottom: 20px;
    }
}


/* HOME     		  ///////////////////////////////////////////////////*/
.home h2 {
    margin-bottom: 50px;
}

.home .companies {
    padding: 50px;
    text-align: center;
    background-color: #fff;
    background-color: rgba(255, 255, 255, .95);
}

.home figure,
.home figure + figure + figure + figure {
    width: 220px;
    display: inline-block;
    margin: 0 15px;
    vertical-align: middle;
}

.home figure + figure {
    width: 400px;
}

.home figure a,
.businesses figure a {
    display: block;
    padding: 35px;
    border-radius: 35px;
    background-color: transparent;
}

.home figure a:hover,
.businesses figure a:hover {
    background-color: #eee;
    background-color: rgba(85, 85, 85, .1);
}

.bg-home {
    background: url(../images/home.jpg) center center no-repeat;
    background-size: cover;
    background-attachment: fixed;
}


/* ABOUT US     	  ///////////////////////////////////////////////////*/
.about,
.businesses,
.contact {
    padding-top: 150px;
}

.about,
.contact {
    width: 100%;
    display: table;
}

.about article,
.contact article {
    display: table-cell;
    vertical-align: middle;
}

.about section {
    margin-top: -100px;
}

.bg-about {
    background: url(../images/about-us.jpg) center top no-repeat;
    background-size: cover;
    background-attachment: fixed;
}


/* BUSINESSES     	  ///////////////////////////////////////////////////*/
.businesses section {
    overflow: hidden;
    margin-bottom: 50px;
    padding-bottom: 30px;
    border-bottom: 1px solid #fff;
}

.businesses section:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.businesses section + section {
    padding-bottom: 50px;
}

.businesses section + section p {
    margin-bottom: 0;
}

.businesses figure,
.businesses div {
    display: inline-block;
    vertical-align: middle;
}

.businesses figure {
    width: 320px;
    margin-right: 35px;
}

.businesses .dopll {
    padding: 0 35px;
}

.businesses div {
    width: 600px;
}

.bg-businesses {
    background: url(../images/businesses.jpg) left bottom no-repeat;
    background-attachment: fixed;
    background-size: cover;
}


/* CONTACT     		  ///////////////////////////////////////////////////*/
.contact section {
    margin-top: -50px;
}

.contact form {
    width: 500px;
    float: left;
    overflow: hidden;
    margin-right: 100px;
}

.contact div {
    float: left;
}

.contact input[type="text"],
.contact input[type="email"],
.contact input[type="submit"],
.contact textarea {
    width: 100%;
    height: 40px;
    margin-bottom: 25px;
    padding: 0 20px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    color: #555;
    border-radius: 99px;
    border: 0;
    resize: none;
    -webkit-appearance: none;
            appearance: none;
    background-color: #eee;
    background-color: rgba(255, 255, 255, .65);
}

.contact textarea {
    height: 150px;
    padding: 20px;
    border-radius: 20px;
}

#bSend {
    width: auto;
    float: right;
    padding: 10px 25px;
    font-size: 1em;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    transition: all ease-out .3s;
    border: 0;
    border-radius: 99px;
    cursor: pointer;
    background-color: #3DBAED;
}

#bSend:hover {
    background-color: #555;
}

.contact input[type="submit"] {
    width: auto;
    float: right;
    padding: 10px 25px;
    font-size: 1em;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    transition: all ease-out .3s;
    border: 0;
    border-radius: 99px;
    cursor: pointer;
    background-color: #3DBAED;
}

.contact input[type="submit"]:hover {
    background-color: #555;
}

.contact input[type="text"].error,
.contact input[type="email"].error,
.contact textarea.error {
    color: #fff;
    background-color: #E52434;
    background-color: rgba(229, 36, 52, .75);
}

.contact input[type="text"]:focus,
.contact input[type="email"]:focus,
.contact textarea:focus {
    outline: none;
}

.contact input[type="text"]::placeholder,
.contact input[type="email"]::placeholder,
.contact textarea::placeholder {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    color: #555;
}

.contact input[type="text"].error::placeholder,
.contact input[type="email"].error::placeholder,
.contact textarea.error::placeholder {
    color: #fff;
}

.contact label {
    display: none !important;
}

.bg-contact {
    background: url(../images/contact.jpg) center top no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

.thanks div {
    width: 100%;
    float: none;
    text-align: center;
}


/* FOOTER     		  ///////////////////////////////////////////////////*/
footer {
    padding: 20px 0;
    font-size: .875em;
    text-align: center;
    color: #fff;
    background-color: #555;
}

footer p {
    margin-bottom: 0;
}

.capt {
    display: inline-block;
    width: 100%;
}

.capt  .g-recaptcha {
  padding-left: 18%;
  margin-bottom: 10px;  
}

#modalText{
  text-align: center;
  margin-top: 3rem;
  margin-bottom: 2rem;
  font-size: 1.2rem !important;
}

.modal {
  text-align: center;
  padding: 0!important;
}

.modal:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -4px;
}

.modal-dialog {
  display: inline-block;
  text-align: left;
  vertical-align: middle;
}

