.main-container {
    background-image: url(../img/img.png);
    background-size: 100%;
    background-repeat: no-repeat;
}

.results-list {
    max-width: 960px;
    padding: 16px;
    margin: 64px auto 16px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.result-item {
    display: inline-block;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 18px;
    color: #333;
    text-decoration: none;
}

@media (min-width: 768px) {
    .result-item {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 33%;
        flex: 0 0 33%;
    }
    .result-item:nth-child(3n+1) {
        -webkit-transform: translate3d(0, -48px, 0);
        transform: translate3d(0, -48px, 0);
    }
    .result-item:nth-child(3n+3) {
        -webkit-transform: translate3d(0, 48px, 0);
        transform: translate3d(0, 48px, 0);
    }
}

.result-item>span {
    display: block;
    border-radius: 5px;
    background: white;
    height: 160px;
    line-height: 160px;
    margin: 8px;
    -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, .1);
    box-shadow: 0 2px 3px rgba(0, 0, 0, .1);
    text-align: center;
    -webkit-animation: pop-in 300ms ease-out;
    animation: pop-in 300ms ease-out;
}

@media (min-width: 768px) {
    .result-item>span {
        margin: 16px;
    }
}

.result-item>span {
    font-size: 1.2em;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 1.1em;
}

.result-item:hover>span {
    -webkit-transform: scale(0) translate3d(0, 0, 0);
    transform: scale(0) translate3d(0, 0, 0);
    -webkit-transition: -webkit-transform 150ms ease;
    transition: -webkit-transform 150ms ease;
    transition: transform 150ms ease;
    transition: transform 150ms ease, -webkit-transform 150ms ease;
}

.result-item:nth-child(3n+2)>span {
    text-transform: none;
    font-weight: 200;
    letter-spacing: 0;
    font-size: 1.9em;
}

.result-item:nth-child(7n+3)>span {
    text-transform: none;
    font-weight: 700;
    letter-spacing: -0.05em;
    font-size: 1.7em;
}

.result-item:nth-child(5n+0)>span {
    text-transform: uppercase;
    font-weight: 900;
    letter-spacing: 0.2em;
    font-size: 1.1em;
}

.result-item:hover>span {
    -webkit-transform: scale(1) translate3d(0, 0, 0);
    transform: scale(1) translate3d(0, 0, 0);
}

@media (min-width: 768px) {
    .result-item:hover>span,
    .result-item:nth-child(9n+5)>span {
        background: #2dca87;
        color: white;
        -webkit-transform: scale(1.05) translate3d(0, 0, 0);
        transform: scale(1.05) translate3d(0, 0, 0);
    }
    .result-item:nth-child(9n+5)>span {
        -webkit-transform: scale(1.1) translate3d(0, 0, 0);
        transform: scale(1.1) translate3d(0, 0, 0);
    }
}

@media only screen and (max-width: 600px) {
    .result-item {
        flex: none !important;
        width: 100%;
    }
}

.results-list>hr {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 100%;
    flex: 1 1 100%;
    background: #888;
    height: 1px;
    margin: 16px 32px;
}

@-webkit-keyframes pop-in {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.8);
        transform: scale(0.8);
    }
}

@keyframes pop-in {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.8);
        transform: scale(0.8);
    }
}

dialog[open] {
    animation: appear .15s cubic-bezier(0, 1.8, 1, 1.8);
}

dialog::backdrop {
    background: linear-gradient(45deg, rgba(0, 0, 0, 0.5), rgba(54, 54, 54, 0.5));
    backdrop-filter: blur(3px);
}

@keyframes appear {
    from {
        opacity: 0;
        transform: translateX(-3rem);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}