.o-modal {
    display: none;
    height: 100vh;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    overflow-y: scroll;
}
.o-modal__contents {
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow-y: scroll;
    max-height: 90%;
    width: 90%;
}
.o-modal__body {
    position: relative;
    padding: 40px;
    background-color: #fff;
    border-radius: 5px;
    text-align: left;
    color: #333;
}
.o-modal__table {

}
.o-modal__table table {
    width: 100%;
    border: 1px solid #34054b;
    table-layout: fixed;
}
.o-modal__table th {
    color: #fff;
    font-weight: normal;
    text-align: center;
    padding: 0.5em;
    background-color: #36acde;
    border: 1px solid #34054b;
}
.o-modal__table th.title {
    color: #000;
    background-color: #efd8f9;
}
.o-modal__table td {
    text-align: center;
    color: #000;
    font-weight: normal;
    vertical-align: middle;
    padding: 0.5em;
    background-color: #fff;
    border: 1px solid #34054b;
}
.o-modal__table p {
    margin-top: 1em;
    font-weight: 400;
}
.o-modal__table .table-title {
    margin-top: 50px;
    margin-bottom: 1em;
    text-align: center;
    background-color: #0fd0ed;
    padding: 10px;
}
.o-modal__close-button {
    position: absolute;
    top: 10px;
    right: 10px;
}
.o-modal__close-button span {
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
    width: 25px;
    height: 3px;
    background-color: #ffc148;
    position: relative;
    transform: rotate(45deg);
    cursor: pointer;
}
.o-modal__close-button::before {
    content: "";
    position: absolute;
    top: 14px;
    left: 0;
    width: 25px;
    height: 3px;
    background: #ffc148;
    border-radius: inherit;
    transform: rotate(-45deg);
}
.o-modal__bg {
    display: none;
    background-color: rgba(0, 0, 0, 0.9);
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
}

body.scroll-stop {
    overflow: hidden;
    touch-action: none;
}

.o-nav.modal-open {
    z-index: 0;
}

.o-hamburger.modal-open {
    z-index: 0;
}

@media (max-width: 599px) {
    .o-modal__body {
        padding: 40px 15px;
    }
}
