@-webkit-keyframes hvr-hang {
    0% {
        -webkit-transform: translateY(8px);
        transform: translateY(8px);
    }

    50% {
        -webkit-transform: translateY(4px);
        transform: translateY(4px);
    }

    100% {
        -webkit-transform: translateY(8px);
        transform: translateY(8px);
    }
}

@keyframes hvr-hang {
    0% {
        -webkit-transform: translateY(8px);
        transform: translateY(8px);
    }

    50% {
        -webkit-transform: translateY(4px);
        transform: translateY(4px);
    }

    100% {
        -webkit-transform: translateY(8px);
        transform: translateY(8px);
    }
}

@-webkit-keyframes hvr-pulse-shrink {
    to {
        -webkit-transform: scale(0.96);
        transform: scale(0.96);
    }
}

@keyframes hvr-pulse-shrink {
    to {
        -webkit-transform: scale(0.96);
        transform: scale(0.96);
    }
}

@keyframes helperKeyframe4 {
    0% {
        transform: rotate(0deg) scale(1, 1)
    }

    55.55556% {
        transform: rotate(0deg) scale(1, 1)
    }

    60% {
        transform: rotate(0.15deg) scale(1, 1)
    }

    64% {
        transform: rotate(-0.2deg) scale(1, 1)
    }

    69% {
        transform: rotate(0.2deg) scale(1, 1)
    }

    73% {
        transform: rotate(-0.2deg) scale(1, 1)
    }

    78% {
        transform: rotate(0.2deg) scale(1, 1)
    }

    82% {
        transform: rotate(-0.2deg) scale(1, 1)
    }

    87% {
        transform: rotate(0.2deg) scale(1, 1)
    }

    91% {
        transform: rotate(-0.15deg) scale(1, 1)
    }

    96% {
        transform: rotate(0.15deg) scale(1, 1)
    }

    100% {
        transform: rotate(0deg) scale(1, 1)
    }
}

@keyframes scale-in {
    0% {
        opacity: 0;
        transform: scale(0.8);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes slide-up {
    0% {
        opacity: 0;
        transform: translateY(90%);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1380px) {
    #scenario-page .options-container {
        gap: 15px;
    }

    #scenario-page #scenario-img {
        max-width: 400px;
        min-width: 400px;
        z-index: -1;
    }

    footer .sailpoint-footer-container {
        font-size: 12px;
        padding: 40px 58px;
    }

    footer .sailpoint-footer-container a {
        margin-left: 20px;
    }
}

@media (min-width: 1300px) {
    .hero-img {
        max-width: 380px;
    }
}

@media (max-width: 1280px) {
    .sidsailpoint-heroDescription {
        font-size: 16px;
    }

    #map-page {
        background-position: right;
    }
}

@media (max-width: 1170px) {
    #landing-page.sidsailpoint-landingScreen {
        padding: 58px;
    }

    #landing-page .sidsailpoint-landingScreen .flex {
        gap: 50px;
    }

    #landing-page .sidsailpoint-heroDescription {
        margin-top: 30px;
    }

    #landing-page .sidsailpoint-heroContent h1 {
        font-size: 45px;
    }

    #landing-page .sidsailpoint-heroContent span,
    #landing-page .sidsailpoint-ctaDescription {
        font-size: 16px;
    }

    #landing-page .sidsailpoint-heroContent span {
        margin-bottom: 20px;
    }

    #result-image img {
        max-width: 400px;
    }
}

@media (max-width: 1070px) {

    #sidsailpoint-workProcess-page {
        height: 100vh;
        position: fixed;
    }

    .mobile-map {
        display: block;
    }

    .desktop-map {
        display: none;
    }

    #map-page {
        height: 100%;
    }

    #map-page svg {
        padding: 50px 50px 0;
        height: auto;
    }

    #sidsailpoint-overlayState .overlay-content {
        max-width: 700px;
    }

    #scenario-page .scenario-description p {
        font-size: 14px;
    }

    #scenario-page .content-wrapper.flex {
        flex-direction: column;
        align-items: center;
    }

    #scenario-page #scenario-img {
        max-width: 350px;
        min-width: 350px;
        margin-bottom: 50px;
        animation: scale-in 0.5s ease-out;
    }

    .option-button {
        height: 100%;
        width: 100%;
    }

    .option-button .option-content {
        align-items: flex-start;
    }

    footer .sailpoint-footer-container .flex {
        flex-direction: column-reverse;
    }

    .sailpoint-footer-left,
    .sailpoint-copyright {
        text-align: center;
    }

    footer .sailpoint-footer-container nav {
        margin-bottom: 15px;
    }

    footer .sailpoint-footer-container nav a:first-of-type {
        margin-left: 0;
    }
}

@media (max-width: 1050px) {
    #landing-page.sidsailpoint-landingScreen {
        height: 100%;
    }

    #landing-page.sidsailpoint-landingScreen .flex {
        flex-direction: column;
        align-items: center;
    }

    #landing-page .hero-img {
        margin-top: 0;
    }

    #results-page {
        position: relative;
    }

    .results-card {
        display: block;
    }

    .results-card .result-graphic {
        max-width: 100%;
    }

    #results-description {
        margin: 50px 0;
    }

    #results-description .sidsailpoint-navigation {
        display: none;
    }

    .results-social {
        margin-bottom: 0;
    }

    #results-page .content-wrapper {
        height: 100%;
    }
}

@media (max-width: 768px) {
    .progress-dots--mobile {
        display: block;
    }

    #sidsailpoint-progress-bar p,
    .progress-dots {
        display: none;
    }

    #landing-page.sidsailpoint-landingScreen,
    #scenario-page {
        padding: 40px 20px;
    }

    #landing-page .sidsailpoint-heroContent h1,
    #landing-page .sidsailpoint-heroContent h1 span {
        font-size: 28px;
        line-height: 120%;
    }

    #landing-page .sidsailpoint-heroContent h1 br {
        display: none;
    }

    #landing-page .sidsailpoint-heroDescription {
        padding: 25px;
    }

    .sidsailpoint-navigation {
        padding: 0 25px;
    }

    #landing-page .sidsailpoint-heroContent span {
        font-size: 14px;
        line-height: 160%;
        margin-bottom: 15px;
    }

    #landing-page .sidsailpoint-ctaTitle {
        font-size: 28px;
        line-height: 120%;
    }

    #sidsailpoint-workProcess-page .content-wrapper {
        padding: 42px 20px;
    }

    #sidsailpoint-workProcess-page.sidsailpoint-workProcess h2 {
        padding-bottom: 25px;
    }

    #sidsailpoint-workProcess-page .cta-section {
        padding: 40px 25px;
    }

    #sidsailpoint-workProcess-page ul {
        padding-left: 16px;
        text-align: left;
    }

    #sidsailpoint-workProcess-page ul li {
        list-style-position: outside;
        list-style-type: auto;
    }

    #map-page svg {
        padding: 50px 20px;
    }

    #sidsailpoint-overlayState .overlay-content {
        max-width: 390px;
        padding: 30px 25px;
    }

    #sidsailpoint-overlayState .stat p {
        font-size: 14px;
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    .sidsailpoint-landingScreen .flex {
        gap: 5px;
    }

    #scenario-page .sidsailpoint-context {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .option-text {
        margin-bottom: 0;
    }

    .option-fact {
        margin-top: 20px;
    }

    #result-image img {
        max-width: 290px;
    }

    .results-title {
        font-size: 28px;
    }

    .results-card .result-graphic {
        padding: 40px 20px;
    }

    #results-description {
        padding: 0 20px;
    }

    #results-description p,
    #results-links a {
        font-size: 14px;
    }

    body.quiz-completed nav.sidsailpoint-navigation.flex {
        flex-direction: row;
    }

    #exit {
        background: var(--white);
        top: -13px;
        right: -8px;
        padding: 12px;
        border-radius: 50%;
    }

    #scenario-page #scenario-img {
        margin: 0 auto 50px;
        min-width: 0;
    }

    .results-social--icon {
        flex-wrap: wrap;

    }

    footer .sailpoint-footer-container {
        padding: 40px 20px
    }

    footer .sailpoint-footer-container nav a {
        display: block;
        margin-left: 0;
        margin-bottom: 5px;
        text-align: center;
    }
}

@media (max-width: 390px) {
    #sidsailpoint-overlayState .overlay-content {
        max-width: 320px;
        padding: 30px 25px;
    }
}

@media (min-width: 1440px) {
    footer .sailpoint-footer-container {
        max-width: 100%;
        padding: 40px;
    }
}