html {
    scroll-behavior: smooth;
}

body {
    box-sizing: border-box;
    padding: 0;
    font-family: 'Lato', sans-serif;
    
    
}

*, *::after, *::before {
    box-sizing: border-box;
}

#home {
    top: 0px;
    left: 0px;
}

.container {
    width: 100%;
    max-width: 1020px;
    margin: 0 auto;
}

.header {
    background: #2d303a;
    padding: 0 40px;
    border-bottom: 5px solid #323746;
    position: fixed;
    z-index: 8;
    width: 100%;
    max-width: 1020px;
}

.home {
    opacity: 0;
    position: absolute;
}

.header-cont {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    height: 90px;
    vertical-align: bottom;
    padding-top: 32px;
    
}

.logo {
    display: inline-block;
    text-transform: uppercase;
    color: white;
    font-size: 25px;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    letter-spacing: -1px;

}

.logo-mob, .span-mob {
    display: none;
    
}

.nav {
    text-transform: uppercase;
    font-size: 12px;
}

span {
    color: #f06c64;
    font-family: 'Lato', sans-serif;

}

li {
    display: inline-block;

}

.nav-item, .nav-item-active {
    text-decoration: none;
    color: white;
    font-family: 'Lato' , sans-serif;
    transition: color 0.2s linear;
    display: inline-block;
    font-weight: 400;
    padding-left: 23px;
    

}


.nav-item::before {
    content: ".";
    left: -13px;
    bottom: 3px;
    position: relative;
    font-weight: 700;
    color: #3c404f;
    font-size: 15px;
}

#active::before {
    content: "";
}

.nav-item-active {
    color: #f06c64;
}


.nav-item:hover {
    text-decoration: none;
    color: #f06c64;
}

.vertical {
    position: absolute;
    right: 703px;
    bottom: 146px;
    width: 195px;
    height: 337px;
    background-image: url(assets/black.jpg);
    display:none;
}

.horizontal {
    position: absolute;
    right: 198px;
    bottom: 218px;
    width: 339px;
    height: 193px;
    background-image: url(assets/black.jpg);
    display:none;
}

.size-horizontal{
    position: absolute;
    height: 216px;
    width: 458px;
    top: 177px;
    right: 137px;
    cursor: pointer;
}

.size-vertical {
    position: absolute;
    width: 216px;
    height: 458px;
    top: 54px;
    right: 692px;
    cursor: pointer;
}

.inner {
    margin-bottom: 45px;
  }

  .service-block {
    padding: 0 40px;
    margin: 0 auto;
    background-color: #f2f2f2;
    border-bottom: 5px solid #ffffff;
    font-family: 'Lato', sans-serif;
    margin: 95px auto 0;
  }

.service-block-inner {
      font-size: 30px;
      color:#666d89;
      font-family: 'Lato', sans-serif;
      padding: 60px 0 23px;
      font-weight: 900;
}

.service-block-p {
    font-size: 18px;
    color:#666d89;
    font-family: 'Lato', sans-serif;
    font-weight: 300;   
    line-height: 30px;
    display: flex;
    text-align: stretch;
    letter-spacing: -0.21px;
    text-align: justify;
   
    
}


.three-columns {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    
    
}

.item-column{
    display: flex;
    color:#666d89;
    margin-bottom: 35px;
    
    
}

.icon-column{
    display: inline-block;
    width: 59px;
    height: 59px;
    margin-right: 21px;
}

.about-column{
    display: inline-block;
    align-content: center;
}

.header-column{
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 900;
    font-family: 'Lato', sans-serif;
    text-align: justify;
    letter-spacing: 0.0099em;
    word-spacing: -1px;
}

.text-column {
    width: 220px;
    height: 60px;
    
    font-family: 'Lato', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 21px;
    letter-spacing: -0.0047em;
    text-align: justify;
    
    overflow: hidden;
}



/*portfolio-block*/
.portfolio-block {
    background-color: #2d303a;
    border-bottom: 5px solid #323746;
    font-family: 'Lato', sans-serif;
}

.port-wrap {
    padding: 0 40px;
}

.portfolio-header {
    font-size: 30px;
    color:#666d89;
    padding: 60px 0 23px;
    font-weight: 900;
    letter-spacing: 0.5px;
}

.portfolio-text {
    font-size: 18px;
    color:#666d89;
    font-size: 18px;
    line-height: 30px;
    font-weight: 300;
    text-align: justify;
    letter-spacing: -0.21px
}

.nav-bar {
    display:flex;
}


.item-nav,.item-nav-active {
    display: inline-block;
    font-size: 12px;
    color:#666d89;
    border: 1px solid #666d89;
    border-radius: 5px;
    text-decoration: none;
    padding: 3px 7px;
    margin: 14px 4px 20px 0;
    
}

.item-nav:hover {
    color:#fff;
    border: 1px solid #fff;
    border-radius: 5px;
}

.item-nav-active {
    color:#fff;
    border: 1px solid #fff;
    border-radius: 5px;
}

.portfolio-images {
    overflow: hidden;
    margin: 0 30px 30px 30px;
}

#images-list ul {
    display: flex;
    flex-wrap: wrap;
}

#images-list li {
    margin: 10px;
    list-style: none;
    flex: 1 0 20%;
    height: 16vw;
}

#images-list li::before {
    content: "";
    float: left;
    padding-top: 100%;
}

#images-list img {
    width: 100%;
    height: 100%;
}


/* About US */

.about-us {
    background-color: #f2f2f2;;
    padding: 0 40px;
    border-bottom: 5px solid #fff;
    font-family: 'Lato', sans-serif;
    
}

.about-info {
    display: flex;
    justify-content: space-between;
    overflow: hidden;
    margin-top: -5px;
    width: 100%;
}

.person-one, .person-two{
    width: inherit;
    margin: 50px 20px 50px 0;
    font-family: 'Lato', sans-serif;
}

.person-three {
    width: inherit;
    margin: 50px 0;
    font-family: 'Lato', sans-serif;
}

.person-img {
    width: 100%;
}

.header-name {
    font-size: 18px;
    line-height: 18px;
    color: #666d89;
    padding: 15px 0 13px;
    font-weight: 900;
    font-family: 'Lato', sans-serif;
    width: inherit;
    white-space: nowrap;
    text-overflow: clip;
    overflow: hidden;
}

.text-name {
    font-size: 12px;
    line-height: 22px;
    color: #767e9e;
    font-weight: 400;
    padding-bottom: 20px;  
    width: inherit; 
}


.social-icons{
    display: flex;
    width: inherit;

}

.icon-facebook{
    background-image: url('assets/icons/facebook.png');
    width: 35px;
    height: 35px;
    margin-right: 5px;
}

.icon-google {
    background-image: url('assets/icons/Google.png');
    width: 35px;
    height: 35px;
    margin-right: 5px
}

.icon-twitter {
    background-image: url('assets/icons/Twitter.png');
    width: 35px;
    height: 35px;
    margin-right: 5px
}

.icon-linked {
    background-image: url('assets/icons/LinkedIn.png');
    width: 35px;
    height: 35px;
}


.wrapper {
    background-color: #f06c64;
    padding: 0 40px;
    border-bottom: 5px solid #ea676b;
    font-family: 'Lato', sans-serif;
}



.quote-header {
    font-size: 30px;
    color:#f0d8d9;
    padding: 60px 0 23px;
    font-weight: 900;
    letter-spacing: 0.5px;

}

.quote-text {
    font-size: 18px;
    color: #f0d8d9;
    font-size: 18px;
    line-height: 30px;
    font-weight: 300;
    text-align: justify;
    letter-spacing: -0.21px
    
}

.contacts-form {
    margin: 30px 0 ;
    font-family: 'Lato', sans-serif;
    display: flex;
}

.form {
    width: 100%;
    display: inline-block;
    border-radius: 5px;
    border: none;
    box-sizing: border-box;
}

.form__field {
    margin-bottom: 15px;
}

.form input {
    outline: none;
    
    width: 100%;
    border-radius: 5px;
    border: none;
    padding: 12px 15px;
    box-sizing: border-box;
    background-color: #d6564f;
    
}

.form textarea {
    width: 100%;
    height: 200px;
    outline: none;
    border-radius: 5px;
    border: none;
    padding: 12px 15px;
    box-sizing: border-box;
    background-color: #d6564f;
    resize: none;
    
}


::placeholder {
    font-size: 12px;
    line-height: 22px;
    color: #f48c8f;
    font-family: "Lato";
    font-weight: 400;
    opacity: 1; 
    transition: opacity 0.3s ease;
}


:focus::placeholder {
    opacity: 0; 
    transition: opacity 0.3s ease;
}



.form button {
    width: 100%;
    padding: 10px;
    border-radius: 2px;
    border: 0;
    background-color: #d6564f;
    color: #ccc;
    cursor: pointer;
    transition: color 0.4s linear;
}

.form button:hover {
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    border: 0;
    background-color: #ccc;
    color: #d6564f;
    cursor: pointer;
    transition: background-color 0.4s linear;
}

.form__error {
    color: red;
    text-align: left;
    font-size: 12px;
    display: block;
    margin-top: 3px;
    display: none;
}

input:invalid:not(:placeholder-shown) + .form__error {
    display: block;
}

.contacts {
    display: inline-block;
    width: 300px;
    height: 175px;
    margin-left: 25px;
}

.contacts-header {
    font-size: 18px;
    line-height: 18px;
    color: #f0d8d9;
    font-family: "Lato";
    font-weight: 900;
    margin-bottom: 10px;
}

.contacts-text {
    font-size: 12px;
    line-height: 21px;
    color: #f0d8d9;
    font-family: "Lato";
    font-weight: 400;
    padding-bottom: 26px;
    text-align: justify;
}

.contacts-ad { 
   display: flex;
   align-items: center;
}

.ad-text {
    font-size: 12px;
    line-height: 20px;
    color: #f0d8d9;
    font-family: "Lato";
    font-weight: 400;
    vertical-align: middle;
    text-decoration: none;
}

.contacts-ad a {
    text-decoration: none;
}

.locate {
    background-image: url(assets/icons/location.png);
    width: 8px;
    height: 14px;
    background-repeat: no-repeat;  
    padding-right: 20px;
    
}

.phone {
    background-image: url(assets/icons/phone.png);
    width: 14px;
    height: 14px;
    background-repeat: no-repeat;
    padding-right: 20px;
}

.mail{
    background-image: url(assets/icons/mail.png);
    width: 14px;
    height: 8px;
    background-repeat: no-repeat;
    padding-right: 20px;

    
}



.footer {
    height: 75px;
    display: flex;
    justify-content: space-between;
    background-color: #2d303a;
    padding: 0 40px;
    align-items: center;
}

.social-icons{
    display: flex;
}

.footer-s {
    color: #4c5266;
    font-style: 'Lato';
    font-size: 12px;
}

#message-block {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #0008;

}

#message-block.hidden {
    display: none;
}

#message {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 3px solid #1002024d;
    border-radius: 10px;
    padding: 20px;
    text-align: center;
    background-color: #d6564f;
}

#result, #result1, #message-send {
    margin-bottom: 10px;
    color: white;
}

#close-btn {
    background: white;
    border: 2px solid black;
    border-radius: 10px;
    width: 100px;
    height: 40px;
     
}

#close-btn:hover {
    background: #821d1d;
    border: 2px solid ivory;
    color: ivory;
    
}




  .slider {
    position: relative;
    overflow: hidden;
    width: 100%;
    top: 95px;
    margin-left: auto;
    margin-right: auto;
  }

  
  .slider__wrapper {
    position: relative;
    overflow: hidden;
  }

  
  .slider__items {
    display: flex;
    transition: transform 0.6s ease;
  }


  .slider__item {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .slider-img-one, .slider-img-two {
   width: 100%; 
  }

  
  .slider__control {
    position: absolute;
    top: 50%;
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    color: #fff;
    text-align: center;
    opacity: 0.5;
    height: 50px;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
  }

  .slider__control_show {
    display: flex;
  }

  .slider__control:hover,
  .slider__control:focus {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: 0.9;
  }

  .slider__control_prev {
    left: 0;
  }

  .slider__control_next {
    right: 0;
  }

  .slider__control::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: transparent no-repeat center center;
    background-size: 100% 100%;
  }

  .slider__control_prev::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
  }

  .slider__control_next::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
  }

 
  .slider__indicators {
    position: absolute;
    right: 0;
    bottom: 10px;
    left: 0;
    z-index: 15;
    display: flex;
    justify-content: center;
    padding-left: 0;
    margin-right: 15%;
    margin-left: 15%;
    list-style: none;
    margin-top: 0;
    margin-bottom: 0;
  }



  .img-fluid {
    display: inline-block;
    height: auto;
    max-width: 100%;
  }

  .mob-nav {
        display: none;
    }


@media (max-width: 768px) {

    .portfolio-images {
        overflow: visible;
    }
    
    #images-list li {
        margin: 10px;
        list-style: none;
        flex: 1 0 30%;
        height: 22vw;
    
    }

    .vertical {
        width: 147px;
        height: 254px;
        top: 89px;
        right: 529px;
    }

    .horizontal {
        width: 254px;
        height: 147px;
        top: 141px;
        right: 151px;
    }

    .size-vertical {
        width: 164px;
        height: 345px;
        top: 41px;
        right: 521px;
    }

    .size-horizontal {
        width: 345px;
        height: 164px;
        top: 132px;
        right: 103px;
    }

}

@media (max-width: 375px) {

    .mob-nav {
        display: block;
        background-color: #2b343c;
        height: 70px;
        position: fixed;
        width: 100%;
        z-index: 10;
    }


    .hidden-menu {
    display: block;
    position: fixed;
    list-style:none;
    padding: 10px;
    margin: 0;
    box-sizing: border-box;
    width: 70%;
    background-color: #2b343c;
    height: 100%;
    top: 0;
    left: -90%;
    transition: left .2s;
    z-index: 9;
    transform: translateZ(0);
    backface-visibility: hidden;
    
    }
    
    .hidden-menu li a {text-decoration: none; color:#fff; font-size: 24px;}
    .hidden-menu li a:hover {color:#f06c64;}
    
    .hidden-menu-ticker {
    display: none;
    }
    
    .btn-menu {
    color: #fff;
    background-color: #2d303a;
    position: fixed;
    cursor: pointer;
    transition: left .23s;
    z-index: 10;
    width: 20px;
    transform: translateZ(0);
    backface-visibility: hidden;
    margin: 27px 20px;
    }
   
    .btn-menu span {
    display: block;
    height: 2px;
    background-color: #fff;
    margin: 5px 0 0;
    transition: all .1s linear .23s;
    position: relative;
    }
    
    .btn-menu span.first {
    margin-top: 0;
    }
   
    .hidden-menu-ticker:checked ~ .btn-menu {
    background-color: #2b343c;
    }

    
   
    .hidden-menu-ticker:checked ~ .hidden-menu {
    left: 0;
    padding-top: 150px;
    background: #2D303A;
    box-shadow: 0px -40px 200px rgba(0, 0, 0, 0.8);
    }
    .hidden-menu-ticker:checked ~ .btn-menu span.first {
    transform: rotate(90deg);
    top: 7px;
    background-color: #fff;
    left: -8px;
    }
    .hidden-menu-ticker:checked ~ .btn-menu span.second {
    transform: rotate(90deg);
    
    background-color: #fff;
    left: -1px;
    }
    
    .hidden-menu-ticker:checked ~ .btn-menu span.third {
    transform: rotate(-90deg);
    top: -7px;
    background-color: #fff;
    left: 6px;
      }
      
    .header {
        height: 70px;
        border: none;
        display: none;
    } 
    
    #menu {
        display: none;
    }

    .logo {
        font-size: 19px;
        text-align: center;
        margin: 26px 145px;
    }

    .slider {
        top: 70px;
    }

    .service-block {
        margin: 70px auto 0;
    }


    li, .nav-item {
        display: block;
        padding: 20px 0 0 50px;
        text-transform: uppercase;
        font-size: 24px;
    }

    
    .nav-item::before {
        content: "";
    }

    .logo-hid {
        display: inline-block;
        text-transform: uppercase;
        color: white;
        font-size: 19px;
        font-family: 'Lato', sans-serif;
        font-weight: bold;
        letter-spacing: -1px;
        top: 0;
        position: absolute;
        margin: 25px 50px;
    }

    #images-list li {
        margin: 5px;
        list-style: none;
        flex: 1 0 45%;
        height: 34vw;
    
    }

    .size-vertical {
        width: 80px;
        height: 169px;
        top: 20px;
        right: 254px;
    }

    .size-horizontal {
        width: 169px;
        height: 80px;
        top: 65px;
        right: 50px;
    }

    .vertical {
        width: 70px;
        height: 125px;
        top: 43px;
        right: 259px;
    }

    .horizontal {
        width: 125px;
        height: 70px;
        top: 70px;
        right: 73px;
    }

    .portfolio-images {
        height: 550px;
        overflow: hidden;
        margin: 0 35px;
    }

    .item-image {
        width: 46%;
        height: 128px;
    }

    .item-nav, .item-nav-active {
        font-size: 10px;
        margin: 14px 0px 20px 0;
    }

    .about-info {
        flex-wrap: wrap;
    }

    .person-one, .person-two, .person-three {
        margin: 20px 20px 20px 0;
        font-family: 'Lato', sans-serif;
    }

    .contacts-form {
        flex-wrap: wrap;
    }

    .contacts {
        margin-left: 0px;
        margin-top: 30px;
    }

    .footer-s {
        display: none;
    }

    .social-icons {
        margin: 0 auto;
    }
    
    .text-column {
        width: 100%;
   }

   .contacts-text {
       padding-bottom: 15px;
   }
}
