@charset "utf-8";


/* FONTS
------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap');






/* COMMON
------------------------------------------------------------------------*/
:root {
    --width-logo: 157px;
}

body {
    font-size: 12px;
    font-family: 'Open Sans', sans-serif;
    color: #032733;
    background-color: #fff;
    overflow-x: hidden;
}

header,
main,
footer {
    width: 100%;
    position: relative;
    float: left;
}

content {
    display: block;
    width: 100%;
    max-width: 1200px;
    position: relative;
    margin: 0 auto;
}



h1 {
    font-size: 40px;
    font-weight: 300;
}

h2 {
    font-size: 30px;
    font-weight: 300;
}

h3 {
    font-size: 23px;
    font-weight: 300;
    line-height: 30px;
}

p {
    line-height: 2.08;
    margin-top: 18px;
}

a {
    display: inline-block;
    color: #032733;
    font-weight: 600;
}


menu > li {
    font-weight: 600;
    color: #032733;
    cursor: pointer;
}

menu > li:hover,
a:hover {
    color: #0195a3;
}

button {
    min-width: 164px;
    color: #fff;
    text-align: center;
    padding: 14px 0;
    background-color: #0096a3;
    border: none;
    border-radius: 22.5px;
    cursor: pointer;
}

button:hover {
    background-color: #00a1af;
}


.image img {
    width: 100%;
    position: relative;
    float: left;
}



.logo {
    width: 157px;
    height: 30px;
    position: relative;
    float: left;
    background-image: url(../images/logo.svg);
}










/* HEADER
------------------------------------------------------------------------*/
header {
    position: fixed;
    padding: 50px 0 40px;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 2;
}

header.min {
    animation-name: header-toggle-min;
    animation-duration: 0.3s;
    animation-fill-mode: forwards;
}

@keyframes header-toggle-min {
  from {padding: 50px 0 40px;}
  to {padding: 20px 0;}
}

header.max {
    animation-name: header-toggle-max;
    animation-duration: 0.3s;
    animation-fill-mode: forwards;
}

@keyframes header-toggle-max {
  from {padding: 20px 0;}
  to {padding: 50px 0 40px;}
}

header .logo,
header menu {
    float: left;
}

header menu {
    margin-top: 13px;
}

header .logo {
    margin-top: 8px;
    cursor: pointer;
}


#header-wrapper-menu {
    --margin-left: 95px;
    width: calc(100% - var(--margin-left) - var(--width-logo));
    float: left;
    margin-left: var(--margin-left);
}

header menu li {
    float: left;
    margin-left: 25px;
}

header menu li:first-child {
    margin-left: 0;
}

header button {
    float: right;
}


#button-open-burger-menu,
#button-close-burger-menu {
    display: none;
    cursor: pointer;
}

#button-open-burger-menu {
    content: "";
    position: absolute;
    width: 35px;
    height: 38px;
    top: 0;
    right: 0;
    background: url("../images/burger-open.svg") left center no-repeat;
}

#button-close-burger-menu {
    content: "";
    position: absolute;
    width: 27px;
    height: 27px;
    top: 25px;
    right: 15px;
    background: url("../images/burger-close.svg") left top no-repeat;
}










/* SECTIONS
------------------------------------------------------------------------*/
#home,
#about,
#work,
#testimonials,
#contact {
    width: 100%;
    position: relative;
    float: left;
}



/* SECTION - HOME
------------------------------------------------------------------------*/
#poster {
    width: 100%;
    height: 500px;
    position: relative;
    float: left;
    margin-top: 135px;
    background: #d3e6e7 url("../images/home-poster.png") right bottom no-repeat;
    border-radius: 22px;
    overflow: hidden;
}

#poster>div {
    width: 420px;
    position: relative;
    float: left;
    margin-left: 70px;
}

#poster h1 {
    margin-top: 165px;
}

#poster a {
    margin-top: 40px;
}

#poster a::after {
    content: "";
    width: 16px;
    height: 8px;
    position: absolute;
    float: left;
    margin-top: 3px;
    margin-left: 10px;
    background: url("../images/arrow.svg") right bottom no-repeat;
    background-size: contain;
}



/* SECTION - ABOUT US
------------------------------------------------------------------------*/
#about {
    padding-top: 135px;
    padding-bottom: 200px;
}

#about .image {
    width: calc(100% - 500px);
    max-width: 542px;
    position: relative;
    float: left;
}

#about .description {
    width: 475px;
    position: relative;
    float: right;
    margin-right: 50px;
}

#about .description h2 {
    margin-top: 65px;
}



/* SECTION - WORK
------------------------------------------------------------------------*/
#work {
    min-height: 790px;
    padding-top: 135px;
    background: url("../images/work-bg.png") center 200px no-repeat, 
                linear-gradient(to bottom, #f4f8fb, #ffffff);
}

#work::before {
    content: "";
    width: 100%;
    height: 100px;
    position: absolute;
    top: -100px;
    background: url("../images/work-before.png") center top no-repeat;
}

#work .heading {
    width: 100%;
    max-width: 530px;
    position: relative;
    text-align: center;
    margin: 0 auto;
}

#work .blocks {
    margin-top: 50px;
}

#work .blocks li {
    width: 227px;
    position: relative;
    float: left;
    text-align: left;
    padding: 0 20px 50px;
    margin-left: 43px;
    border-radius: 22px;
    overflow: hidden;
}

#work .blocks li:first-child {
    margin-left: 0;
}

#work .blocks li:nth-child(1) {
    background: #fff url("../images/work-ux-design.png") left top no-repeat;
    box-shadow: 0 20px 40px -15px rgba(245, 50, 14, 0.1);
}

#work .blocks li:nth-child(2) {
    background: #fff url("../images/work-seo.png") left top no-repeat;
    box-shadow: 0 20px 40px -15px rgba(245, 188, 2, 0.15);
}

#work .blocks li:nth-child(3) {
    background: #fff url("../images/work-development.png") left top no-repeat;
    box-shadow: 0 20px 40px -15px rgba(64, 205, 204, 0.15);
}

#work .blocks li:nth-child(4) {
    background: #fff url("../images/work-marketing.png") left top no-repeat;
    box-shadow: 0 20px 40px -15px rgba(245, 50, 14, 0.1);
}

#work .blocks li:nth-child(1),
#work .blocks li:nth-child(4) {
    margin-top: 50px;
}

#work .blocks li:nth-child(1) h3 {
    margin-top: 192px;
}

#work .blocks li:nth-child(2) h3 {
    margin-top: 213px;
}

#work .blocks li:nth-child(3) h3 {
    margin-top: 194px;
}

#work .blocks li:nth-child(4) h3 {
    margin-top: 192px;
}



/* SECTION - TESTIMONIALS
------------------------------------------------------------------------*/
#testimonials {
    padding-top: 135px;
    padding-bottom: 80px;
    background: url("../images/testimonials-bg.png") center 230px no-repeat;
}

#testimonials .heading {
    width: 100%;
    max-width: 475px;
    float: left;
}

#testimonials .block {
    width: 100%;
    max-width: calc(510px - 40px);
    position: relative;
    float: left;
    padding-top: 20px;
    padding-bottom: 36px;
    padding-left: 20px;
    padding-right: 20px;
    border-radius: 20px;
}

#testimonials .block>.back {
    position: absolute;
    float: left;
    top: -5;
    left: -25px;
}

#testimonials .block>div {
    position: relative;
    float: left;
}

#testimonials .block>.image {
    width: 82px;
}

#testimonials .block>.review {
    width: calc(100% - 102px);
    margin-left: 20px;
}

#testimonials .block p {
    color: #fff;
    text-align: left;
    margin: 0;
}

#testimonials .block p.text {
    font-style: italic;
    line-height: 1.67;
}

#testimonials .block p.author {
    font-weight: 600;
    margin-top: 10px;
    line-height: 1.67;
}


#testimonials .block:nth-child(1) {
    margin-top: 40px;
    margin-left: 150px;
}

#testimonials .block:nth-child(2) {
    margin-top: -40px;
    margin-left: 20px;
}

#testimonials .block:nth-child(3) {
    margin-top: 50px;
    margin-left: 150px;
}

#testimonials .block:nth-child(4) {
    margin-top: -20px;
    margin-left: 110px;
}

.bg-testimonials-max {
    display: block;
}

.bg-testimonials-min {
    display: none;
}




/* SECTION - CONTACTS
------------------------------------------------------------------------*/
#contact {
    padding-top: 135px;
    padding-bottom: 50px;
    background: linear-gradient(to bottom, 
                                rgba(64, 205, 204, 0.08), 
                                rgba(64, 205, 204, 0)) center 285px repeat-x;
    background-size: 100% 150px;
    box-shadow: 0 20px 40px 0 rgba(64, 205, 204, 0.15);
}

#contact .heading {
    width: 450px;
}

#contact form {
    width: 624px;
    margin-top: 100px;
}

#contact label {
    position: relative;
    float: left;
}

#contact label:nth-child(even) {
    margin-left: 20px;
}

#contact input,
#contact textarea {
    font-size: 12px;
    font-family: 'Open Sans', sans-serif;
    padding: 16px 10px 15px;
    border-radius: 10px;
    border: solid 1px #d1efee;
}

#contact input {
    width: 300px;
    margin-bottom: 30px;
}

#contact .stateError {
    border-color: #f7e7eb;    
}

.error {
    display: none;
    content: "";
    width: 32px;
    height: 32px;
    position: absolute;
    top: 8px;
    right: 8px;
    background: url("../images/input-error.svg") left top no-repeat;
}


#message {
    width: 100%;
}

#contact textarea {
    width: calc(100% - 2px);
    height: 110px;
    resize: none;
}

#contact button {
    float: right;
    margin-top: 30px;
}

#contact form::after {
    content: "";
    width: 464px;
    height: 435px;
    position: absolute;
    float: left;
    top: 0;
    left: 0;
    margin-top: 140px;
    margin-left: 800px;
    background: url("../images/contact.png") left top no-repeat;
}










/* FOOTER
------------------------------------------------------------------------*/
footer {
    height: 260px;
    padding-top: 150px;
}

footer .left,
footer .right {
    position: relative;
}

footer .left {
    width: 100%;
    max-width: 600px;
    float: left;
}

footer .logo,
footer .text {
    float: left;
}

footer .text {
    font-size: 10px;
    color: #0096a3;
    line-height: normal;
    padding-bottom: 30px;
}


footer .right {
    width: calc(100% - 600px);
    float: right;
}

footer .right menu {
    float: right;
}

footer .right menu:nth-child(2) {
    margin-right: 50px;
}

footer .right menu li {
    text-align: right;
    margin-top: 12px;
}

footer .right menu li:first-child {
    margin-top: 0;
}