/*--------------------------------------------------------------============================================================
  
1. Typography




[Main Stylesheet]

Project:   hafferi
Version:    0.1
Last change:    02.09.2019
Primary use:    hafferi- Simple & Clean Templatee


[Typography]

Body: 16px 'Rubik', sans-serif;



/*==============================
[Table of contents]




=============================================================--------------------------------------------------------------*/

body {
  font-family: 'Rubik', sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.7;
  color: #4B5159;
  background-color: #fff;
  overflow-x: hidden;
  word-wrap: break-word;
  word-break: normal;
}

a, a:active, a:focus, a:active {
  color: #222222;
  text-decoration:none !important
}
input{
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
a:hover,
a:focus,
input:focus,
input:hover,
select:focus,
select:hover,
select:active,
textarea:focus,
textarea:hover,
button:focus {
  outline: none;
}
input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]),
textarea {
  border: 1px solid rgba(0, 0, 0, 0.1);
  color: #999;
  display: inline-block;
  padding: 5px 10px;
}

dl {
  margin-bottom: 1.6em;
}
dt {
  font-weight: bold;
}
dd {
  margin-bottom: 1.6em;
}
table,
th,
td {
  border: 1px solid #eaeaea;
  border: 1px solid rgba(51, 51, 51, 0.1);
}
table {
  border-collapse: separate;
  border-spacing: 0;
  border-width: 1px 0 0 1px;
  margin: 0 0 1.6em;
  table-layout: fixed; /* Prevents HTML tables from becoming too wide */
  width: 100%;
}
caption,
th,
td {
  font-weight: normal;
  text-align: left;
}
th {
  border-width: 0 1px 1px 0;
  font-weight: 700;
}
td {
  border-width: 0 1px 1px 0;
}
th, td {
  padding: 0.4em;
}
img {
  -ms-interpolation-mode: bicubic;
  border: 0;
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

iframe {
  width: 100%;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6{
  font-weight: 500;
  color: #031527;
  font-family: 'Rubik', sans-serif;
}

h1,
.h1{
    color: #FFFFFF;
    font-size: 56px;
    letter-spacing: 0.02em;
    line-height: 66px;
    margin-bottom: 40px;
}

h2,
.h2 {
  font-size: 36px;
}

h3,
.h3 {
  font-size: 18px;
}



/*---------------------------------------------------
HAFFERI HEADER SECTION 
----------------------------------------------------*/
header.ha--header-section {
    position: absolute;
    width: 100%;
    z-index: 1;
    text-align: center;
    padding: 55px 0;
}
.ha-logo {
    max-width: 190px;
    margin: 0 auto;
}

/*---------------------------------------------------
HAFFERI HERO SECTION 
----------------------------------------------------*/

.ha--hero-section {
    z-index: 0;
    position: relative;
    background-size: cover;
    padding: 170px 0 100px;
}
.ha--hero-section:before{
    content: "";
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -1;
    position: absolute;
    background: rgba(63, 90, 118, 0.83);
}
.ha--hero-content {
    max-width: 620px;
}
.ha--hero-content ul{
    margin: 0 0 50px;
    padding: 0;
    list-style: none;
}
.ha--hero-content ul li{
    position: relative;
    font-size: 24px;
    color: #fff;
    margin: 10px 0;
    padding-left: 55px;
    letter-spacing: 0.02em;
}
.ha--hero-content ul li:first-child{
    margin-top: 0;
}
.ha--hero-content ul li:last-child{
    margin-bottom: 0;
}

.ha--hero-content ul li img {
    position: absolute;
    left: 0;
    width: 28px;
    top: 13px;
}
a.ha--hero-btn {
    border: 2px solid #FFFFFF;
    box-sizing: border-box;
    filter: drop-shadow(6px 6px 30px rgba(63, 90, 118, 0.1));
    letter-spacing: 0.02em;
    font-size: 22px;
    color: #fff;
    font-weight: 700;
    padding: 15px 50px;
    display: inline-block;
}

/*---------------------------------------------------
HAFFERI CLIENT SECTION 
----------------------------------------------------*/
.ha--client-section {
    padding: 30px 0;
    background-color: #5C7EA4;
}
.ha--client-title h3{
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.02em;
    color: #FFFFFF;

}
.ha--client-wrap {
    display: flex;
    -webkit-display: flex;
    -ms-display: flex;
    -o-display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    align-items: center;
    -webkit-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-justify-content: space-between;
    -o-justify-content: space-between;

}
.ha--client-item {
    flex: 0 0 12%;
    -webkit-flex: 0 0 12%;
    -ms-flex: 0 0 12%;
    -o-flex: 0 0 12%;
    max-width: 100px;
}

/*---------------------------------------------------
HAFFERI MEDIA SECTION 
----------------------------------------------------*/
.ha--media-section {
    padding: 80px 0;
}
.ha--section-title {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 54px;
}
.ha--media-wrap {
    background-color: #DFEAF7;
    text-align: center;
    padding: 50px 32px 25px;
    margin-bottom: 25px;
}
.ha--media-icon{
    margin-bottom: 25px;
}
.ha--media-icon img{
    height: 53px;
}

.ha--media-content h3{
    margin-bottom: 20px;
}
.ha--media-content p{
    font-size: 14px;
}

/*---------------------------------------------------
HAFFERI ABOUT SECTION 
----------------------------------------------------*/
.ha--about-section {
    padding: 70px 0 145px;
}
.ha--about-content {
    padding: 46px 210px 55px 80px;
    background: #FFFFFF;
    position: relative;
    left: -55px;
    top: 55px;
    width: calc(100% + 55px);
    box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.1);
    -o-box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.1);
}
.ha--about-content h5{
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.02em;
    color: #4B5159;
}
.ha--about-content h2{
    margin-bottom: 20px;
}
.ha--meta {
    margin-top: 30px;
}
.ha--meta h3{
    color: #4B5159;
    margin-bottom: 15px;
}
.ha--meta ul {
    margin: 0 0 40px;
    padding: 0 22px 0;
}

a.ha--default-btn {
    letter-spacing: 0.02em;
    font-size: 20px;
    color: #fff;
    font-weight: 700;
    padding: 15px 35px;
    display: inline-block;
    background: #77A1D5;
    box-shadow: 6px 6px 30px rgba(63, 90, 118, 0.1)
    -webkit-box-shadow: 6px 6px 30px rgba(63, 90, 118, 0.1)
    -ms-box-shadow: 6px 6px 30px rgba(63, 90, 118, 0.1)
    -o-box-shadow: 6px 6px 30px rgba(63, 90, 118, 0.1)
}

/*---------------------------------------------------
HAFFERI COUNTER SECTION 
----------------------------------------------------*/
.ha--counter-wrap {
    background: #FFFFFF;
    text-align: center;
    height: 265px;
    padding: 40px;
    display: flex;
    -webkit-display: flex;
    -ms-display: flex;
    -o-display: flex;
    flex-direction: column;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    -o-justify-content: center;
    box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.1);
    -o-box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.1);
}
.ha--counter-wrap h2{
    font-size: 72px;
    letter-spacing: 0.02em;
    color: #77A1D5;
}
.ha--counter-wrap h3{
    font-size: 24px;
    letter-spacing: 0.02em;
    color: #4B5159;
    line-height: 1.6;
}

/*---------------------------------------------------
HAFFERI TESTIMONIAL SECTION 
----------------------------------------------------*/
.ha--testimonial-section {
    padding: 240px 0 145px;
}
.ha--testimonial-slider{
    background: #FFFFFF;
    max-width: 896px;
    margin: 0 auto;
    box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.1);
    -o-box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.1);
}
.ha--testimonial-slider-wrap {
    display: flex;
    -webkit-display: flex;
    -ms-display: flex;
    -o-display: flex;
    padding: 65px 85px 35px 65px;
}
.ha--testimonial-thumb {
    height: 154px;
    max-width: 154px;
    margin-right: 40px;
    flex: 0 0 22%;
    -webkit-flex: 0 0 22%;
    -ms-flex: 0 0 22%;
    -o-flex: 0 0 22%;
}
.ha--testimonial-thumb img{
    height: 100%;
    object-fit: cover;
}
.ha--testimonial-content p{
    line-height: 1.8;
}
.ha--testimonial-author {
    margin-top: 30px;
}
.ha--testimonial-author h3{
    font-size: 24px;
    margin: 0 0 5px;
}
.ha--testimonial-author h6{
    font-size: 20px;
    font-weight: normal;
}
.ha--testimonial-slider .owl-prev, 
.ha--testimonial-slider .owl-next{
    width: 30px;
    position: absolute;
    top: 45%;
    left: -100px;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
.ha--testimonial-slider .owl-next{
    left: auto;
    right:-100px;
}

.owl-dots .owl-dot span {
    width: 13px;
    height: 13px;
    margin: 5px 10px;
    border: 1px solid #4B5159;
    display: block;
    -webkit-backface-visibility: visible;
    transition: opacity .2s ease;
    border-radius: 30px;
}
.owl-dots .owl-dot.active span{
    background: #4B5159;
}

.owl-dots {
    position: absolute;
    bottom: -80px;
    z-index: 1;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}
.ha--testimonial-btn {
    text-align: center;
    margin-top: 150px;
}

/*---------------------------------------------------
HAFFERI FOOTER SECTION 
----------------------------------------------------*/

footer.ha--footer-section {
    background-color: #3F5A76;
    padding: 75px 0 0;
    position: relative;
    background-size: cover;
    background-position: left center;
}

.ha--footer-logo {
    max-width: 175px;
}
.ha--footer-content ul, 
.ha--footer-social ul{
    margin: 0;
    padding: 0;
    list-style: none;
}

.ha--footer-content ul li{
    font-weight: normal;
    font-size: 16px;
    line-height: 1.3;
    margin-bottom: 10px;
    color: #FFFFFF;
}
.ha--footer-content ul li a{
    color: #fff;
    display: block;
    margin-bottom: 20px;
}

.ha--footer-social ul li{
    margin: 15px 0;
}
.ha--footer-social ul li:first-child{
    margin-top: 0;
}
.ha--footer-social ul li:last-child{
    margin-bottom: 0;
}
.ha--footer-social ul li a{
    font-size: 16px;
    color: #fff;
    text-transform: capitalize;
}
.ha--copywright {
    text-align: center;
    padding: 50px 0 10px;
}
.ha--copywright p{
    font-size: 14px;
    color: #fff;
    margin: 0;
}