body:not(.portrait) #retentionScreen {
    position: absolute;
    top: 0;
    left: -128px;
    width: calc(100% + 128px);
    height: 100%;
}

body.mobile:not(.portrait) #retentionScreen {
    left: -192px;
    width: calc(100% + 192px);
}

#retentionScreen {
    background: none;
    pointer-events: none;
}

#retentionScreen:after,
#retentionScreen:before {
    content: none;
}

#retentionContent {
    position: absolute;
    width: calc(100% - 128px);
    height: 100%;
    top: 0;
    left: 128px;
    z-index: 9999;
    pointer-events: none;
}

.mobile #retentionContent {
    width: calc(100% - 192px);
    left: 192px;
}

.retentionContentHolder {
    position: absolute;
    width: 100%;
    height: 100%;
}

.retentionContentHolder > div {
    pointer-events: auto;
}

body:not(.portrait) #retentionPanel {
    position: absolute;
    width: 0;
    height: 100%;
    padding: 0;
    top: 0;
    left: 0;
}

body:not(.loaded) #retentionPanel {
    display: none;
}

.desktop.retention-panel-active #retentionPanel {
    width: 128px;
    display: block;
}

.mobile.retention-panel-active #retentionPanel {
    width: 192px;
}

.portrait.retention-panel-active #retentionPanel {
    width: 128px;
}

#retentionPanelIcons {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    box-sizing: border-box;
    text-align: center;
    height: 100%;
    width: 100%;
    padding: 15% 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.mobile #retentionPanelIcons {
    padding: 0 0 8%;
}

.mobile:not(.portrait) #peakIconHolder {
    width: 98% !important;
}

.retentionIconHolder {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: auto;
}

.portrait #retentionScreen {
    position: absolute;
}

.portrait #retentionContent {
    left: 0;
    width: 100%;
}

.portrait #retentionPanel {
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    box-sizing: border-box;
    padding-left: 0;
    padding-right: 0;
    display: flex;
    align-items: center;
}

.portrait.reverse #retentionPanel {
    left: auto;
    right: 0;
}

.portrait #retentionPanelIcons {
    height: auto;
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
    padding: 0 0 16%;
    transform-origin: left center;
}

.portrait.reverse #retentionPanelIcons {
    border-radius: 16px 0 0 16px;
    transform-origin: right center;
}

.portrait.tablet #retentionPanelIcons.retention-icon-count-1 {
    transform: scale(1);
}

.roundBtn.peakMenuBtn {
    float: left;
    width: 52px;
    height: 52px;
    cursor: pointer;
    background: none;
}

.roundBtn.peakMenuBtn:hover {
    -webkit-filter: brightness(1.3);
    filter: brightness(1.3);
}

.btn.peakMenuBtn {
    width: 96px;
    height: 96px;
    cursor: pointer;
    background: none;
}

.portrait .btn.peakMenuBtn {
    transform: scale(0.8);
}

.portrait.tablet .btn.peakMenuBtn {
    transform: scale(0.5);
}

.portrait #retentionPanelIcons {
    transform: scale(1);
}

.portrait #retentionPanelIcons.retention-icon-count-0 {
    width: 0;
}

.portrait #retentionPanelIcons.retention-icon-count-1 {
    transform: scale(1.3);
}

.portrait.extendPortrait #retentionPanelIcons.retention-icon-count-1 {
    transform: scale(1.15);
}

.retention-panel-active.portrait:not(.tablet) .gambleUserControls .gameControls {
    left: 80px;
}

.retention-panel-active.portrait.reverse:not(.tablet) .gambleUserControls .gameControls {
    left: -80px;
}

.retention-panel-active.portrait.extendPortrait.mobile-xs:not(.tablet) .gambleUserControls .gameControls,
.retention-panel-active.portrait.mobile-xs:not(.tablet) .gambleUserControls .gameControls {
    left: 56px;
}

.retention-panel-active.portrait.extendPortrait.mobile-xs.reverse:not(.tablet) .gambleUserControls .gameControls,
.retention-panel-active.portrait.mobile-xs.reverse:not(.tablet) .gambleUserControls .gameControls {
    left: -56px;
}

/* UI-V1
*/

.ui-v1.portrait #retentionPanel {
    padding-top: 147px;
    width: 147px;
    padding-bottom: 147px;
}

.ui-v1.portrait.tablet:not(.tablet-xs) #retentionPanel {
    padding-top: 80px;
    width: 147px;
}

.ui-v1.portrait.tablet-xs:not(.tablet) #retentionPanel {
    padding-top: 67px;
    width: 128px;
}

.ui-v1.portrait.tablet.tablet-xs #retentionPanel {
    padding-top: 147px;
    width: 128px;
}

.ui-v1.portrait.mobile-xs #retentionPanel {
    padding-top: 27px;
    padding-bottom: 128px;
    width: 128px;
}

@media (min-aspect-ratio: 0.7) and (max-aspect-ratio: 0.75) {
    .ui-v1.portrait.mobile-xs #retentionPanel {
        width: 107px;
    }
}

@media (min-aspect-ratio: 0.56) and (max-aspect-ratio: 0.67) {
    .ui-v1.portrait.mobile-xs #retentionPanel {
        padding-top: 13px;
        width: 160px;
    }
}

@media (max-aspect-ratio: 0.53) {
    .ui-v1.portrait:not(.mobile-xs) #retentionPanel {
        width: 181px;
    }
}

/* UI-V2
*/

.ui-v2.portrait.tablet:not(.tablet-xs) #retentionPanel {
    padding-top: 27px;
    width: 128px;
}

.ui-v2.portrait.tablet-xs:not(.tablet) #retentionPanel {
    padding-top: 67px;
    width: 128px;
}

.ui-v2.portrait.tablet.tablet-xs #retentionPanel {
    padding-top: 93px;
    width: 128px;
}

.ui-v2.portrait.mobile-xs:not(.extendPortrait) #retentionPanel {
    padding-top: 27px;
    padding-bottom: 128px;
    width: 128px;
}

.ui-v2.portrait.extendPortrait:not(.mobile-xs) #retentionPanel {
    padding-top: 40px;
    width: 147px;
}

.ui-v2.portrait.extendPortrait.mobile-xs #retentionPanel {
    padding-top: 53px;
    width: 147px;
}

@media (min-aspect-ratio: 0.6) and (max-aspect-ratio: 0.75) {
    .ui-v2.portrait.mobile-xs:not(.extendPortrait) #retentionPanel {
        width: 107px;
    }
}

@media (min-aspect-ratio: 0.56) and (max-aspect-ratio: 0.67) {
    .ui-v2.portrait.mobile-xs:not(.extendPortrait) #retentionPanel {
        padding-top: 13px;
        width: 160px;
    }
}

@media (max-aspect-ratio: 0.53) {
    .ui-v2.portrait.extendPortrait:not(.mobile-xs) #retentionPanel {
        width: 181px;
    }
}

/* UI-V3
*/

.ui-v3.portrait.tablet:not(.tablet-xs) #retentionPanel {
    padding-top: 20px;
    width: 96px;
}

.ui-v3.portrait.tablet-xs:not(.tablet) #retentionPanel {
    padding-top: 50px;
    width: 96px;
}

.ui-v3.portrait.tablet.tablet-xs #retentionPanel {
    padding-top: 70px;
    width: 96px;
}

.ui-v3.portrait.mobile-xs:not(.extendPortrait) #retentionPanel {
    padding-top: 20px;
    padding-bottom: 96px;
    width: 96px;
}

.ui-v3.portrait.extendPortrait:not(.mobile-xs) #retentionPanel {
    padding-top: 120px;
    width: 110px;
    padding-bottom: 140px;
}

.ui-v3.portrait.extendPortrait.mobile-xs #retentionPanel {
    padding-top: 40px;
    width: 110px;
}

@media (min-aspect-ratio: 0.7) and (max-aspect-ratio: 0.75) {
    .ui-v3.portrait.mobile-xs:not(.extendPortrait) #retentionPanel {
        width: 80px;
    }
}

@media (min-aspect-ratio: 0.56) and (max-aspect-ratio: 0.67) {
    .ui-v3.portrait.mobile-xs:not(.extendPortrait) #retentionPanel {
        padding-top: 10px;
        width: 120px;
    }
}

@media (max-aspect-ratio: 0.53) {
    .ui-v3.portrait.extendPortrait:not(.mobile-xs) #retentionPanel {
        width: 136px;
    }
}

/* UI-V4
*/

.ui-v4.portrait.tablet:not(.tablet-xs) #retentionPanel {
    width: 128px;
    padding-bottom: 147px;
}

.ui-v4.portrait.tablet-xs:not(.tablet) #retentionPanel {
    padding-top: 67px;
    width: 128px;
}

.ui-v4.portrait.tablet.tablet-xs #retentionPanel {
    width: 128px;
    padding-bottom: 160px;
}

.ui-v4.portrait.mobile-xs:not(.extendPortrait) #retentionPanel {
    padding-top: 27px;
    padding-bottom: 128px;
    width: 128px;
}

.ui-v4.portrait.extendPortrait:not(.mobile-xs) #retentionPanel {
    width: 147px;
    padding-bottom: 213px;
}

.ui-v4.portrait.extendPortrait.mobile-xs #retentionPanel {
    width: 107px;
    padding-bottom: 187px;
}

@media (min-aspect-ratio: 0.7) and (max-aspect-ratio: 0.75) {
    .ui-v4.portrait.mobile-xs:not(.extendPortrait) #retentionPanel {
        width: 107px;
    }
}
@media (min-aspect-ratio: 0.596) and (max-aspect-ratio: 0.64) {
    .ui-v4.portrait.extendPortrait.mobile-xs #retentionPanel {
        width: 133px;
    }
}

@media (max-aspect-ratio: 0.53) {
    .ui-v4.portrait.extendPortrait:not(.mobile-xs) #retentionPanel {
        width: 147px;
    }
}
