html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

*,
*::after,
*::before {
    -webkit-box-sizing: inherit;
    box-sizing: inherit
}

ul[class],
ol[class] {
    padding: 0
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
figure,
figcaption,
blockquote,
dl,
dd {
    margin: 0
}

ul[class] {
    list-style: none
}

img {
    max-width: 100%;
    display: block
}

input,
button,
textarea,
select {
    font: inherit
}

a {
    text-decoration: none
}

html,
body {
    height: 100%;
    font-family: 'Roboto', "Open Sans", sans-serif;
    background-image: url(../images/bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed
}

.wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100%
}

.main {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto
}

.footer {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto
}

.container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 15px
}

.container-fluid {
    max-width: 1800px;
    margin: 0 auto;
    padding: 0 15px
}

.header__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    /* align-items: flex-start; */
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.header__top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.titles {
    margin: 0 auto;
}

.main__title {
    font-size: 28px;
    line-height: 35px;
    font-weight: normal;
    color: #fff;
    text-shadow: 4px 4px 2px #969696;
    text-align: center;
    margin-top: 20px;
}

.header__title {
    font-size: 28px;
    line-height: 35px;
    font-weight: normal;
    font-family: 'Lobster', cursive;
    color: #fff;
    text-shadow: 4px 4px 2px #969696;
    text-align: center
}

.menu {
    margin-left: 40px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.menu__list-link {
    font-size: 24px;
    line-height: 48px
}

.header__name {
    font-size: 40px;
    line-height: 48px;
    font-weight: bold;
    font-family: 'Playfair Display', serif;
    text-align: center;
    color: #fff;
    text-shadow: 4px 4px 2px #969696
}

.virtual {
    padding-top: 15px
}

.virtual__inner-title {
    font-size: 45px;
    text-shadow: 4px 4px 2px #969696;
    text-align: center;
    font-family: 'Roboto'
}

.virtual__inner-btns {
    text-align: center;
    margin: 20px auto;
    padding: 0 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.virtual__inner-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 20px 0 0 0;
    padding: 20px;
    margin-left: -30px
}

.virtual__inner-item {
    position: relative;
    background-color: #fff;
    border-radius: 4px;
    margin-left: 30px;
    margin-bottom: 30px;
    -ms-flex-preferred-size: calc(25% - 30px);
    flex-basis: calc(25% - 30px);
    -webkit-box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.5);
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.5)
}

.virtual__inner-item:hover {
    -webkit-transform: scale(1.03);
    -ms-transform: scale(1.03);
    transform: scale(1.03);
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s
}

.virtual__inner-img {
    border-radius: 4px;
    width: 100%
}

.virtual__inner-link {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    color: #fff
}

.virtual__inner-link--title {
    position: absolute;
    background: -webkit-gradient(linear, left top, right top, from(rgba(0, 255, 8, 0.795956)), to(rgba(0, 255, 8, 0.398197)));
    background: -o-linear-gradient(left, rgba(0, 255, 8, 0.795956) 0%, rgba(0, 255, 8, 0.398197) 100%);
    background: linear-gradient(90deg, rgba(0, 255, 8, 0.795956) 0%, rgba(0, 255, 8, 0.398197) 100%);
    padding: 10px 30px;
    border-radius: 4px;
    bottom: 10px;
    left: 10px;
    font-size: 20px;
    font-weight: bold
}

.virtual-btn {
    display: inline-block;
    background-color: #dedede;
    color: #6f6f6f;
    border: none;
    border-radius: 30px;
    padding: 7px 20px;
    font-size: 18px;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    -webkit-box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.5);
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.5)
}

.virtual-btn:hover {
    cursor: pointer;
    -webkit-transform: scale(1.07);
    -ms-transform: scale(1.07);
    transform: scale(1.07)
}

.virtual-btn:not(:first-child) {
    margin-left: 15px
}

.mixitup-control-active {
    background-color: blue;
    color: #fff
}

.contacts {
    padding-bottom: 20px
}

.contacts__title {
    margin-bottom: 30px;
    font-size: 30px;
    text-align: center;
    text-shadow: 3px 3px 2px #969696
}

.contacts__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.contacts__address {
    margin-right: 30px
}

.contact__item {
    margin-bottom: 20px;
    font-size: 21px;
    text-shadow: 2px 2px 2px #969696
}

.contacts__map {
    max-width: 600px;
    width: 100%;
    height: 450px;
    -webkit-box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.5);
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.5)
}

@media (max-width: 1205px) {
    .virtual-btn {
        margin-top: 20px
    }
}

@media (max-width: 1145px) {
    .virtual__inner-item {
        -ms-flex-preferred-size: calc(33.333% - 30px);
        flex-basis: calc(33.333% - 30px)
    }
}

@media (max-width: 875px) {
    .virtual__inner-item {
        -ms-flex-preferred-size: calc(50% - 30px);
        flex-basis: calc(50% - 30px)
    }
}

@media (max-width: 505px) {
    .virtual__inner-item {
        -ms-flex-preferred-size: calc(100% - 30px);
        flex-basis: calc(100% - 30px)
    }

    .virtual-btn {
        -ms-flex-preferred-size: calc(50% - 30px);
        flex-basis: calc(50% - 30px)
    }

    .virtual-btn:nth-child(odd) {
        margin-left: 0px
    }
}