/* -- Стили для обертки -- */

.main_wrapper {
    grid-column: 1/2;
    grid-row: 2/3;

    justify-self: stretch;
    align-self: stretch;

    display: grid;
    grid-template-columns: 1fr minmax(360px, 1140px) 1fr;
}

main {
    grid-column: 2/3;
    grid-row: 1/2;

    justify-self: center;
    align-self: stretch;

    display: grid;
    grid-template-columns: repeat(1, auto);
    grid-template-rows: repeat(1, auto);
}



/* -- Стили для первой секции -- */

.section_1 {
    grid-column: 1/2;
    grid-row: 1/2;

    justify-self: stretch;
    align-self: stretch;

    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-auto-rows: auto;
    grid-row-gap: 20px;

    margin: 80px 80px;
    margin-top: 40px;
}

.section_1 > h2 {
    grid-column: 1/2;
    grid-row: 1/2;

    justify-self: stretch;
    align-self: stretch;

    text-align: center;

    margin-bottom: 30px;
}

.our_dog_galery_wrapper {
    grid-column: 1/2;
    grid-row: 2/3;

    justify-self: center;
    align-self: stretch;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: auto;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
}

.our_dog_galery_item {
    justify-self: stretch;
    align-self: stretch;

    display: grid;

    width: 230px;
    height: 230px;

    background-color: var(--overlay_color);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;

    opacity: 1.0;

    transition: all 0.5s ease-in-out 0.1s;
}

.our_dog_galery_item > i {
    justify-self: center;
    align-self: center;

    opacity: 0;
    visibility: hidden;

    color: #ffffff;

    transition: all 0.5s ease-in-out 0.1s;
}

.our_dog_galery_item:hover {
    opacity: 1.0;
}

.our_dog_galery_item:hover > i {
    opacity: 1.0;
    visibility: visible;
}

.back {
    grid-column: 1/2;

    justify-self: end;
    align-self: center;

    padding: 20px 30px;
    padding-bottom: 5px;
    margin-bottom: 20px;
    margin-right: 20px;

    border-bottom: 3px solid var(--border_bottom_color);
}

.back:hover {
    border-bottom: 3px solid var(--line_first_color);
}



/* -- Стили для мобильных устройств -- */
/* -- Extra small devices (portrait phones, less than 576px) -- */
@media (max-width: 575.98px) {
    /* -- Стили для обертки -- */

    .main_wrapper {
        grid-column: 1/2;
        grid-row: 2/3;

        justify-self: stretch;
        align-self: stretch;

        display: grid;
        grid-template-columns: auto;
    }

    main {
        grid-column: 1/2;
        grid-row: 1/2;

        justify-self: center;
        align-self: stretch;

        display: grid;
        grid-template-columns: repeat(1, auto);
        grid-template-rows: repeat(4, auto);
    }



    /* -- Стили для первой секции -- */

    .section_1 {
        grid-template-columns: repeat(1, auto);

        margin: 40px 20px;
    }

    .section_1 > h2 {
        grid-column: 1/2;

        margin-bottom: 20px;

        font-size: 1.8em;
    }

    .our_dog_galery_wrapper {
        grid-column: 1/2;
        grid-row: 2/3;

        justify-self: center;
        align-self: stretch;

        grid-template-columns: repeat(1, 1fr);
    }

    .our_dog_galery_item {
        justify-self: stretch;
        align-self: stretch;

        width: 320px;
        height: 320px;

        opacity: 1;
    }

    .our_dog_galery_item > i {
        justify-self: center;
        align-self: center;

        opacity: 1;
        visibility: visible;
    }

    .back {
        justify-self: center;

        margin-right: 0;
    }
}

/* -- Small devices (landscape phones, 576px and up) -- */
@media (min-width: 576px) and (max-width: 767.98px) {
    /* -- Стили для обертки -- */

    .main_wrapper {
        grid-column: 1/2;
        grid-row: 2/3;

        justify-self: stretch;
        align-self: stretch;

        display: grid;
        grid-template-columns: auto;
    }

    main {
        grid-column: 1/2;
        grid-row: 1/2;

        justify-self: center;
        align-self: stretch;

        display: grid;
        grid-template-columns: repeat(1, auto);
        grid-template-rows: repeat(4, auto);
    }



    /* -- Стили для первой секции -- */

    .section_1 {
        grid-template-columns: repeat(1, auto);

        margin: 40px 30px;
    }

    .section_1 > h2 {
        grid-column: 1/2;

        margin-bottom: 20px;

        font-size: 1.8em;
    }

    .our_dog_galery_wrapper {
        grid-column: 1/2;
        grid-row: 2/3;

        justify-self: center;
        align-self: stretch;

        grid-template-columns: repeat(2, 1fr);
    }

    .our_dog_galery_item {
        justify-self: stretch;
        align-self: stretch;

        opacity: 1;
    }

    .our_dog_galery_item > i {
        justify-self: center;
        align-self: center;

        opacity: 1;
        visibility: visible;
    }

    .back {
        justify-self: center;

        margin-right: 0;
    }
}

/* -- Medium devices (tablets, 768px and up) -- */
@media (min-width: 768px) and (max-width: 991.98px) {
    /* -- Стили для обертки -- */

    .main_wrapper {
        grid-column: 1/2;
        grid-row: 2/3;

        justify-self: stretch;
        align-self: stretch;

        display: grid;
        grid-template-columns: auto;
    }

    main {
        grid-column: 1/2;
        grid-row: 1/2;

        justify-self: center;
        align-self: stretch;

        display: grid;
        grid-template-columns: repeat(1, auto);
        grid-template-rows: repeat(4, auto);
    }



    /* -- Стили для первой секции -- */

    .section_1 {
        grid-template-columns: repeat(1, auto);

        margin: 40px 30px;
    }

    .section_1 > h2 {
        grid-column: 1/2;

        margin-bottom: 20px;

        font-size: 1.8em;
    }

    .our_dog_galery_wrapper {
        grid-column: 1/2;
        grid-row: 2/3;

        justify-self: center;
        align-self: stretch;

        grid-template-columns: repeat(3, 1fr);
    }

    .our_dog_galery_item {
        justify-self: stretch;
        align-self: stretch;

        width: 220px;
        height: 220px;

        opacity: 1;

        text-decoration: none;
    }

    .our_dog_galery_item > i {
        justify-self: center;
        align-self: center;

        opacity: 1;
        visibility: visible;
    }

    .back {
        justify-self: center;

        margin-right: 0;
    }
}

/* -- Large devices (desktops, 992px and up) -- */
@media (min-width: 992px) and (max-width: 1139.98px) {
    .section_1 {
        grid-template-columns: repeat(1, auto);

        margin: 40px 30px;
    }

    .section_1 > h2 {
        grid-column: 1/2;

        margin-bottom: 20px;

        font-size: 1.8em;
    }

    .our_dog_galery_wrapper {
        grid-column: 1/2;
        grid-row: 2/3;

        justify-self: center;
        align-self: stretch;

        grid-template-columns: repeat(4, 1fr);
    }
}

/* -- Extra large devices (large desktops, 1200px and up) -- */
@media (min-width: 1140px) {

}



















