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

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

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

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

.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;
}

.retention-panel-active:not(.portrait) #retentionPanel {
    width: 144px;
    display: block;
}

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

#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: 35% 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.mobile #retentionPanelIcons {
    padding: 15% 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;
    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: 12px;
    border-bottom-right-radius: 12px;
    padding: 0 0 40%;
    transform-origin: left center;
}

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

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

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

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

.btn.peakMenuBtn {
    width: 72px;
    height: 72px;
    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,
.portrait #retentionPanelIcons.retention-icon-count-0-m {
    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: 60px;
}

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

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

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

/* UI-V1
*/

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

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

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

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

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

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

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

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

/* UI-V2
*/

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

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

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

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

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

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

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

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

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

/* 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: 96px;
}

.ui-v4.portrait.tablet-xs:not(.tablet) #retentionPanel {
    width: 96px;
}

.ui-v4.portrait.tablet.tablet-xs #retentionPanel {
    width: 96px;
}

.ui-v4.portrait.mobile-xs:not(.extendPortrait) #retentionPanel {
    width: 96px;
}

.ui-v4.portrait.extendPortrait:not(.mobile-xs) #retentionPanel {
    width: 110px;
}

.ui-v4.portrait.extendPortrait.mobile-xs #retentionPanel {
    width: 80px;
}

.ui-v4.portrait .btn.peakMenuBtn {
    transform: scale(0.65);
}

.ui-v4.portrait.tablet .btn.peakMenuBtn {
    transform: scale(0.4);
}

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

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