.promocode-popup {
    display: none; }
.popup__layout {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #000;
    z-index: 1000;
    will-change: top;
    opacity: .75;
    visibility: visible;
    -webkit-transition: opacity 300ms cubic-bezier(0.2, 0, 0.2, 1), visibility 0ms 0ms;
    transition: opacity 300ms cubic-bezier(0.2, 0, 0.2, 1), visibility 0ms 0ms; }

.popup__container {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-perspective: 600px;
    perspective: 600px;
    z-index: 1001;
    text-align: center;
    visibility: visible;
    overflow-y: scroll;
    padding: 50px 0; }

.popup__container:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle; }

.popup__body {
    background-color: #fff;
    pointer-events: auto;
    position: relative;
    min-width: 380px;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto 0 -3px;
    -webkit-transition: all 300ms cubic-bezier(0.2, 0, 0.2, 1), visibility 0ms 0ms;
    transition: all 300ms cubic-bezier(0.2, 0, 0.2, 1), visibility 0ms 0ms;
    visibility: visible;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
    padding: 45px;
    max-width: 600px; }

.popup__close {
    position: absolute;
    font-size: 1.2rem;
    right: 0px;
    top: 0px;
    cursor: pointer;
    color: #fff;
    background-color: #22252D;
    min-width: auto;
    width: 26px;
    height: 26px;
    border: 0;
    border-radius: 0;
}

.popup__close svg {
    width: 25px;
    height: 25px;
    fill: #fff; }

.popup__close:hover {
    background-color: #F53338; }

.popup__heading {
    font-size: 29px;
    line-height: 21px;
    margin: 0 0 12px;
    color: #000;
    font-weight: bold;
    text-align: center; }

.promo__text {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto; }

.promo__image {
    max-width: 600px;
    margin-top: 30px;
    width: 100%; }
.popup__close:before,
.popup__close:after {
    content: '';
    width: 3px;
    height: 100%;
    display: block;
    background-color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%) rotate(45deg); }

.popup__close:after {
    transform: translateX(-50%) translateY(-50%) rotate(-45deg); }

.star-rating .fa {
    position: static;
}
@media (max-width: 768px) {
    .popup__container {
        padding: 20px; }

    .popup__body {
        min-width: auto; }

    .promo__image {
        max-width: 100%;
        margin-top: 10px; }

    html.with--no_scroll {
        margin-right: 0; } }
.popup__heading {
    margin-bottom: 15px;
    font-size: 1.5em;
    border-bottom: solid rgba(36, 37, 38, 0.5) 1px;
    padding-bottom: 15px; }
