.cookie-modal * {
    box-sizing: border-box;
}

.cookie-modal .cookie-modal-backdrop {
    display: block;
    position: fixed;
    top: 0; left: 0; bottom: 0; right: 0;
    z-index: 10001;
    background: rgba(0,0,0,0.8);
}

.cookie-modal .cookie-modal-frame {
    display: block;
    position: fixed;
    top: 50%;
    left: 50%;
    width: 90%;
    height: 90%;
    padding-top: 48px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 10002;
    pointer-events: none
}

.cookie-modal .cookie-modal-content {
    position: relative;
    width: 100%;
    height: 100%;
    background: #fff;
    pointer-events: auto;
    overflow: auto;
    -webkit-overflow-scrolling:touch
}

.cookie-modal .cookie-modal-content iframe {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
}

.cookie-modal .cookie-modal-close-button {
    position: absolute;
    z-index: 10;
    margin: 0; padding: 0;
    top: 0;
    right: 0;
    width: 48px;
    height: 48px;
    line-height: 48px;
    font-size: 24px;
    border: none;
    text-shadow: 0 0 2px rgba(0,0,0,0.2);
    text-decoration: none;
    text-align: center;
    color: #ccc !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    pointer-events: auto;
    cursor: pointer;
}

.cookie-modal .cookie-modal-close-button:hover {
    color: #fff !important;
}

/*
 * animation
 */
/* backdrop */
.cookie-modal .cookie-modal-backdrop {
    opacity: 0;
    visibility: hidden;
}

.cookie-modal-visible .cookie-modal-backdrop,
.cookie-modal-hidden .cookie-modal-backdrop {
    transition: opacity .5s, visibility .5s;
}

.cookie-modal-visible .cookie-modal-backdrop {
    opacity: 1;
    visibility: visible;
}

/* frame */
.cookie-modal .cookie-modal-frame {
    opacity: 0;
}

.cookie-modal-visible .cookie-modal-frame,
.cookie-modal-hidden .cookie-modal-frame {
    transition: opacity .5s;
}

.cookie-modal-visible .cookie-modal-frame {
    opacity: 1;
}