:root {
  --inactive-color:#cacaca;
  --active-color:#49ace2;
  --arrow-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNzFweCIgaGVpZ2h0PSI2M3B4IiB2aWV3Qm94PSIwIDAgNzEgNjMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQzLjIgKDM5MDY5KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5Hcm91cCAyPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj4KICAgICAgICA8ZyBpZD0iM18xX0ZJTFRSWSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTc5MC4wMDAwMDAsIC03Ni4wMDAwMDApIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMyI+CiAgICAgICAgICAgIDxnIGlkPSJJTkZPIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MzEuNTEzNzY1LCA3OC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNTkuNDg2MjM1LCAwLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0wLjQ4NjIzNTI1LDU5IEM0LjI2OTE5MTY5LDIwLjI5MzE0OCAyNC42Nzk1NDEyLDYuMDEyNzE4NjEgNjAsNi4wMTI3MTg2MSIgaWQ9IlBhdGgtMiIgc3Ryb2tlLWRhc2hhcnJheT0iMSw3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIGlkPSJQYXRoLTMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHBvaW50cz0iNjIgMS40MjEwODU0N2UtMTQgNjguNDg5MTgyNyA1Ljg3MDc3NzgyIDYyLjM0ODc4ODMgMTEuODUyNTczNSI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+');
}

.svg {
    position:absolute;
    top:0;
    left:0;
    display: none;
    z-index:10;
}

.bg {

}

.mask {

}

.window {
    display: none;
    position:absolute;
    z-index:11;
    padding-bottom:90px;
    border-radius: 5px;
    background-color: #ffffff;
    box-shadow: 0 15px 20px 0 rgba(0, 0, 0, 0.2);
    font-family: Roboto;
    overflow: hidden;
}

.window-next-btn {
    display: block;
    position: absolute;
    right:30px;
    text-align: left;
    bottom:30px;
    padding:6px 15px 6px 15px;
    text-transform: uppercase;
    cursor: pointer;
    box-sizing: border-box;
    border-radius: 5px;
    font-size: 10px;
    background-color:white;
    font-weight: bold;
    letter-spacing: 1px;
    user-select: none;
    color: var(--active-color);
    border: solid 2px var(--active-color);

    & span {
        font-weight:bold;
    }

    & .window-btn-icon {
        font-size:19px;
        position:absolute;
        display: none;
        right:15px;
        top:5px;
    }    
}

.window-next-btn-hover {
    color:white;
    background-color: var(--active-color);
}

.window-button-has-next {
    padding: 6px 50px 6px 15px;

    & .window-btn-icon {
        display: block;
    }
}

.window-prev-btn {
    display: none;
    position: absolute;
    left:30px;
    bottom:30px;
    text-transform: uppercase;
    padding:5px 0px;
    color: var(--inactive-color);
    pointer-events: none;
    cursor: default;

    & >.window-btn-icon {
        font-size:19px;
    }
}

.window-title {
    position:relative;
    margin-top:25px;
    margin-left:30px;
    font-size: 16px;
    font-weight: bold;
}

.window-body {
    position:relative;
    margin-top:19px;
    margin-left:30px;
    margin-right: 30px;
    font-size: 12px;
    line-height: 1.5;
}

.window-button-has-prev {
    color: var(--inactive-color);
    display: block;
    pointer-events: all;
    cursor: pointer;
}

.window-button-has-prev:hover {
    color: var(--active-color);
}

.arrow {
    position: absolute;
    z-index:11;
    visibility: hidden;
    width:71px;
    top:0px;
    left:0px;
    height: 63px;
    background-image:var(--arrow-image);
}

.constrained + .arrow {
    display: none !important;
}

.arrow-right-top {
    transform: rotate(0deg);
    margin-left: -20px;
    margin-top: -8px;
}

.arrow-right-bottom {
    transform: scaleY(-1);
    margin-left: -20px;
    margin-top: 8px;
}

.arrow-left-top {
    transform: rotate(-90deg);
    margin-left: -8px;
    margin-top: 20px;
}

.arrow-left-bottom {
    margin-left: -8px;
    margin-top: -20px;
    transform: scaleY(-1) rotate(-90deg);
}

.window-right-top {
    
}

.window-close {
    position:absolute;
    right:30px;
    top:25px;
    font-size: 18px;
    width:15px;
    height:15px;
    color:var(--inactive-color);
    cursor: pointer;
}

.window-close:hover {
    color:black;
}

.window-progress-ct {
    background-color: var(--active-color);
    height: 5px;
    left: 0px;
    top: 0px;
    overflow: hidden;
    width:0px;
    position: absolute;
}

.window-progress-step {
    position: relative;
    height:5px;
    border-right:2px solid white;
    background-color: transparent;
    float:left;
}
