/* general styling */

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
}

.container{
	padding-left: 20px;
	padding-right: 20px;
	max-width: 540px;
	width: 100%;
	margin: auto;
}

/* buttons */

.button {
    border-radius: 30px;
    background-color: #0798da;
    color: white;
    text-align: center;
    padding: 10px 20px;
    text-decoration: none;
    position: relative;
    max-width: 360px;
    width: 100%;
    margin: auto;
    transition: all 0.4s;
	display: inline-block;
}

.button:hover{
	background-color: #0968a5;
}

.button-with-icon {
    padding-left: 65px;
}

.button-with-icon:before {
    content: url(images/phone.svg);
    display: inline-block;
    position: absolute;
    left: 2px;
    top: 2px;
    width: 34px;
    padding: 15px;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.button--white {
    background-color: white;
    color: #0798da;
}

.button--white:hover {
    background-color: #0968a5;
	color: white;
}

.button--white.button-with-icon:before {
    content: url(images/phone-blue.svg);
    border-right: 1px solid rgb(0 124 193 / 51%);
	transition: 0.4s all;
}

.button--white.button-with-icon:hover:before {
    content: url(images/phone.svg);
    border-right: 1px solid white;
}

.button strong {
    margin-bottom: 5px;
	display: inline-block;
}

/* header */

.main-header{
	position: fixed;
	position: sticky;
	width: 100%;
	top: 0;
	z-index: 9999;
    background-color: white;
    box-shadow: 0px 1px 10px rgba(0,0,0,0.15);
	padding-top: 10px;
	padding-bottom: 30px;
}

.header-content{
	text-align: center;
	position: relative;
}

.header-logo img{
	max-width: 230px;
}

.header-cta {
    background: #0798da;
    color: white;
    text-decoration: none;
    font-weight: 400;
    padding: 10px 20px;
    border-radius: 4px;
    margin-top: 5px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
	display: inline-block;
	position: absolute;
    left: 0;
    right: 0;
    margin: auto;
	bottom: -65px;
    z-index: 9;
	max-width: 230px;
	transition: 0.4s all;
}

.header-cta:hover{
	background-color: #0968a5;
}

.header-cta p {
    margin: 0;
    font-size: 14px;
}

.header-cta p:nth-child(1) {
    margin-bottom: 5px;
}

/* hero section */

.hero-section {

    background: url(images/main-bg.jpg);
    background-size: cover;
    background-position: top right;
    color: white;
    text-align: center;
	position: relative;
}

.hero-section__overlay{
	height: 100%;
	background-color:  rgba(0, 0, 0, 0.45);
	background: linear-gradient(to bottom, rgb(0 0 0 / 0.45), rgb(0 0 0 / 0.45));
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.45)), to(rgba(0, 0, 0, 0.45)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45));
  background-image:    -moz-linear-gradient(top, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45));
  background-image:      -o-linear-gradient(top, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45));
  background-image:         linear-gradient(to bottom, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45));
	padding-top: 85px;
    padding-bottom: 85px;
}

.hero-section p {
    margin-top: 20px;
    margin-bottom: 30px;
}

/* about us section */

.about-us{
	padding-top: 40px;
	padding-bottom: 50px;
	text-align: center;
}

.about-us .box-with-image{
	margin-top: 40px;
	text-align: center;
}

.about-us .box-with-image img{
	margin-bottom: 10px;
}

.about-us h3{
	margin-top: 0;
	font-weight: 600;
}

.box-with-image p{
	font-size: 16px;
}

/* banner */

.banner {
    padding-top: 55px;
    padding-bottom: 55px;
    text-align: center;
    background-color: #0798da;
    color: white;
	clear: both;
}

.banner h2 {
    font-weight: bold;
    margin-bottom: 25px;
    margin-top: 0;
}

/* features */

.features {
    padding-top: 40px;
    padding-bottom: 80px;
    text-align: center;
    background-color: #f7f7f7;
}

.features-box{
	text-align: center;
	margin-top: 45px;
}


.features-box img,
.features-box strong{
	display: block;
	margin: auto;
}

.features-box img{
	margin-bottom: 15px;
}

.features-box strong{
	font-weight: 600;
}

/* responsiveness */

@media only screen and (min-width: 768px){
	
	.container{
		max-width: 720px;
	}
	
	.col-md-12{
		width: 100%;
	}
	
	.col-md-2{
		width: 50%;
		float: left;
	}
	
	.main-header{
		padding-top: 20px;
		padding-bottom: 20px;
	}
	
	.header-logo{
		float: left;
		/* margin-top: 16px; */
	}
	
	.header-cta{
		float: right;
		position: relative;
		top: 0;
		bottom: 0;
	}
	
	.features-box{
		width:33%;
		float: left;
		padding: 0 20px;
	}
	
	.box-with-image{
		padding: 0 20px;
	}
	
}

.clearfix::after { 
   content: " ";
   display: block; 
   height: 0; 
   clear: both;
}

@media only screen and (min-width: 1025px){
	
	.container{
		max-width: 1170px;
	}
	
	.hero-section .container{
		max-width: 568px;
	}
	
	.about-us .box-with-image {
    	width: 50%;
		float: left;
		margin-top: 80px;
		margin-bottom: 30px;
	}
	
}

