body {
    font-family: "Roboto";
    background-color: #FFFFFF;
    color: #212121;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
}

button {
    cursor: pointer;
}

img {
    display: block;
}


ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
}

* {
    box-sizing: border-box;
}

.container-text {
    width: 1200px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto;
}

/* Header */

.header {
    height: 80px;
    width: 1600px;
    left: 0px;
    top: 0px;
    border-radius: 0px;
    border: 1px solid #ECECEC
}



.logo {
    font-family: "Raleway";
    color: #2196F3;
    font-weight: 700;
    font-size: 26px;
    line-height: 31px;
    margin-right: 90px;
    margin-left: 0px;
    margin-top: 25px;
    margin-bottom: 25px;
}

.site-logo {
    color: #000000;
}

/* Site nav */

.nav {
    display: flex;
    align-items: center;
}

.site-nav {
    align-items: center;
    display: flex
}

.site-nav .link {
    color: #212121;
}

.site-nav-studio .link {
    position: relative;

    font-weight: 500;
    font-size: 14px;
    line-height: 16px;
    margin-right: 50px;
    margin-top: 30px;
    margin-bottom: 30px;
}

.site-nav-studio .link.current {
    color: #2196F3;
}

.site-nav-studio .link.current::after {
    content: "";

    position: absolute;
    left: 0;
    top: 42.5px;

    display: block;
    width: 100%;
    height: 4px;
    border-radius: 2px;
    background-color: #2196F3;
}

.site-nav-portfolio {
    position: relative;

    color: #212121;
    font-weight: 500;
    font-size: 14px;
    line-height: 16px;
    margin-right: 50px;
    margin-top: 30px;
    margin-bottom: 30px;
}

.site-nav-portfolio .link.current::after {
    content: "";

    position: absolute;
    left: 0;
    top: 42.5px;

    display: block;
    width: 100%;
    height: 4px;
    border-radius: 2px;
    background-color: #2196F3;
}

.site-nav-contacts {
    color: #212121;
    font-weight: 500;
    font-size: 14px;
    line-height: 16px;
    margin-top: 30px;
    margin-bottom: 30px;
}

.site-nav-studio .link:hover,
.site-nav-studio .link:focus {
    color: #2196F3;
}

.site-nav-portfolio .link:hover,
.site-nav-portfolio .link:focus {
    color: #2196F3;
}

.site-nav-contacts .link:hover,
.site-nav-contacts .link:focus {
    color: #2196F3;
}

/* Address */

.site-address {
    display: flex;
    align-items: center;
    margin-left: auto;
    margin-bottom: -100px;
}

.nav-mail .link{
    color: #757575;
    font-weight: 500;
    font-size: 14px;
    line-height: 16px;
    margin-right: 50px;
}

.nav-tel .link{
    color: #757575;
    font-weight: 500;
    font-size: 14px;
    line-height: 16px;
}

.nav-mail, .nav-tel {
    margin-bottom: 100px;
}

.nav-mail .link:hover ,
.nav-mail .link:focus {
    color: #2196F3;
}

.nav-tel .link:hover ,
.nav-tel .link:focus {
    color: #2196F3;
}

.social-address-icon-envelope {
    width: 16px;
    height: 12px;
    fill: #757575;
    position: absolute;
    width: 161px;
    height: 16px;
    left: 1052px;
    top: 32px;
}

.social-address-icon-envelope:hover ,
.social-address-icon-envelope:focus {
    fill: #2196F3;
}

.social-address-icon-vector:hover ,
.social-address-icon-vector:focus {
    fill: #2196F3;
}

.social-address-icon-vector {
    width: 10px;
    height: 16px;
    fill: #757575;
    position: absolute;
    width: 142px;
    height: 16px;
    left: 1243px;
    top: 32px;
}

/* Heroic */

.hero {
    background: #2F303A;
    width: 1600px;
    height: 600px;
}

.hero-title {
    color: rgba(255, 255, 255, 1);
    font-weight: 900;
    font-size: 44px;
    line-height: 60px;
    text-align: center;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding-left: 200px;
    padding-right: 200px;
    padding-top: 200px;
    margin-bottom: 30px;
}

.btn-container {
    margin-left: 480px;
    padding-bottom: 200px;
    align-items: center;
}

.hero-btn {
    background: #2196F3;
    color: #FFFFFF;
    font-family: "Roboto";
    cursor: pointer;
    font-weight: 700;
    font-size: 16px;
    line-height: 30px;
    padding: 10px 34px;
    border-radius: 6px;
    border: none;
}

.backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(75, 72, 72, 0.5);
}

.backdrop.is-hidden {
    opacity: 0;
    pointer-events: none;
}

/* Modal */

.modal {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    width: 528px;
    height: 581px;

    background-color: #fff;

    border-radius: 3px;
    padding: 8px;
}

.btn-modal {
    background-color: #ffffff;
    border-color: #ffffff;
    cursor: pointer;
    
    top: 0%;
    left: 94%;
    transform: translate(-50%, -50%);
}

.modal-close {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 4%;
    left: 95.5%;
    padding-left: 8.5px;
    transform: translate(-50%, -50%);
    box-sizing: border-box;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    background: #FFFFFF;
}

.modal-close:hover {
    fill: #2196F3;
}

.modal-icon {
    position: absolute;
    width: 18px;
    height: 18px;
    margin-top: 40px;
    margin-left: 50px;
}

.modal-icon:focus,
.modal-icon:hover {
    fill: #2196F3;
}

.modal-form-field {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
}

input {
    padding-left: 42px;
    padding-right: 42px;
}

.modal-form-field label {
    margin-top: 5px;
}

.modal-form-field label {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 14px;
    letter-spacing: 0.01em;
    color: #757575;
    margin-top: 12px;
    margin-bottom: 4px;
    margin-left: 35px;
}

.modal-form-field input {
    width: 448px;
    height: 40px;
    border: 1px solid rgba(33, 33, 33, 0.2);
    border-radius: 4px;
    margin-left: 35px;
    margin-bottom: -20px;
}

.modal-form-field input:focus {
    border: 3px solid #2196F3;
    outline: none;
}

.modal-title {
    margin-top: 40px;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    line-height: 23px;
    text-align: center;
    letter-spacing: 0.03em;

    color: #212121;
}

textarea {
    resize: none;
    width: 448px; 
    height: 120px;
    margin-left: 35px;
    margin-right: 35px;
    padding: 12px 16px;
    border: 1px solid rgba(33, 33, 33, 0.2);
    border-radius: 4px;
}

textarea::placeholder {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 14px;
    letter-spacing: 0.01em;
    color: rgba(117, 117, 117, 0.5);
}

textarea:focus {
    border: 3px solid #2196F3;
    outline: none;
}

.modal-form-options {
    border: rgba(33, 33, 33, 1);
}

.modal-form-options input[type='checkbox'] {
    margin-left: 45px;
    width: 16px;
    height: 15px;
}

.modal-form-options input:focus {
    border: 3px solid #2196F3;
    outline: none;
}

.modal-form-options label {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.03em;
    color: #757575;
    padding-left: 8px;
}

.pre-title-policy .link {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.03em;
    text-decoration-line: underline;
    color: #2196F3;
    text-decoration-line: underline;
    text-decoration-style: solid;
}

.modal-form-btn-submit {
    margin: 30px 164px 40px 164px;
    width: 200px;
    height: 50px;
    background: #2196F3;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    border: none;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.06em;
    color: #FFFFFF
}

/* Overlay */

.overlay {
    max-width: 1600px;
    height: 600px;
    margin-left: auto;
    margin-right: auto;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image:linear-gradient(to right, rgba(47, 48, 58, 0.4), rgba(47, 48, 58, 0.4)),
    url("../images/ImgHeroic.jpg");
}

/* Main */

/* Features */

.features {
    height: 98px;
    width: 1170px;
    margin-left: 200px;
    margin-top: 94px;
    margin-bottom: 240px;
}

.features-title {
    color: #212121;
    font-weight: 700;
    font-size: 14px;
    line-height: 16px;
    margin-bottom: 10px;
}

.features-list {
    display: flex;
}

.features-list-box::before {
    display: block;
    content: "";
    height: 120px;
    border-radius: 4px;
    margin-bottom: 30px;
    background: rgba(245, 244, 250, 1);
    background-repeat: no-repeat;
    background-position: center;
}

.icon-antenna::before {
    background-image: url(../images/antenna.png);
}

.icon-clock::before {
    background-image: url(../images/clock.png);
}

.icon-diagram::before {
    background-image: url(../images/diagram.png);
}

.icon-astronaut::before {
    background-image: url(../images/astronaut.png);
}

.features-list-box {
    margin-right: 30px;
}

.pre-features-title {
    color: #757575;
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
}

/* Work */

.work {
    height: 386px;
    width: 1170px;
    border-radius: 0px;
    margin-bottom: 94px;
    margin-left: 200px;
}

.work-title {
    color: #212121;
    font-weight: 700;
    font-size: 36px;
    line-height: 42px;
    margin-bottom: 50px;
    margin-right: 300px;
    margin-left: 420px;
}

.work-list {
    align-items: center;
    display: flex;
    margin-bottom: 94px;
}

.work-list-photo {
    position: relative;

    margin-right: 30px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    border-radius: 1%
}

.work-list-photo::after {
    content: "Десктопні додатки";

    text-align: center;
    text-transform: uppercase;
    padding-top: 27px;
    
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0.03em;
    

    position: absolute;
    bottom: 0;
    left: 0;

    width: 370px;
    height: 70px;

    background-color: rgba(47, 48, 58, 0.8);
    color: rgba(255, 255, 255, 1);
}

.work-list-photo:nth-child(2)::after {
    content: "Мобільні додатки";
}

.work-list-photo:last-child::after {
    content: "Дизайнерські рішення";
}

.work-list-photo :last-child {
    margin-right: 0;
}

/* Crew */

.crew-box {
    background-color: #F5F4FA;
    height: 708px;
    width: 1600px;
    left: 0px;
    top: 1446px;
}

.crew-title {
    font-weight: 700;
    font-size: 36px;
    line-height: 42px;
    text-align: center;
    letter-spacing: 0.03em;
    color: #212121;
    padding-top: 94px;
    margin-bottom: 50px;
}

.crew-list {
    align-items: center;
    display: flex;
}

.crew-list-photo {
    margin-right: 30px;
}

.crew-person-title {
    font-weight: 500;
    font-size: 16px;
    line-height: 19px;
    text-align: center;
    letter-spacing: 0.03em;
    color: #212121;
    margin-top: 30px;
    margin-bottom: 10px;
}

.pre-crew-person-title {
    font-weight: 400;
    font-size: 16px;
    line-height: 19px;
    text-align: center;
    letter-spacing: 0.03em;
    color: #757575;
    padding-bottom: 16px;
}

.crew-box-text {
    background: #FFFFFF;
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.12),
    0px 1px 1px rgba(0, 0, 0, 0.14),
    0px 2px 1px rgba(0, 0, 0, 0.2);
    border-radius: 0px 0px 4px 4px;
}

.crew-social-links {
    display: flex;
    align-items: center;
}

.crew-social-links-list .link {
    display: inline-block;
    width: 44px;
    height: 44px;
    background-size: 16px;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 50%;
    margin-right: 10px;
    margin-bottom: 30px;
}

.crew-social-links-list:hover .link {
    background-color: #2196F3;
}

.crew-social-links-icon {
    width: 20px;
    height: 20px;
    fill: #AFB1B8;
    align-items: center;
    margin: 12px;
}

.crew-social-links-icon:hover {
    fill: #FFFFFF;
}

.crew-social-links-list:nth-child(1) .link {
    margin-left: 32px;
}

/* Regular customers */

.customers {
    align-items: center;
    width: 1600px;
    height: 300px;
}

.customers-box {
    width: 1170px;
    height: 184px;
}

.customers-title {
    font-weight: 700;
    font-size: 36px;
    line-height: 42px;
    text-align: center;
    letter-spacing: 0.03em;
    color: rgba(33, 33, 33, 1);
    margin-top: 94px;
    margin-bottom: 50px;
}

.customers-social-list {
    height: 184px;
    display: flex;
    flex-wrap: wrap;
    flex-flow: row wrap;
    justify-content: space-around;
    padding: 0;
    margin-right: 0;
    list-style: none;
}

.customers-social-links-list {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #AFB1B8;
    border-radius: 4px;
    width: 170px;
    height: 92px;
    margin: auto;
    margin-top: 0;
    margin-bottom: 0;
}

.customers-social-links-list:hover {
    border-color: #2196F3;
}

.customers-social-links-icons {
    fill: rgba(175, 177, 184, 1);;
}

.customers-social-links-icons:hover {
    fill: #2196F3;
}

/* Footer */

.footer {
    background: #2F303A;
    height: 252px;
    width: 1600px;
    left: 0px;
    top: 2094px;
    border-radius: 0px;
}

.containt-address-box {
    align-items: center;
}

.footer-title {
    font-family: "Raleway";
    color: #2196F3;
    font-weight: 700;
    font-size: 26px;
    line-height: 31px;
    margin-bottom: 20px;
    padding-top: 60px;
}

.pre-footer-title {
    color: #FFFFFF;
    
}

/* Address */

.address 

.address-list {
    align-items: center;
}

.location-address .link {
    color: #FFFFFF;
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    padding-bottom: 10px;
    letter-spacing: 0.03em;
}

.location-address .link:hover,
.location-address .link:focus {
    color: #000000;
}

.mail-address .link {
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.03em;
    color: rgba(255, 255, 255, 0.6);
    padding-bottom: 10px;
}

.mail-address .link:hover,
.mail-address .link:focus {
    color: #000000;
}

.tel-address .link {
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.03em;
    color: rgba(255, 255, 255, 0.6);
    padding-bottom: 10px;
}

.tel-address .link:hover,
.tel-address .link:focus {
    color: #000000;
}

/* Footer-form */

.footer-form-field {
    position: relative;
    margin-left: 615px;
    margin-top: -43px;
    border: 1px solid #FFFFFF4D;
    background-color: #2F303A;
}

.footer-form-field input {
    border: 1px solid rgba(255, 255, 255, 0.3);
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.15));
    border-radius: 4px;
    padding-right: 15px;
}

.footer-form-field, .mail {
    width: 358px;
    height: 50px;
    background: none;
}

.footer-form-field input::placeholder {
    color: #FFFFFF99;
    padding: -15px;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    display: flex;
    align-items: center;
    letter-spacing: 0.03em;
}

.footer-form-field label {
    color: #FFFFFF;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    position: absolute;
    margin-right: -615px;
    margin-top: -40px;
}

.footer-form-btn {
    position: absolute;
    margin-left: 370px;
    margin-top: -50px;
    width: 200px;
    height: 50px;
    background: #2196F3;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    border-color: #2196F3;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    letter-spacing: 0.06em;
    color: #FFFFFF;
}

.form-btn::after {
    content: url(../images/icon\ send.svg);
    margin-left: 10px;
    margin-top: 10px; 
    
}

/* Social */

.social {
    margin-left: 301px;
    margin-top: -112px;
}

.social-title {
    font-weight: 700;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 1);
    flex: none;
    order: 0;
    flex-grow: 0;
    margin-bottom: 20px;
}

.social-links {
    display: flex;
    align-items: center;
}

.social-links-list {  
    width: 44px;
    height: 44px;
    background-size: 16px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    margin-right: 10px;
}

.social-links-list:hover {
    background: rgba(33, 150, 243, 1);;
}

.social-links-icon  {
    width: 20px;
    height: 20px;
    fill: #AFB1B8;
    margin: 12px;
}

.social-links-icon:hover {
    fill: #FFFFFF;
}

/* Filtres */

.filters {
    height: 54px;
    width: 575px;
    padding-left: 500px;
    margin-bottom: 40px;
    margin-top: 80px;
}

.filters-btn {
    background: #F5F4FA;
    color: rgba(33, 33, 33, 1);
    border: none;
    border-radius: 4px;
    font-weight: 500;
    font-size: 16px;
    line-height: 26px;
    text-align: center;
    letter-spacing: 0.03em;
    padding: 6px 25px;
    margin-right: 4px;
    
}

.filters-btn:hover {
    background: #2196F3;
}

.filters-btn:hover {
    color: #FFFFFF;
}

.filters-btn:hover {
    box-shadow: 0px 3px 1px rgba(0, 0, 0, 0.1),
    0px 1px 2px rgba(0, 0, 0, 0.08),
    0px 2px 2px rgba(0, 0, 0, 0.12);
}

.filters-btn-other {
    background: #F5F4FA;
    color: rgba(33, 33, 33, 1);
    border: none;
    border-radius: 4px;
    font-weight: 500;
    font-size: 16px;
    line-height: 26px;
    text-align: center;
    letter-spacing: 0.03em;
    padding: 6px 22px;
    margin-right: 4px;
}

.filters-btn-other:hover {
    background: #2196F3;
}

.filters-btn-other:hover {
    color: #FFFFFF;
}

.filters-btn-other:hover {
    box-shadow: 0px 3px 1px rgba(0, 0, 0, 0.1),
        0px 1px 2px rgba(0, 0, 0, 0.08),
        0px 2px 2px rgba(0, 0, 0, 0.12);
}

/* Portfolio */

.site-nav-portfolio .link.current {
    color: #2196F3;
}

.portfolio-container
{
    width: 1170px;
    height: 1272px;
    padding-left: 200px;
}

.portfolio-list {
    align-items: center;
    display: flex;
}

.portfolio-photo  {
    position: relative;
    margin-right: 30px;
    margin-bottom: 10px;
}

.descr {
    transform: translateY(100%);
    opacity: 0;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    padding: 63px 24px;
    font-size: 18px;
    line-height: 1.56;
    color: rgba(255, 255, 255, 1);
    background: rgba(33, 150, 243, 0.9);
    transition: all .6s;
    -webkit-transition: 250ms cubic-bezier(0.4, 0, 0.2, 1);
    visibility: hidden;
}

.portfolio-photo:hover .descr {
    visibility: visible;
    opacity: 1;
    transition-duration: 250ms;
    transform: translateY(0px);
    transition-timing-function: linear;
}

.portfolio-section {
    border: 1px solid #EEEEEE
}

.portfolio-title {
    color: #212121;
    font-weight: 700;
    font-size: 18px;
    line-height: 36px;
    margin-top: 10px;
    margin-right: 24px;
    margin-bottom: 4px;
    margin-left: 24px;
}

.pre-portfolio-title {
    color: #757575;
    font-weight: 400;
    font-size: 16px;
    line-height: 30px;
    margin-bottom: 20px;
    margin-right: 24px;
    margin-left: 24px;
}

.portfolio-box-text {
    background-color: #ffffff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    border-radius: 1%
}