/* Обнуление оснвных параметров браузера */
* {
    padding: 0px;
    margin: 0px;
    border: 0px;
    }
    *,*:before,*:after{
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    .focus :active{outline: none;}
    a:focus, :active{outline: none;}
    
    nav,footer,header,aside{display: block;}
    
    html,body{
    height: 100%;
    width: 100%;
    font-size: 100%;
    line-height: 1;
    font-size: 14px;
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    }
    
    input,button,textarea{font-family: inherit;}
    
    input::-ms-clear{display: none;}
    button{cursor: pointer;}
    button::-moz-focus-inner {padding:0; border:0;}
    a, a:visited{text-decoration: none;}
    a:hover{text-decoration: none;}
    ul li{list-style: none;}
    img{vertical-align: top;}
    
    h1,h2,h3,h4,h5,h6{font-size: inherit;font-weight: 400;}
    /* -------------------------------------------------- */

    html, body {
        height: 100%;
        color: whitesmoke;
        font-size: 16px;
    }
    .wrapper {
        display: flex;
        flex-direction: column;
    }
    .container {
        margin: 0 auto;
        max-width: 920px;
        height: 100%;
        border-radius: 14px;
        background-color: #333;
        overflow: hidden;
    }
    .slogan {
        width: 100%;
        height: 300px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: url(../img/citynewsletter.jpg) 0 0/ 100% 100% no-repeat;
        font-size: 80px;
    }
    .slogan h1 {
            text-align: center;
            text-shadow: 4px 4px 8px black;
        }
    .menu {
        display: flex;
        justify-content: space-between;
        padding: 14px 10px;
        border-bottom: 1px solid whitesmoke;
    }
    .menu__link {
        text-transform: uppercase;
        letter-spacing: 1px;
        color: whitesmoke;
        font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    }
    .menu__link:hover {
        text-decoration: underline;
    }
    .text {
        margin-bottom: 50px;
        padding: 14px 10px;
        text-align: center;
        line-height: 20px;
        border-bottom: 1px solid whitesmoke;
    }
    .boxing {
        display: flex;
        flex-wrap: wrap;
        margin: -15px -5px;
    }
    .column {
        flex: 0 1 33.333%;
        padding: 15px 5px; 
    }
    .box {
        margin: 0 10px;
        text-align: center;
        border: 1px solid whitesmoke;
    }
    .box__image {
        display: inline-block;
        width: 100%;
        position: relative;
        padding: 0 0 78% 0;
    }
    .box__image img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        padding: 10px;
    }
    .box__label {
        color: whitesmoke;
        font-size: 18px;
    }
    .box__label:hover {
        text-decoration: underline;
    }
    .box__text {
        margin: 10px 10px 20px 10px;
        line-height: 19px;
    }
    .newsletter__link {
            display: block;
            margin: 60px auto;
            width: 300px;
            text-align: center;
            font-size: 18px;
            padding: 10px 10px;
            border-radius: 10px;
            letter-spacing: 1px;
            color: whitesmoke;
            text-decoration: none;
            text-transform: uppercase;
            font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
            border: 1px solid whitesmoke;
            box-shadow: 0 0 14px whitesmoke;
            background-color: #0a0a0a;
        }
        .newsletter__link:hover {
            background-color: #161a1e;
            border: none;
            box-shadow: 0 0 8px whitesmoke;
            text-transform: uppercase;
            text-decoration: none;
            font-size: 16px;
        }
    .footer {
        text-align: center;
        border-top: 1px solid whitesmoke;
    }
    .footer__link {
        margin: 20px 0;
        display: flex;
        justify-content: center;
        gap:0 19.5px;
        flex-wrap: wrap;
        padding: 0 10px;
    }
    .footer__link a img {
        width: 64px;
        height: 64px;
    }
    .footer p {
        padding: 0 10px;
        font-size: 14px;
    }
    .footer p:last-child {
        margin: 5px 0 10px 0;
    }

    @media (max-width: 691px) {
        .slogan {
            padding: 0 10px;
        }
        .column {
        flex: 0 1 50%; 
        }
    }
    @media (max-width: 521px) {
        .slogan {
            font-size: 60px;
        }
        .menu {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 10px;
        }
        .menu__link {
            padding: 0 15px;
        }
        .column {
            flex: 0 1 100%; 
        }
    }