html {
height: 100%;
scroll-behavior: smooth;
}
html * {
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
}
*,
:after,
:before {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
background-color: #fff;
color: #1B1918;
font-family: 'Poppins', sans-serif;
font-size: 16px;
font-weight: 400;
height: 100%;
overflow-x: hidden;
}
img {
max-width: 100%;
}
p {
font-size: 16px;
font-weight: 300;
line-height: 28px;
}
.cd-section {
min-height: 100%;
padding: 3em 0;
position: relative;
}
strong {
font-weight: 600;
}
.content {
padding: 3rem;
}
.center {
margin: 0;
position: absolute;
top: 50%;
left: 50%;
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.vertical-center {
margin: 0;
position: absolute;
top: 50%;
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}
/* BTN */
a {
color: #009EE0;
}
a,
a:hover {
text-decoration: none;
}
button:focus {
border: 0;
outline: 0;
}
.btn {
color: #fff;
padding: 15px 20px;
border-radius: 24px;
background: #009EE0;
line-height: 1;
font-weight: 600;
text-transform: uppercase;
vertical-align: baseline;
}
.btn:hover, a.btn:hover {
color: #fff;
background: #0077B5;
}
/* HEADINGS */
h1 {
font-size: 62px;
line-height: 130%;
letter-spacing: -3%;
text-align: center;
}
h2 {
font-size: 36px;
line-height: 160%;
}
h3 {
font-size: 20px;
font-weight: 400;
line-height: 160%;
}
h4 {
font-size: 18px;
line-height: 18px;
font-weight: 300;
letter-spacing: 3px;
}
h5 {
font-size: 16px;
font-weight: 600;
}
/* COLOR */
.blue {color: #009EE0;}
.banner {
border: 1px solid #009EE0;
background: radial-gradient(404.21% 245.4% at 25.33% 50%, #f9fbfe 0%, #73CDF0 100%);
padding: 20px 10px;
border-radius: 28px;
}
/* NAV */
header {
background-color: #fff;
position: fixed;
z-index: 5;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
.menu {
padding: 10px 78px;
}
.menu nav, .menu-nav, .footer-nav, .content.banner {
display: flex;
justify-content: space-between;
}
.brand {
height: 44px;
width: auto;
}
.cd-label {
font-size: 15px;
font-weight: 600;
position: relative;
display: inline-block;
padding: 13px 16px 0;
}
a.lang {
font-size: 12px;
padding: 4px 10px;
border: 1px solid #009EE0;
border-radius: 20px;
margin-right: 24px;
}
a.lang:hover {
border-color: #0077B5;
}
/* HERO */
.hero {
background-image: url(../photos/hero_bg.jpg);
background-size: contain;
background-position: center center;
background-repeat: no-repeat;
margin-bottom: 3em;
}
.hero .content {
width: 65%;
}
.hero h3 {
margin: 5% 15%;
}
.hero p {
display: inline-block;
margin-right: 12px;  
}
/* ABOUT */
.about {
background-image: url(../photos/about_bg.jpg);
background-size: cover;
margin-top: 68px;
}
.about .content {
background-color: #fff;
border-radius: 72px;
margin-top: 3%;
width: 86%;
}
.about h2 {
margin: 24px auto;
}
/* CLIENTS */
.clients {
background-color: #009EE0;
color: #fff;
min-height: 300px;
}
.clients .center {
width: 90%;
}
.clients ul {
margin-top: 48px;
text-align: center;
}
.clients li {
display: inline-block;
margin: 0 22px;
}
.clients li img {
width: 146px;
}
/* SERVICES */
.services h4 {
margin-top: 3%;
}
.services .cards {
display: flex;
justify-content: center;
}
.services h2 {
margin: 24px auto 36px;
}
.services h5 {
margin: 16px 0;
}
.service {
border-radius: 4px;
border-top: 2px solid #009EE0;
background: #FFF;
box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25);
padding: 24px;
margin: 0 24px;
width: 30%;
}
.service img {
height: 80px;
width: 80px;
}
.service ul {
list-style-type: disc;
}
.service p, .service li {
font-size: 14px;
line-height: 28px;
}
/* BANNER */
.aside {
min-height: 220px;
}
.aside .banner {
padding: 0 0 0 54px;
border: none;
}
.aside .banner img {
border-radius: 0 28px 28px 0;

}
.aside h4 {
margin-bottom: 32px;
}
/* CONTACT */
.contact-main {
margin: 28px 0 84px;
}
.contact-main .content {
margin-top: 7%;
}
.contact-main h2 {
margin: 24px auto 36px;
}
.align {
text-align: right;
}
label {
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 22px;
letter-spacing: -0.12px;
}
form {
margin-bottom: 96px;
}
.form-group {
margin-bottom: 1.7rem;
margin-top: 0.7rem;
}
.form-control {
border-color: #C7E6F7;
color: #009EE0;
height: 48px;
}
.form-control:focus {
background-color: #f0f0f0;
box-shadow: 0 0 0 0.1rem rgba(25, 91, 154, 0.25);
}
.form button[type="submit"] {
cursor: pointer;
}
textarea.form-control {
height: 134px;
}
.validation {
color: #0077B5;
margin-top: 0.4rem;
}
.form #sendmessage.show,
.form #errormessage.show,
.form .show {
display: block;
}
.form #errormessage {
color: #dd5151;
display: none;
float: left;
margin-top: -70px;
text-align: left;
}
.form #sendmessage {
color: #0077B5;
display: none;
float: left;
margin-top: -70px;
text-align: left;
}
/* FOOTER */
footer {
background: #D5ECF9;
padding: 48px 78px 4px;
position: relative;
z-index: 1;
}
.footer-link{
display: block;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 36px; 
}
.footer-nav {
position: relative;
}
.social {
border-radius: 50%;
background-color: #fff;
display: block;
height: 40px;
width: 40px;
position: absolute;
bottom: 0;
}
.social img {
position: absolute;
margin-top: 11px;
margin-left: 10.5px;
}
.copyright {
border-top: 1px solid rgba(0, 158, 224, 0.5);
font-size: 13px;
margin-top: 24px;
padding: 24px 0;
}
.mbl-links { display: none;}
/* MEDIA QUERIES */
@media screen and (min-width: 1480px) {
.hero .content {width: auto;}
}
@media screen and (max-width: 1200px) {
.menu { padding: 10px 24px;}
}
@media screen and (max-width: 992px) {
h1 {font-size: 32px;}
h2 {font-size: 20px;}
h3 {font-size: 18px;}
h4 {font-size: 15px;}
p {font-size: 14px;line-height: 26px;}
.cd-label {padding: 13px 10px 0;}
.content {padding: 3rem 1rem;}
.about h2 {margin: 12px auto;}
.clients li img {width: 112px;}
.services .cards {display: block;}
.service {margin: 24px; width: auto;}
.picture {display: none;}
.aside .banner {height: 160px; text-align: center;padding:0;}
}
.aside .banner div {width: 100%;}
.aside .banner .vertical-center {position: relative;}
@media screen and (max-width: 820px) {
#cd-nav, header a.lang, .social {display: none;}
footer {
padding: 48px 15px 4px;
}
.footer-nav {
display: block;
text-align: center;}
.footer-nav div {margin-bottom: 20px;}
.mbl-links { display: block;}
a.lang {margin: auto;}
.mbl-social {
border-radius: 50%;
background-color: #fff;
display: block;
height: 40px;
width: 40px;
position: relative;
margin: 16px auto 0;}
.mbl-social img {
top: 10px;
position: absolute;
left: 12px;}
}
@media screen and (max-width: 670px) {
.menu { padding: 10px 0;}
.content {padding: 1rem 0;}
.btn {font-size: 14px;}
.hero {background: none; margin-bottom: 0;}
.hero .content {width: 90%;}
.hero h3 {margin: 5% 0;font-size: 16px;}
span.banner {
background-image: url(../photos/hero_mbl.png);
border: none;
background-size: auto 300px;
background-position: center top;
display: block;
background-repeat: no-repeat;
height: 300px;
}
.hero p {display: block;margin-top:160px;}
.clients ul {margin-top: 24px;}
.clients li {margin:0 22px 12px;}
.about {
background: none;
margin-top: 0;
}
.about .content {
border-radius: 0;
margin-top: 0;
}
.service {margin: 24px 0;}
.contact-main .content {width: 92%;}
.align {
text-align: center;
}
}
