* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    color: black;
}

.container {
    max-width: 1110px;
    margin-left: auto;
    margin-right: auto;
}

/* Скрываем шапку сайта */
.none {
    display: none !important;
}


/* Header */
.header {
    position: relative;
    /* Оперделяем модель flex-box для блока .header */
    display: flex;
    flex-direction: column; /* Выстраиваем flex-элементы в колонку, основная ось - Y */
    justify-content: center; /* Выравнивание по основной оси */
    align-items: center; /* Выравнивание по перечной оси */

    width: 100%;
    height: 100vh;

    background-color: #556983;
    background-image: url("./../img/header/header-bg.jpg");
    background-size: cover; /*Растянуть картинку на всю страницу */
}

.header-title {
    margin: 0;
    margin-bottom: 25px;
    font-weight: 700;
    font-size: 56px;
    line-height: 130%; /* 1.3 * 56 = 72.8 */
    text-align: center;
    color: #FFFFFF;
}

.header-subtitle {
    margin: 0;
    font-weight: bold;
    font-size: 16px;
    line-height: 150%;

    text-align: center;
    letter-spacing: 0.2;
    text-transform: uppercase;

    color: #FFFFFF;
}

/* Размещение значка стрелки внизу страницы */
.header-arrow {
    width: 64px;
    height: 64px;
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translate(-50%, 0);
}

/* Portfolio */
.portfolio {
    padding-top: 80px;
    padding-bottom: 115px;
}

.portfolio-header {
    margin: 0;
    margin-bottom: 70px;
    font-weight: 700;
    font-size: 46px;
    line-height: 130%;
    text-align: center;
    color: black;
}

.portfolio-cards-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.card {
    margin-bottom: 30px;
    max-width: 540px;
    background-color: #FFFFFF;
    box-shadow: 0px 10px 40px rgba(126, 155, 189, 0.35);
    transition: transform 0.2s ease-in ;
}

.card:hover {
    transform: translateY(-15px);
}

.card-link {
    display: block;
    padding: 20px;
    color: black;
    text-decoration: none;
    transition: color 0.2s ease-in ;
}

.card-link:hover {
    color: rgb(39, 91, 236);
}

.card:last-child, .card:nth-last-child(2) {
    margin-bottom: 0;
}
    
.card-img {
    margin-bottom: 20px; 
}

.card-title{
    margin: 0;
    margin-bottom: 13px;
    font-weight: 600;
    font-size: 24px;
    line-height: 130%;
}

.card p {
    margin: 0;
    font-size: 16px;
    line-height: 130%;
}


/* Footer */
.footer {
    padding-top: 45px;
    padding-bottom: 130px;
    background: #1e4776;
    color: white;
}

.footer-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.footer-col {
    max-width: 350px;
    flex-grow: 1;
}

.footer-copyright {
    color: #7e9ec9;
    line-height: 1.3;
}

.footer-copyright-name {
    font-weight: 700;
    font-size: 28px;
    margin-bottom: 15px;
}

.footer-copyright p {
    margin: 0;
    margin-bottom: 15px;
    font-size: 16px;
    font-weight: 600;  
}

.footer-icons p {
    font-weight: 600;
    font-size: 16px;
    line-height: 1.3;
}

.footer-icons-row {
    display: flex;
    align-items: center;
}

.footer-icons-row > * + *{
    margin-left: 30px;
}

.footer-button {
    display: inline-block;
    height: 50px;
    padding-left: 30px;
    padding-right: 30px;

    border: 3px solid #FFFFFF;
    border-radius: 50px;

    color: white;
    font-weight: 700;
    font-size: 16px;
    line-height: 44px;
    text-transform: uppercase;
    text-decoration: none;
    
    transition: all 0.2s ease-in;
}

.footer-button:hover {
    background-color: white;
    color: #1e4776;
}

.footer-contacts p {
    margin: 15px 0;
    font-size: 16px;
    line-height: 1.3;
    color: #7e9ec9;
}

/* Project*/

.project {
    padding: 80px 0 120px 0;
    text-align: center;
}

.project-header {
    margin: 0;
    margin-bottom: 40px;
    font-weight: bold;
    font-size: 46px;
    line-height: 1.3;
}

.project-img {
    margin-bottom: 70px;
}

.project-description {
    margin: 0 auto 60px;
    max-width: 730px;
}

.project-description p {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 16px;
    line-height: 1.5;
}

.project-btn-back {
    display: inline-block;
    height: 60px;
    padding-left: 30px;
    padding-right: 30px;

    border: 3px solid #275bec;
    border-radius: 50px;

    color: #275bec;
    font-weight: 700;
    font-size: 16px;
    line-height: 54px;
    text-transform: uppercase;
    text-decoration: none;

    transition: all 0.2s ease-in;
}

.project-btn-back:hover {
    background-color: #275bec;
    color: white;
}