/* CUSTOMIZER */
.dd-customizer {
    user-select: none;
    position: relative;
}

.dd-customizer img {
    pointer-events: none;
}

.sape-biw-viewport .dd-customizer {
    position: initial;
}

.dd-customizer-wrapper {
    position: relative;
}

.dd-fullscreen:not(.autofitting-parent) .dd-customizer-wrapper {
    top: 50%;
    transform: translate(0, -50%);
}

.dd-c-imagewrapper {
    position: relative;
    z-index: 0;
}

.dd-c-image {
    display: block;
    width: 100%;
}

.dd-c-image.temp-image {
    z-index:1;
}

.dd-c-hotspotswrapper .hotspot {
    position: absolute;
    transform: translate(-50%,-50%);
    line-height: 0;
    cursor: pointer;
}

.dd-c-hotspotswrapper .hotspot {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0px;
    padding: 0;
    border-radius: 99px;
    overflow: hidden;
    background: white;
    border: none;
    font-family: inherit;
    font-size: inherit;
}

.dd-c-hotspotswrapper .hotspot:focus {
    outline: none;
}


@media screen AND (min-width:768px) {
    .c-hotspot-icon-wrapper {
        margin: 3px;
    }
}

.dd-c-hotspotswrapper .hotspot .c-hotspot-text{
    padding-right: 20px;
}

.c-hotspot-icon {
    opacity: 0.68;
    /* width: 100%; */
    width: 40px;
    height: 40px;
    fill:black;
    border-radius: 99px;
}

@media screen AND (hover: hover){
    .hotspot:hover .c-hotspot-icon {
        opacity: 1;
    }
}

@media screen AND (max-width:1024px){
    .c-hotspot-icon {
        width: 35px;
        height: 35px;
    }
}

@media screen AND (max-width:767px){
    .c-hotspot-icon {
        width: 30px;
        height: 30px;
    }
}

/* INSET THE SVG ICONS SLIGHTLY */
svg.c-hotspot-icon path {
    transform: scale(0.65) translate(26%, -26%);
}



.dd-c-hotspotswrapper .hotspot .dd-hotspot-menu {
    position: absolute;
    transform: translate(-50%, -50%) scale(0);
    margin: 0;
    opacity: 0;
    transition: all 350ms ease;
}

.dd-c-hotspotswrapper .hotspot.active {
    z-index: 1;
}

.dd-c-hotspotswrapper .hotspot.active .dd-hotspot-menu {
    transform: translate(25%, -50%);
    opacity: 1;
}

.dd-c-hotspotswrapper .hotspot.right-side.active .dd-hotspot-menu {
    transform: translate(-125%, -50%);
}

.dd-c-hotspotswrapper .svg-wrapper {
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
}

.dd-c-hotspotswrapper .svg-wrapper g path {
    cursor: pointer;
    opacity: 0;
}

.dd-c-hotspotswrapper .underlay {
    display: none;
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
}

.dd-c-hotspotswrapper .underlay.active {
    display: block;
}

.dd-hotspot-menu {
    background-color: white;
    padding: 20px;
    border: 3px solid #000000;
}

.hotspot .dd-hotspot-menu {
    top: 50%;
    left: 50%;
    transform: translate(0px, -50%);
    margin: 0px 36px;
}

.fullscreen-choicebox {
    display: none !important; /* DISABLED  */
    z-index: 1;
}

.fullscreen-choicebox .dd-hotspot-menu {
    position: absolute;
    top:0px;
    bottom:0px;
    left:0px;
    right:0px;
    border-radius: 0px !important;
}

.dd-hotspot-menu td img {
    max-height: 24px;
    max-width: unset;
}

.dd-hotspot-menu table {
    margin:0px;
    border-collapse: collapse;
}

.dd-hotspot-menu table tr th, 
.dd-hotspot-menu table tr td,
.dd-hotspot-menu table tr th:first-child, 
.dd-hotspot-menu table tr td:first-child ,
.dd-hotspot-menu table tr th:last-child, 
.dd-hotspot-menu table tr td:last-child {
    padding: 6px;
    white-space: nowrap;
    border: none;
    cursor: pointer;
}

.dd-hotspot-menu table td ,
.dd-hotspot-menu table td > * {
    vertical-align: middle;
}

.dd-hotspot-menu table tbody>tr:nth-child(odd)>td, 
.dd-hotspot-menu table tbody>tr:nth-child(odd)>th {
    background-color: unset;
}

@media (hover: hover) {
    .dd-hotspot-menu table tbody tr:hover>td,
    .dd-hotspot-menu table tbody tr:hover>th,
    .dd-hotspot-menu table tbody tr:nth-child(odd):hover>td,
    .dd-hotspot-menu table tbody tr:nth-child(odd):hover>th {
        background-color: #e9e9e9; /*VAR*/
    }
}


/* VERSION 2*/
.dd-customizer-version-v2{
    --dd-customizer-card-width: 400px;
    --dd-customizer-card-height: 480px;
    --dd-customizer-card-width-mobile: 270px;
    --dd-customizer-card-height-mobile: 380px;
}


.dd-customizer-version-v2 .fullscreen-choicebox {
    display:block!important;
    backdrop-filter: blur(0px);
    /* transition: all 200ms ease-out; */ /* WAS A BIT JUMPY */
}
.dd-customizer-version-v2 .fullscreen-choicebox.active {
    backdrop-filter: blur(10px);
}
.dd-customizer-version-v2 .fullscreen-choicebox::before {
    content: "";
    background: black;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0.0;
    transition: all 200ms ease-out;
}
.dd-customizer-version-v2 .fullscreen-choicebox.active::before {
    opacity: 0.3;
}
.dd-customizer-version-v2 .fullscreen-choicebox .dd-hotspot-menu {
    display: none;
    pointer-events: none;
    transform: scale(1);
    opacity: 0;
    transition: all 200ms ease-out;
    pointer-events: none;
}
.dd-customizer-version-v2 .fullscreen-choicebox.active .dd-hotspot-menu {
    display: flex;
    opacity: 1;
    transform: scale(1);
}

.dd-customizer-version-v2 .dd-hotspot-menu {
    display: flex;
    background: none;
    border: none;
    width: 100%;
    margin: auto;
    padding: 0;
    margin-bottom: 10px;
}


.dd-c-choicebox-cards {
    display: flex;
    flex-direction: row;
    gap: 30px;
    align-items: center;
    padding-left: 50%;
    padding-right: 50%;
    padding-left: calc( 50% - ( 0.5 * var(--dd-customizer-card-width) ) );
    padding-right: calc( 50% - ( 0.5 * var(--dd-customizer-card-width) ) );
    overflow: scroll hidden;
    height: 98%;
    margin: auto;
}

.absolute-stretch.position-fixed .dd-c-choicebox-cards {
    height: 98vh;
}

.dd-customizer-version-v2 .fullscreen-choicebox.active .dd-c-choicebox-cards {
    pointer-events: auto;
}

.dd-c-card {
    display: flex;
    flex-direction: column;
    color: inherit;
    border: none;
    padding: 0;
    font-size: 1em;
    font-weight: normal;
    white-space: normal;
    text-align: left;

    position: relative;
    width: var(--dd-customizer-card-width);
    min-width: var(--dd-customizer-card-width);
    max-width: 90vw;
    height: var(--dd-customizer-card-height);
    max-height: 80vh;
    border-radius: 20px;
    background: white;
    overflow: hidden;
    cursor: pointer;
    -webkit-box-shadow: rgba(0, 0, 0, 0.2) 4px 12px 16px;
    -moz-box-shadow: rgba(0, 0, 0, 0.2) 4px 12px 16px;
    box-shadow: rgba(0, 0, 0, 0.2) 4px 12px 16px;
    -webkit-tap-highlight-color: transparent; /* For iOS Safari */
    tap-highlight-color: transparent; /* For other browsers */
}

button.dd-c-card:active,
button.dd-c-card:focus,
button.dd-c-card:visited {
    color: inherit;
    background-color: white;
    outline: none;
}

@media screen AND (hover:hover){
    button.dd-c-card:hover {
        color: inherit;
        background-color: white;
    }
}


.dd-c-card-image {
    width: 100%;
    height: 50%;
    max-height: 50%;
    min-height: 50%;
}
body .dd-c-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.dd-c-card-title {
    margin: 0;
    padding: 30px 40px;
    font-weight: 600;
    font-size: 1.6em;
}
.dd-c-card-text {
    padding: 0 40px;
}

.dd-c-image-checkmark {
    display: none;
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translate(-50%, -50%);
    backdrop-filter: blur(3px) contrast(1.2) brightness(150%) saturate(0.67);
    line-height: 0;
    padding: 15px;
    border-radius: 99px;
    fill: #FFFFFF;
    background: #00000038;
    border: 2px solid #ffffff85;
}

.dd-c-card.selected .dd-c-image-checkmark {
    display: block;
}




/* SCROLLBAR */
.dd-c-choicebox-cards::-webkit-scrollbar {
    /* width: 10px; */
    height: 6px;
}
.dd-c-choicebox-cards::-webkit-scrollbar-track {
    background: transparent;
}
.dd-c-choicebox-cards::-webkit-scrollbar-thumb {
    background: grey;
    border: 10px solid transparent;
    border-radius: 10px;
}
@media (hover: hover) {
    .dd-c-choicebox-cards::-webkit-scrollbar-thumb:hover {
        background: white;
    }
}
.dd-c-choicebox-cards {
    scrollbar-color: grey transparent;
    scrollbar-width: thin;
    scrollbar-height: thin;
}


/* DRAG TO SCROLL */
.horizontal-drag-to-scroll {
    cursor: grab;
}
.horizontal-drag-to-scroll.is-grabbing {
    cursor: grabbing;
}
.horizontal-drag-to-scroll .dd-c-card {
    -webkit-tap-highlight-color: transparent; /* For iOS Safari */
    tap-highlight-color: transparent; /* For other browsers */
}




@media screen AND (max-width:768px){
    .dd-c-card {
        width: var(--dd-customizer-card-width-mobile);
        min-width: var(--dd-customizer-card-width-mobile);
        height: var(--dd-customizer-card-height-mobile);
    }
    .dd-c-choicebox-cards {
        padding-left: calc( 50% - ( 0.5 * var(--dd-customizer-card-width-mobile) ) );
        padding-right: calc( 50% - ( 0.5 * var(--dd-customizer-card-width-mobile) ) );
    }
    .dd-c-card-title {
        padding: 20px;
        font-size: 1.0em;
    }
    .dd-c-card-text {
        padding: 0 20px;
        font-size: 0.8em;
    }
}


.dd-c-handle-orientation .not-in-portrait,
.dd-c-handle-orientation .dd-image-spacer  {
    display: block;
}

.dd-c-handle-orientation .hotspot.not-in-portrait {
    display: flex;
}

.dd-c-handle-orientation .only-in-portrait,
.dd-c-handle-orientation .hotspot.only-in-portrait,
.dd-c-handle-orientation .dd-image-spacer-portrait {
    display: none;
}


/* HANDLE PORTRAIT */
@media screen AND (orientation:portrait) {
    .dd-c-handle-orientation .not-in-portrait,
    .dd-c-handle-orientation .hotspot.not-in-portrait,
    .dd-c-handle-orientation .dd-image-spacer {
        display: none;
    }
    .dd-c-handle-orientation .only-in-portrait,
    .dd-c-handle-orientation .dd-image-spacer-portrait {
        display: block;
    }
    .dd-c-handle-orientation .hotspot.only-in-portrait {
        display: flex;
    }
}


/* HANDLE FORCE PORTRAIT */
.dd-c-handle-orientation.dd-c-force-portrait .not-in-portrait,
.dd-c-handle-orientation.dd-c-force-portrait .hotspot.not-in-portrait,
.dd-c-handle-orientation.dd-c-force-portrait .dd-image-spacer  {
    display: none;
}
.dd-c-handle-orientation.dd-c-force-portrait .only-in-portrait,
.dd-c-handle-orientation.dd-c-force-portrait .dd-image-spacer-portrait {
    display: block;
}
.dd-c-handle-orientation.dd-c-force-portrait .hotspot.only-in-portrait {
    display: flex;
}



/* CONTROLS */
.dd-c-controls-wrapper {
    display: flex;
    justify-content: stretch;
    align-items: end;
}

.dd-c-controls {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 10px;
}

.dd-c-controls button {
    display: flex;
    align-items: center;
    justify-content: center;
    color: black;
    fill: black;
    background: white;
    min-width: 36px;
    min-height: 36px;
    border-radius: 99px;
    border:none;
    padding: 0;
    font-size: 1rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    text-align: center;
    white-space: nowrap;
}

.dd-c-controls button:active,
.dd-c-controls button:visited,
.dd-c-controls button:focus {
    color: black;
    fill: black;
    background: white;
    border:none;
    outline: none;
}

/* .dd-c-controls button.active {
    color: white;
    fill: white;
    background: black;
} */

@media screen AND (hover:hover){
    .dd-c-controls button:hover {
        color: black;
        fill: black;
        background: white;
        transform: scale(1.25);
    }
}


.dd-c-controls .dd-c-toggle-hotspots {
    background:white;
    fill:black;
    border-radius: 99px;
}

.dd-c-controls .dd-c-toggle-hotspots .hide-icon {
    display: block;
}

.dd-c-controls .dd-c-toggle-hotspots .unhide-icon {
    display: none;
}

.dd-c-controls .dd-c-toggle-hotspots.active .hide-icon {
    display: none;
}

.dd-c-controls .dd-c-toggle-hotspots.active .unhide-icon {
    display: block;
}

.dd-c-controls .dd-c-fullscreen {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    line-height: 0;
    width: 36px;
    height: 36px;
    border: transparent;
    fill: white;
    background: transparent;
    transition: all 100ms ease-in-out;
    cursor: pointer;
}

.dd-c-controls .dd-c-fullscreen:active,
.dd-c-controls .dd-c-fullscreen:visited,
.dd-c-controls .dd-c-fullscreen:focus {
    fill: white;
    background: transparent;
}

.dd-c-controls .dd-c-fullscreen .fs-enter {
    display: block;
}

.dd-c-controls .dd-c-fullscreen .fs-exit {
    display: none;
}

.dd-c-controls .dd-c-fullscreen.active .fs-enter {
    display: none;
}

.dd-c-controls .dd-c-fullscreen.active .fs-exit {
    display: block;
}

/* FOCUS */
.dd-c-controls button:focus-visible {
    outline: 2px solid black;
    outline-offset: 2px;
}

.dd-c-controls button.dd-c-fullscreen:focus-visible {
    outline-color: white;
}

.dd-c-controls button:not(.active):focus-visible {
    outline-color: white;
}

.dd-customizer .hotspot:focus-visible {
    outline: 2px solid white;
    outline-offset: 2px;
}

.dd-customizer .dd-c-card:focus-visible {
    outline: 2px solid white;
    outline-offset: 4px;
}