.has-it-cc {
    overflow: hidden;
    position: relative;
}

.has-it-cc:before {
    position: fixed;
    display: block;
    content: '';
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 9998;
}

.it-cc {
    display: block;
    opacity: 0;
    height: 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    text-align: center;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.it-cc.it-cc--visible {
    display: flex;
    height: auto;
    bottom: 0;
    opacity: 1;
    flex-direction: column;
}

.it-cc__dialog {
    position: relative;
    display: block;
    margin: auto;
    top: 0;
    opacity: 0;
}

.it-cc__dialog:focus {
    outline: none;
}

.it-cc--visible .it-cc__dialog {
    opacity: 1;
}