/* ----------------------------------------------------------------------------------
    Michael Craig Martin
    Designed & Built by Artlogic in London
---------------------------------------------------------------------------------- */

body {
    padding: 0;
}
body.nav-init,
body.page-popup-active,
body.splash-init {
    overflow: hidden;
}
.clearwithin:after {
    content: '';
    display: block;
    height: 0;
    clear: both;
}
.hidden {
    display: none;
}
.nowrap {
    white-space: nowrap;
}
.hidden-off-screen {
    visibility: hidden !important;
}


/* General
---------------------------------------------------------------------------------- */
    
    body.browser-js-enabled #container {
        opacity: 0;
        transition: opacity 600ms ease-in-out;
    }
    body.browser-js-enabled.first-load-complete:not(.splash-active) #container,
    body.browser-js-enabled.first-load-complete.splash-hide #container {
        opacity: 1;
    }
    
    header {
        position: sticky;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 2000;
        border-bottom: 1px solid #111;
        padding: 18px 25px;
        background: #fff;
        box-sizing: border-box;
        height: 59px;
    }
        .cms-frontend-toolbar-active header {
            top: 28px;
        }
        header:after {
            content: '';
            display: block;
            height: 0;
            clear: both;
        }
        
        #logo { 
            float: left;
        }
            #logo a,
            #logo a:visited {
                display: block;
                text-decoration: none;
                font-size: 1.8rem;
            }
            
        #main_page_heading {
            position: absolute;
            top: 13px;
            left: 50%;
            white-space: nowrap;
            text-overflow: ellipsis;
            max-width: 48vw;
            overflow: hidden;
            transform: translateX(-50%);
            font-size: 2.5rem;
            line-height: 3rem;
            opacity: 0;
            transition: transform 600ms cubic-bezier(.65,.06,.19,.96), opacity 400ms ease-in-out;
        }
            #main_page_heading.active {
                opacity: 1;
            }
            #main_page_heading a,
            #main_page_heading a:visited {
                text-decoration: none;
            }
            #main_page_heading a.overlay-link:after {
                display: inline-block;
                margin: -1px 0 0 10px;
                vertical-align: middle;
                width: 17px;
                height: 9px;
                content: '';
                background: url(/images/down_arrow.svg) center center no-repeat;
                background-size: 16px auto;
                transform: scaleY(1.0001);
                transition: transform 600ms cubic-bezier(.65,.06,.19,.96), opacity 400ms ease-in-out;
            }
            
        #menu {
            float: right;
            transition: opacity 400ms linear;
        }
        .roomview-active #menu,
        .roomview_custom_scene_active #menu,
        .page-popup-active #menu {
            opacity: 0;
            pointer-events: none;
        }
            #menu button {
                padding: 1px 23px 0 0;
                font-size: 1.5rem;
                line-height: 1.8rem;
                border: 0;
                background: none;
                cursor: pointer;
                position: relative;
            }
                #menu button:before {
                    position: absolute;
                    display: block;
                    height: 16px;
                    width: 16px;
                    content: '';
                    right: 0;
                    top: 2px;
                    background: url(/images/menu.svg) center center no-repeat;
                    transition: transform 400ms cubic-bezier(.65,.06,.19,.96), opacity 400ms ease-in-out;
                }
                #menu button:after {
                    position: absolute;
                    display: block;
                    height: 16px;
                    width: 16px;
                    content: '';
                    right: 0;
                    top: 3px;
                    background: url(/images/close.svg) center center no-repeat;
                    opacity: 0;
                    transition: transform 400ms cubic-bezier(.65,.06,.19,.96), opacity 400ms ease-in-out;
                    transform: scale(0.1);
                }
                #menu.open button:before {
                    opacity: 0;
                    transform: scale(0.1);
                }
                #menu.open button:after {
                    opacity: 1;
                    transform: none;
                }
                        #menu_icon {
                            display: none !important;
                            
                            width: 18px;
                            height: 18px;
                            position: absolute;
                            top: 5px;
                            right: 0;
                            margin: 0;
                          -webkit-transform: rotate(0deg);
                          -moz-transform: rotate(0deg);
                          -o-transform: rotate(0deg);
                          transform: rotate(0deg);
                          -webkit-transition: .5s ease-in-out;
                          -moz-transition: .5s ease-in-out;
                          -o-transition: .5s ease-in-out;
                          transition: .5s ease-in-out;
                          cursor: pointer;
                        }
                        #menu_icon span {
                          display: block;
                          position: absolute;
                          height: 2px;
                          width: 100%;
                          background: #111;
                          opacity: 1;
                          left: 0;
                          -webkit-transform: rotate(0deg);
                          -moz-transform: rotate(0deg);
                          -o-transform: rotate(0deg);
                          transform: rotate(0deg);
                          -webkit-transition: .25s ease-in-out;
                          -moz-transition: .25s ease-in-out;
                          -o-transition: .25s ease-in-out;
                          transition: .25s ease-in-out;
                        }
                        #menu_icon span:nth-child(1) {
                          top: 0px;
                        }
                        #menu_icon span:nth-child(2) {
                          top: 9px;
                        }
                        #menu.open #menu_icon span:nth-child(1) {
                          top: 4px;
                          -webkit-transform: rotate(135deg);
                          -moz-transform: rotate(135deg);
                          -o-transform: rotate(135deg);
                          transform: rotate(135deg);
                        }
                        #menu.open #menu_icon span:nth-child(2) {
                          top: 4px;
                          -webkit-transform: rotate(-135deg);
                          -moz-transform: rotate(-135deg);
                          -o-transform: rotate(-135deg);
                          transform: rotate(-135deg);
                        }

    
    .main-navigation-overlay {
        position: fixed;
        z-index: 100;
        top: 59px;
        right: 0;
        bottom: 0;
        width: 100%;
        max-width: 340px;
        background: #fff;
        border-left: 1px solid #111;
        overflow: hidden;
        display: none;
        opacity: 1;
        transform: translateX(100%);
        transition: transform 600ms cubic-bezier(.65,.06,.19,.96), opacity 800ms ease-in-out;
    }
        .cms-frontend-toolbar-active .main-navigation-overlay {
            top: 87px;
        }
        .nav-init .main-navigation-overlay {
            display: block;
        }
        .nav-init.nav-overlay-open .main-navigation-overlay {
            opacity: 1;
            transform: none;
        }
        
        
        .main-navigation-overlay ul {
            margin: 0;
            padding: 0;
            list-style: none;
        }
            .main-navigation-overlay ul li {
                width: 100%;
                display: block;
                overflow: hidden;
                padding: 0;
                margin: 0;
                border-bottom: 1px solid #111;
            }
                .main-navigation-overlay ul li a,
                .main-navigation-overlay ul li a:visited {
                    padding: 19px 15px 18px;
                    display: block;
                    font-size: 2.0rem;
                    line-height: 2.2rem;
                    text-decoration: none;
                    transition: transform 300ms cubic-bezier(.65,.06,.19,.96);
                }
                .device-desktop .main-navigation-overlay ul li a:hover {
                    transform: translateX(5px);
                }
        
        .main-navigation-overlay ul.main-navigation {
            transition: transform 600ms cubic-bezier(.65,.06,.19,.96), opacity 800ms ease-in-out;
            width: 100%;
            position: absolute;
            background: #fff;
            z-index: 1;
            top: 0;
            left: 0;
            max-height: 100%;
            overflow: auto;
            border-right: 1px solid #111;
            min-height: 100%;
        }
            .nav-init.nav-overlay-open.subnav-overlay-open .main-navigation-overlay ul.main-navigation {
                transform: translateX(-100%);
            }
            .main-navigation-overlay ul.main-navigation li a {
                font-size: 2.3rem;
                line-height: 2.5rem;
            }
        
        .sub-navigation-overlay {
            width: 100%;
            position: absolute;
            min-height: 100%;
            z-index: 2;
            max-height: 100%;
            background: #fff;
            overflow: auto;
            top: 0;
            left: 0;
            display: none;
            opacity: 1;
            transform: translateX(100%);
            transition: transform 600ms cubic-bezier(.65,.06,.19,.96), opacity 800ms ease-in-out;
        }
            .sub-navigation-overlay.active-init {
                display: block;
            }
            .sub-navigation-overlay.active-init.active {
                opacity: 1;
                transform: none;
            }
            .subnav-overlay-shortcut .sub-navigation-overlay {
                transition: none;
            }
        
        #artwork-overlay {
            position: fixed;
            top: 59px;
            right: 340px;
            left: 0;
            bottom: 0;
            background: #fff;
            display: none;
            pointer-events: none;
            opacity: 0;
            transition: opacity 200ms linear;
        }
            .cms-frontend-toolbar-active #artwork-overlay {
                top: 87px;
            }
            .nav-init #artwork-overlay {
                display: block;
            }
            .subnav-overlay-open.nav-overlay-open #artwork-overlay {
                opacity: 1;
                pointer-events: auto;
                transition: opacity 500ms linear;
                transition-delay: 500ms;
            }
            .subnav-overlay-open.subnav-overlay-shortcut.nav-overlay-open #artwork-overlay {
                transition-delay: 400ms;
            }
                
            #artwork-overlay .item {
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                opacity: 0;
                transition: opacity 400ms ease-in-out;
            }   
                #artwork-overlay .item.active {
                    opacity: 1;
                }
                #artwork-overlay .item .image {
                    position: absolute;
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 0;
                }
                    #artwork-overlay .item .image img {
                        position: absolute;
                        top: 0;
                        left: 0;
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                    }

    footer {
        width: 100%;
        border-top: 1px solid #111;
        padding: 60px 25px;
        background: #fff;
        box-sizing: border-box;
    }
        footer a,
        footer a:visited {
            text-decoration: none;
        }
        
    #cookie_preferences_form fieldset {
        border: none;
    }
    
    #cookie_preferences_form .button a:hover {
        color: #fff;
    }
     
     
/* Video overlay
---------------------------------------------------------------------------------- */
     
    .splash-init #container {
        opacity: 0;
        transition: none;
    }
        
    #video_overlay {
        position: fixed;
        z-index: 4000;
        top: 0;
        left: 0;
        height: 100vh;
        right: 0;
        display: none;
        cursor: pointer;
        overflow: hidden;
        transition: height 1000ms cubic-bezier(.65,.06,.19,.96), opacity 2500ms cubic-bezier(.18, 1, .21, 1);
    }
    .splash-init #video_overlay {
        display: block;
    }
    .splash-hide #video_overlay {
        height: 0;
    }
        #video_overlay video {
            width: 100%;
            height: 100vh;
            object-fit: cover;
            position: relative;
            z-index: 1;
            opacity: 0;
            transition: opacity 1200ms linear;
        }
            .splash-video-play #video_overlay video {
                opacity: 1;
            }
        #video_overlay .border {
            position: absolute;
            z-index: 2;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            border: 14px solid #fff;
            box-sizing: border-box;
            
            display: none;
        }
        #video_overlay .overlay {
            position: absolute;
            z-index: 3;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            display: flex;
            align-items: center;
            justify-content: space-between;
            box-sizing: border-box;
            padding: 80px 100px;
        }
            #video_overlay .overlay .logo {
                font-size: 10.0rem;
                line-height: 9.5rem;
                letter-spacing: -0.06em;
                padding: 0;
                
                transform: translate3d(40px, 0, 0);
                opacity: 0;
                transition: transform 3500ms cubic-bezier(.18, 1, .21, 1), opacity 2500ms cubic-bezier(.18, 1, .21, 1);
            }
                .splash-active #video_overlay .overlay .logo {
                    transform: none;
                    opacity: 1;
                }
                .splash-hide #video_overlay .overlay .logo {
                    transform: translate3d(-100px, 0, 0);
                    transition: transform 1200ms cubic-bezier(.65,.06,.19,.96), opacity 2500ms cubic-bezier(.18, 1, .21, 1);
                    
                }
            #video_overlay .overlay .link {
                opacity: 0;
                transition: opacity 3500ms cubic-bezier(.18, 1, .21, 1);
                transition-delay: 0;
            }
                .splash-active #video_overlay .overlay .link {
                    transition-delay: 2500ms;
                    opacity: 1;
                }
                #video_overlay .overlay .link a,
                #video_overlay .overlay .link a:visited {
                    text-decoration: none;
                    font-size: 2.2rem;
                    line-height: 2.2rem;
                }
                #video_overlay .overlay .link a:after {
                    height: 15px;
                    width: 22px;
                    margin: 0 0 0 10px;
                    display: inline-block;
                    content: '';
                    background: url(/images/arrow_right_large.svg) center center no-repeat;
                }


/* Page sections
---------------------------------------------------------------------------------- */
    
    section {
        position: relative;
        z-index: 1;
        width: 100%;
        border-top: 1px solid #111;
        margin-top: -1px;
    }
    section.no-heading {
        margin-top: 0;
    }
    section.no-border {
        border-top: 0;
        margin-top: 0;
    }
    section:first-child {
        margin-top: 0;
        border-top: 0;
    }
    section:last-child {
        border-bottom: 0 !important;
    }
    
    .basic-text-container {
        box-sizing: border-box;
        padding: 100px 110px;
        box-sizing: border-box;
        min-height: 100vh;
    }
    
/* Page section layouts
---------------------------------------------------------------------------------- */
    
    .section-heading {
        width: 100%;
        border-bottom: 1px solid #111;
        padding: 16px 25px;
        background: #fff;
        box-sizing: border-box;
    }
    @media screen and (min-width: 768px) {
        .section-heading.mirrored-page-heading {
            position: absolute !important;
            height: 1px !important;
            width: 1px !important;
            overflow: hidden !important;
            clip: rect(1px 1px 1px 1px);
            clip: rect(1px, 1px, 1px, 1px);
            white-space: nowrap !important;
            display: block!important;
            margin: 0!important;
            padding: 0!important;
        }
    }
        .section-heading,
        .section-heading.main-page-heading {
            position: sticky;
            top: 58px;
            z-index: 300;
        }
        .section-heading.not-fixed,
        .section-heading.not-fixed.main-page-heading {
            position: static;
        }
            .cms-frontend-toolbar-active .section-heading,
            .cms-frontend-toolbar-active .section-heading.main-page-heading {
                top: 87px;
            }
            .section-heading h1,
            .section-heading h2 {
                margin: 0;
                padding: 0;
                font-size: 2.5rem;
                line-height: 3.0rem;
            }
            .section-heading a,
            .section-heading a:visited {
                width: 100%;
                text-decoration: none;
                display: block;
            }
            
            .section-heading:not(.no-ui) a:after {
                display: block;
                float: right;
                margin: 9px 0 0 10px;
                vertical-align: middle;
                width: 17px;
                height: 9px;
                content: '';
                background: url(/images/down_arrow.svg) center center no-repeat;
                background-size: 16px auto;
                transform: rotate(-90deg);
                transition: transform 600ms cubic-bezier(.65,.06,.19,.96), opacity 400ms ease-in-out;
            }
            .section-heading.mirrored-page-heading:not(.no-ui) a:after {
                transform: rotate(0);
            }
            
            .section-heading .page-description {
                padding: 12px 0 0;
            }
            
        .section-heading.inview_element h2 {
            transform: translate3d(20px, 0, 0);
            opacity: 0;
            transition: transform 2000ms cubic-bezier(.18, 1, .21, 1), opacity 2500ms cubic-bezier(.18, 1, .21, 1);
        }
            .section-heading.inview_element.visible h2 {
                transform: none;
                opacity: 1;
            }
        
        
    
/* Split hero
---------------------------------------------------------------------------------- */
    
    .section-type-split-hero {
        border-bottom: 1px solid #111;
        display: flex;
        min-height: calc(100vh - 59px);
        overflow: hidden;
    }
        .section-type-split-hero .image {
            float: right;
            width: 70vw;
            position: relative;
            z-index: 1;
            max-height: calc(100vh - 59px);
            border-left: 1px solid #111;
        }
        .section-type-split-hero.variant-image-contained .image {
            width: calc(100vh - 59px);
            max-width: 56%;
            flex-shrink: 0;
        }
            .section-type-split-hero .item {
                height: 100%;
            }
                .section-type-split-hero .item div {
                    height: 100%;
                }
                .section-type-split-hero .item a {
                    display: block;
                    position: absolute;
                    top: 0;
                    bottom: 0;
                    left: 0;
                    right: 0;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                }
                .section-type-split-hero .image .item img {
                    height: 100%;
                    width: 100%;
                    object-fit: cover;
                    display: block;
                }
                .section-type-split-hero .image.image-contain .item img {
                    height: calc(100% - 80px);
                    width: calc(100% - 80px);
                    object-fit: contain;
                    display: block;
                }
                @media screen and (max-width: 900px) {
                    .section-type-split-hero.variant-image-contained .image {
                        width: 100%;
                        max-width: 100%;
                    }
                    .section-type-split-hero .image.image-contain .item img {
                        height: 100%;
                        width: 100%;
                        object-fit: cover;
                    }
                }
        .section-type-split-hero .content {
            float: left;
            width: auto;
            display: flex;
            align-items: center;
            position: relative;
            z-index: 2;
        }
            .section-type-split-hero .content .content_inner {
                padding: 50px 40px 50px 50px;
                margin-top: -10%;
                width: 100%;
                box-sizing: border-box;
            }
                .section-type-split-hero .content h1 {
                    font-size: 10.0rem;
                    line-height: 9.5rem;
                    letter-spacing: -0.06em;
                    padding: 0;
                    
                    transform: translate3d(40px, 0, 0);
                    opacity: 0;
                    transition: transform 3500ms cubic-bezier(.18, 1, .21, 1), opacity 2500ms cubic-bezier(.18, 1, .21, 1);
                }
                    .section-type-split-hero.visible .content h1 {
                        transform: none;
                        opacity: 1;
                    }
            .section-type-split-hero .content .scroll_link {
                position: absolute;
                bottom: 35px;
                left: 35px;
            }
                .section-type-split-hero .content .scroll_link a,
                .section-type-split-hero .content .scroll_link a:visited {
                    text-decoration: none;
                }
                .section-type-split-hero .content .scroll_link a:before {
                    display: inline-block;
                    margin: -3px 10px 0 0;
                    vertical-align: middle;
                    width: 17px;
                    height: 9px;
                    content: '';
                    background: url(/images/down_arrow.svg) center center no-repeat;
                }
            
              
/* Hero full bleed
---------------------------------------------------------------------------------- */
           
    .section-type-hero {
        height: 58vh;
        min-height: 300px;
        width: 100%;
        overflow: hidden;
    }
        .section-type-hero img {
            height: 100%;
            width: 100%;
            object-fit: cover;
        }     
        @supports (clip: rect(0, auto, auto, 0)) {
            .section-type-hero .image_parallax {
                clip: rect(0, auto, auto, 0);
                position: absolute;
                width: 100%;
                height: 100%;
                overflow: hidden;
            }
            .section-type-hero .image_parallax_inner {
                position:fixed;
                height: 58vh;
                min-height: 300px;
                width: 100%;
                z-index: 0;
                transform: translateZ(0);
            }
        }
           
                   
/* Hero video
---------------------------------------------------------------------------------- */
           
    .section-type-hero-video {
        width: 100%;
        box-sizing: border-box;
        padding: 80px 110px 0;
    }       
    
              
/* Description columns
---------------------------------------------------------------------------------- */
           
    .description-columns {
        display: flex;
        align-items: flex-start;
    }   
        .description-columns > div {
            flex-basis: 50%;
            box-sizing: border-box;
            padding: 0 20px 0 0;
        }
    
              
/* Content columns
---------------------------------------------------------------------------------- */
           
    .section-type-content-columns {
        width: 100%;
        border: 0;
    }
        .section-type-content-columns .inner {
            padding: 80px 110px 110px;
            display: flex;
            align-items: flex-start;
        }
            .section-type-content-columns .content-header {
                width: 50%;
                box-sizing: border-box;
                padding: 0 60px 0 0;
            }
                .section-type-content-columns .content-header h1 {
                    font-size: 5.5rem;
                    line-height: 5.5rem;
                    letter-spacing: -0.03em;
                    
                    border-bottom: 1px solid #111;
                    padding: 0 0 22px 0;
                    margin: 0 0 22px;
                    float: left;
                }
                .section-type-content-columns .content-header h1:last-child {
                    border-bottom: 0;
                    padding-bottom: 0;
                }
                .section-type-content-columns .content-header div {
                    clear: both;
                }
                .section-type-content-columns .content-header .buttons {
                    padding-top: 20px;
                }
                .section-type-content-columns .content-header .buttons.has-specifications {
                    padding-top: 40px;
                }
            .section-type-content-columns .content-main {
                width: 50%;
                padding: 4px 0 0;
                font-size: 1.75rem;
                line-height: 2.9rem;
            }
           
            
/* Full content panel
---------------------------------------------------------------------------------- */
    
    .section-type-full-content {
        border-bottom: 1px solid #111;
        min-height: calc(100vh - 59px);
    }
        .section-type-full-content .area {
            border-bottom: 1px solid #111;
            display: flex;
            min-height: calc(100vh - 59px);
            position: relative;
        }
        .section-type-full-content .area:last-child {
            border-bottom: none;
        }
            .section-type-full-content .image {
                float: left;
                width: 50vw;
                position: relative;
                z-index: 1;
                max-height: calc(100vh - 59px);
                position: sticky;
                top: 121px;
            }
                .section-type-full-content.no-heading .image {
                    top: 59px;
                }
                .section-type-full-content .image img {
                    height: 100%;
                    width: 100%;
                    object-fit: cover;
                }
            .section-type-full-content .content {
                float: right;
                width: auto;
                width: 50vw;
                display: flex;
                flex-direction: column;
                align-items: center;
                position: relative;
                z-index: 2;
            }
                .section-type-full-content .content .content_inner {
                    padding: 50px 40px 50px 50px;
                    width: 100%;
                    box-sizing: border-box;
                    border-bottom: 1px solid #111;
                }
                .section-type-full-content .content .content_inner:last-child {
                    border-bottom: none
                }
                
    
/* Full size grid section
---------------------------------------------------------------------------------- */
    
    .section-type-full-size {
        
    }
        .section-type-full-size .item {
            width: 100%;
            clear: both;
            min-height: 100vh;
            border-bottom: 1px solid #111;
            display: flex;
            flex-direction: row-reverse;
        }
        .section-type-full-size .item {
            width: 100%;
            clear: both;
            min-height: 100vh;
            border-bottom: 1px solid #111;
            display: flex;
            flex-direction: row-reverse;
        }
            .section-type-full-size .item.no-image {
                flex-direction: row;
            }
        .section-type-full-size .item:last-child {
            border-bottom: 0;
        }
        .section-type-full-size .item:after {
            content: '';
            display: block;
            height: 0;
            clear: both;
        }
            .section-type-full-size .item .image {
                float: right;
                width: 62%;
                position: relative;
                max-height: 100vh;
                border-left: 1px solid #111;
            }
            .section-type-full-size .item .image.click_event_added {
                cursor: pointer;
            }
                .section-type-full-size .item .image div {
                    position: absolute;
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 0;
                    background: center center no-repeat;
                    background-attachment: fixed;
                    background-size: cover;
                }
                .section-type-full-size .item .image img {
                    height: 100%;
                    width: 100%;
                    object-fit: cover;
                }
                .section-type-full-size .item.disable-crop .image {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                }
                .section-type-full-size .item.disable-crop .image img {
                    height: calc(100% - 80px);
                    width: calc(100% - 80px);
                    object-fit: contain;
                }
            .section-type-full-size .item .content {
                float: left;
                width: 38%;
                display: flex;
                align-items: center;
            }
                .section-type-full-size .item .content .content_inner {
                    padding: 50px 0 50px 50px;
                    width: 100%;
                    box-sizing: border-box;
                    overflow: hidden;
                }
                .section-type-full-size .item .content a {
                    text-decoration: none;
                    display: block;
                }
                .section-type-full-size .item .content h3 {
                    font-size: 5.5rem;
                    line-height: 5.5rem;
                    letter-spacing: -0.03em;
                    
                    border-bottom: 1px solid #111;
                    padding: 0 30px 22px 0;
                    margin: 0 0 22px;
                    
                    transform: translate3d(40px, 0, 0);
                    opacity: 0;
                    transition: transform 3500ms cubic-bezier(.18, 1, .21, 1), opacity 2500ms cubic-bezier(.18, 1, .21, 1);
                }
                .section-type-full-size .item .content .dates,
                .section-type-full-size .item .content .location,
                .section-type-full-size .item .content .description,
                .section-type-full-size .item .content .buttons {
                    padding: 0 30px 0 0;
                    
                    transform: translate3d(40px, 0, 0);
                    opacity: 0;
                    transition: transform 3500ms cubic-bezier(.18, 1, .21, 1), opacity 2500ms cubic-bezier(.18, 1, .21, 1);
                    transition-delay: 300ms;
                }
                
                .section-type-full-size .item .content .visible h3,
                .section-type-full-size .item .content .visible .dates,
                .section-type-full-size .item .content .visible .location,
                .section-type-full-size .item .content .visible .description,
                .section-type-full-size .item .content .visible .buttons {
                    transform: none;
                    opacity: 1;
                }
                
                .section-type-full-size .item .content .buttons {
                    padding: 40px 0 0;
                }
                    .section-type-full-size .item .content .buttons > div {
                        display: inline-block;
                        vertical-align: middle;
                        margin: 0 20px 0 0;
                    }
    
    
/* Full bleed panel
---------------------------------------------------------------------------------- */
    
    .layout-panel-full-bleed {
        width: 100%;
        height: 100vh;
        min-height: 300px;
        position: relative;
        background: center center no-repeat;
        background-size: cover;
        background-attachment: fixed;
    }
        .layout-panel-full-bleed img {
            height: 100%;
            width: 100%;
            object-fit: cover;
        } 
        @supports (clip: rect(0, auto, auto, 0)) {
            .layout-panel-full-bleed .image_parallax {
                clip: rect(0, auto, auto, 0);
                position: absolute;
                width: 100%;
                height: 100%;
                overflow: hidden;
            }
            .layout-panel-full-bleed .image_parallax_inner {
                position:fixed;
                top: 0;
                height: 100vh;
                min-height: 300px;
                width: 100%;
                z-index: 0;
                transform: translateZ(0);
            }
        }
    
    
/* Full width video
---------------------------------------------------------------------------------- */
    
    .layout-panel-full-video {
        width: 100%;
        height: 100vh;
        min-height: 300px;
        padding: 0 0 80px;
        box-sizing: border-box;
        position: relative;
    }
        .layout-panel-full-video video {
            height: 100%;
            width: 100%;
            object-fit: cover;
        } 
        @supports (clip: rect(0, auto, auto, 0)) {
            .layout-panel-full-video .image_parallax {
                clip: rect(0, auto, auto, 0);
                position: absolute;
                width: 100%;
                height: 100%;
                overflow: hidden;
            }
            .layout-panel-full-video .image_parallax_inner {
                position:fixed;
                top: 0;
                height: 100vh;
                min-height: 300px;
                width: 100%;
                z-index: 0;
                transform: translateZ(0);
            }
        }
    
    
/* Full width image
---------------------------------------------------------------------------------- */
    
    .layout-panel-width-image {
        width: 100%;
        padding: 0 110px 100px;
        max-width: 155vh;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .layout-panel-width-image:first-child,
    .section-heading + .layout-panel-width-image {
        padding-top: 100px;
    }
        .layout-panel-width-image .image {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .layout-panel-width-image img {
            max-height: 95vh;
        }
        .layout-panel-width-image video {
            width: 100%;
        }
    
    
/* Records lists
---------------------------------------------------------------------------------- */

    .records-grid-container {
        box-sizing: border-box;
        padding: 100px 110px;
        
        margin: 0 auto;
    }
    .records-grid-container.records-grid-container-artworks {
        max-width: 155vh;
    }
    .no-border .records-grid-container:first-child {
        padding-top: 0;
    }
    
        
    /* Records list - feature grid
    ---------------------------------------------------------------------------------- */
        
        .records-grid.feature-grid {
            
        }
            .records-grid.feature-grid:after {
                content: '';
                display: block;
                height: 0;
                clear: both;
            }
                .records-grid.feature-grid .item {
                    box-sizing: border-box;
                    width: 100%;
                    padding: 0 0 80px 0;
                    transform: translate3d(0, 150px, 0);
                    opacity: 0;
                    transition: transform 2000ms cubic-bezier(.18, 1, .21, 1), opacity 2500ms cubic-bezier(.18, 1, .21, 1);
                } 
                .records-grid.feature-grid .item.animate-from-bottom {
                    transition: transform 4000ms cubic-bezier(.18, 1, .21, 1), opacity 2500ms cubic-bezier(.18, 1, .21, 1);
                }
                .records-grid.feature-grid .group:nth-of-type(2) .item.animate-from-bottom {
                    transition-delay: 400ms;
                }
                .records-grid.feature-grid .item.animate-from-top {
                    transition: transform 2000ms cubic-bezier(.18, 1, .21, 1), opacity 2500ms cubic-bezier(.18, 1, .21, 1);
                    transform: translate3d(0, -50px, 0);
                }
                .records-grid.feature-grid .item.visible {
                    opacity: 1;
                    transform: none;
                    display: flex;
                    align-items: center;
                }
                    .records-grid.feature-grid .item .image {
                        width: 50%;
                        float: left;
                        margin: 0 0 25px;
                    }
                        .records-grid.feature-grid .item .image.click_event_added {
                            cursor: pointer;
                        }
                        .records-grid.feature-grid .item .image > img {
                            display: block;
                            max-width: 100%;
                            width: 100%;
                        }
                    .records-grid.feature-grid .item .content {
                        display: block;
                        width: 50%;
                        float: left;
                    }
                        .records-grid.feature-grid .item .content_inner {
                            display: block;
                            max-width: 500px;
                            padding: 0 0 0 100px;
                            box-sizing: border-box;
                        }
                        .records-grid.feature-grid .item .content a {
                            display: block;
                        }
                        .records-grid.feature-grid .item .content a,
                        .records-grid.feature-grid .item .content a:visited {
                            text-decoration: none;
                        }
                        .records-grid.feature-grid .item .content h3 {
                            margin: 0 0 20px;
                            padding: 0 0 20px;
                            font-size: 3.4rem;
                            line-height: 3.6rem;
                            border-bottom: 1px solid #111;
                        }
                        .records-grid.feature-grid .item .content h1 {
                            margin: 0 0 20px;
                            padding: 0 0 20px;
                            border-bottom: 1px solid #111;
                            font-size: 5.5rem;
                            line-height: 5.5rem;
                            letter-spacing: -0.03em;
                        }
                        .records-grid.feature-grid .item .content .description {
                            font-size: 1.4rem;
                            line-height: 2.0rem;
                        }
                        .records-grid.feature-grid .item .content .content_main {
                            
                        }
                        .records-grid.feature-grid .item .content .buttons {
                            padding: 40px 0 0;
                        }
                            .records-grid.feature-grid .item .content .buttons > div {
                                display: inline-block;
                                vertical-align: middle;
                                margin: 0 20px 0 0;
                            }
                        
                
    /* Records list - stagger list
    ---------------------------------------------------------------------------------- */
        
        .records-grid.stagger-grid {
            width: auto;
            margin-right: -110px;
        }
            .records-grid.stagger-grid:after {
                content: '';
                display: block;
                height: 0;
                clear: both;
            }
                .records-grid.stagger-grid .group {
                    width: 50%;
                    float: left;
                }
                .records-grid.stagger-grid .group:nth-of-type(2) {
                    padding-top: 80px;
                }
                    .records-grid.stagger-grid .item {
                        box-sizing: border-box;
                        width: 100%;
                        padding: 0 110px 80px 0;
                        transform: translate3d(0, 150px, 0);
                        opacity: 0;
                        transition: transform 2000ms cubic-bezier(.18, 1, .21, 1), opacity 2500ms cubic-bezier(.18, 1, .21, 1);
                    } 
                    .records-grid.stagger-grid .item:last-child {
                        padding-bottom: 0 !important;
                    } 
                    .records-grid.stagger-grid .item.animate-from-bottom {
                        transition: transform 4000ms cubic-bezier(.18, 1, .21, 1), opacity 2500ms cubic-bezier(.18, 1, .21, 1);
                    }
                    .records-grid.stagger-grid .group:nth-of-type(2) .item.animate-from-bottom {
                        transition-delay: 400ms;
                    }
                    .records-grid.stagger-grid .item.animate-from-top {
                        transition: transform 2000ms cubic-bezier(.18, 1, .21, 1), opacity 2500ms cubic-bezier(.18, 1, .21, 1);
                        transform: translate3d(0, -50px, 0);
                    }
                    .records-grid.stagger-grid .item.visible {
                        opacity: 1;
                        transform: none;
                    }
                        .records-grid.stagger-grid .item .image {
                            width: 100%;
                            margin: 0 0 25px;
                            display: flex;
                            align-items: center;
                        }
                        .records-grid.stagger-grid .item.content-empty .image {
                            margin-bottom: 0;
                        }
                            .records-grid.stagger-grid .item .image.click_event_added {
                                cursor: pointer;
                            }
                            .records-grid.stagger-grid .item .image > img {
                                display: block;
                                max-width: 100%;
                                width: 100%;
                            }
                            .records-grid.stagger-grid .item .image.loading > img {
                                position: absolute;
                            }
                            .records-grid.stagger-grid .item .image.has_video {
                                min-height: 0 !important;
                                position: relative;
                                padding-top: 70%;
                            }
                                .records-grid.stagger-grid .item .image.has_video img {
                                    width: 100%;
                                    height: 100%;
                                    object-fit: cover;
                                    position: absolute;
                                    top: 0;
                                    left: 0;
                                    z-index: 0;
                                }
                                .records-grid.stagger-grid .item .image video {
                                    width: 100%;
                                    height: 100%;
                                    object-fit: cover;
                                    position: absolute;
                                    top: 0;
                                    left: 0;
                                    transition: opacity 800ms ease-in-out;
                                    opacity: 0;
                                    z-index: 1;
                                }
                                    .records-grid.stagger-grid .item .image video.can-play {
                                        opacity: 1;
                                    }
                                    .records-grid.stagger-grid .item .image video.click_event_added {
                                        cursor: pointer;
                                    }
                                    
                        .records-grid.stagger-grid .item .content {
                            
                        }
                        .records-grid.stagger-grid.stagger-grid-artworks .item .content {
                            display: flex;
                            justify-content: space-between;
                            position: relative;
                        }
                        /*
                            body:not(.tabbing-detected) .records-grid.stagger-grid .item .content.content-empty {
                                height: 0;
                            }
                        */
                            .records-grid.stagger-grid .item .content a {
                                display: block;
                                max-width: 400px;
                                width: 100%;
                            }
                            .records-grid.stagger-grid .item .content a,
                            .records-grid.stagger-grid .item .content a:visited {
                                text-decoration: none;
                            }
                            .records-grid.stagger-grid .item .content h3 {
                                margin: 0 0 20px;
                                padding: 0 0 20px;
                                font-size: 1.9rem;
                                line-height: 2.2rem;
                                border-bottom: 1px solid #111;
                            }
                                .records-grid.stagger-grid .item .content.has-buttons h3 {
                                    padding-right: 40px;
                                }
                            .records-grid.stagger-grid .item .content .description {
                                font-size: 1.4rem;
                                line-height: 2.0rem;
                            }
                            
                            .records-grid.stagger-grid .item .content .video_button {
                                flex-shrink: 0;
                                width: 20px;
                                height: 20px;
                                padding: 0;
                                margin: 2px 0 0;
                                display: inline-block;
                                position: relative;
                                background: url(/images/play_small.svg) center center no-repeat;
                                transition: opacity 200ms linear;
                                text-indent: -9999px;
                                border: 0;
                                -webkit-appearance: none;
                                cursor: pointer;
                                margin-left: 15px;
                            }
                            
                            .records-grid.stagger-grid .item .content .roomview_button {
                                flex-shrink: 0;
                                width: 20px;
                                height: 20px;
                                padding: 0;
                                margin: 2px 0 0;
                                display: inline-block;
                                position: relative;
                                background: url(/images/roomview-icon.png) center center no-repeat;
                                background-size: 22px auto;
                                transition: opacity 200ms linear;
                                text-indent: -9999px;
                                border: 0;
                                -webkit-appearance: none;
                                cursor: pointer;
                                margin-left: 15px;
                                
                                display: none;
                            }
                            .device-handheld .records-grid.stagger-grid .item .content .roomview_button {
                                display: block;
                            }
                            .records-grid.stagger-grid .item .content .list_content_buttons {
                                position: absolute;
                                top: 0;
                                right: 0;
                            }
                            @media screen and (max-width: 767px) {
                                .records-grid.stagger-grid .item .content .roomview_button {
                                    display: block;
                                }
                            }
                                .records-grid.stagger-grid .item .content .roomview_button:after {
                                    display: block;
                                    border-top: 1px solid #111;
                                    width: 26px;
                                    content: '';
                                    transition: transform 300ms cubic-bezier(.65,.06,.19,.96);
                                    transform: rotate(-41deg) scaleX(0);
                                    position: absolute;
                                    top: 10px;
                                    left: -3px;
                                }
                                    .records-grid.stagger-grid .item.view_in_room_active .content .roomview_button:after {
                                        transform: rotate(-41deg) scaleX(1);
                                    }
                
                        .records-grid.stagger-grid .item.item-type-video .image {
                            position: relative;
                        }
                            .records-grid.stagger-grid .item.item-type-video .image:after {
                                content: '';
                                background: url(/images/video-icon.svg) center center no-repeat rgba(0,0,0,0.4);
                                display: block;
                                position: absolute;
                                z-index: 2;
                                top: 0;
                                left: 0;
                                right: 0;
                                bottom: 0;
                            }
                            .records-grid.stagger-grid .item.item-type-video .image img {
                                position: relative;
                                z-index: 1;
                            }
        
        
                /* 3 column grid variant ---------------------------------------------------------------------------------- */
                
                @media screen and (min-width: 901px) {
                    .records-grid-container.records-grid-container-artworks.variant-columns-3 {
                        max-width: none;
                    }
                    .variant-columns-3 .records-grid.stagger-grid {
                        margin-right: -60px;
                    }
                    .variant-columns-3 .records-grid.stagger-grid .group {
                        width: 33.33%;
                        float: left;
                        padding-top: 0;
                    }
                    .variant-columns-3 .records-grid.stagger-grid .item {
                        padding-right: 60px;
                    }
                }
                
                
    
/* Grid hover view in room
---------------------------------------------------------------------------------- */
    
    .image.has_view_in_room_hover {
        position: relative;
        overflow: hidden;
    }
    .view_in_room_hover_container {
        width: 100%;
        position: absolute;
        z-index: 200;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        min-width: 100%;
        height: auto;
        transform: scale(1.05);
        opacity: 0;
        transition: opacity 400ms linear, transform 500ms cubic-bezier(.18, 1, .21, 1);
    }
        .view_in_room_hover_container .view_in_room_hover_container_scene {
            transform: translate(-50%, -50%);
            width: 100%;
            background: url(/images/scenes/wall-bg2.jpg) center center no-repeat;
            background-size: auto 100%;
            position: absolute;
            z-index: 200;
            top: 50%;
            left: 50%;
            min-width: 100%;
        }
            .view_in_room_hover_container .view_in_room_hover_container_scene:before {
                padding-top: 67%;
                width: 100%;
                height: 0;
                content: '';
                display: block;
            }
            .view_in_room_hover_container .view_in_room_hover_container_scene img {
                position: absolute !important;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                /*box-shadow: 2px 2px 15px rgb(0 0 0 / 30%);*/
                filter: drop-shadow(rgba(0, 0, 0, 0.1) 0px 0.8px 0.8px) drop-shadow(rgba(0, 0, 0, 0.1) 0px 1.6px 1.6px) drop-shadow(rgba(0, 0, 0, 0.1) 0px 3.3px 3.3px) drop-shadow(rgba(0, 0, 0, 0.1) 0px 4.9px 4.9px) drop-shadow(rgba(0, 0, 0, 0.1) 0px 6.6px 6.6px);
            }
        .view_in_room_hover_container:after {
            content: '';
            display: block;
            background: url(/images/scenes/chair_white.png) 0 98% no-repeat;
            background-size: auto 30%;
            background: url(/images/scenes/mobler_chair2.png) 0 98% no-repeat;
            background-size: auto 30%;
            
            position: absolute;
            z-index: 200;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
        }
            .view_in_room_hover_container.view_in_room_items_disabled:after,
            .view_in_room_hover_container.view_in_room_custom_scene_enabled:after {
                display: none;
            }
        .view_in_room_hover_container .view_in_room_custom_scene {
            width: 100%;
            position: absolute;
            z-index: 200;
            left: 0;
            right: 0;
            bottom: 0;
            top: 0;
            background: #fff;
        }
            .view_in_room_hover_container .view_in_room_custom_scene img {
                width: 100%;
                position: absolute;
                left: 0;
                top: 0;
                height: 100%;
                object-fit: contain;
            }
        
        .view_in_room_active .image.has_view_in_room_hover .view_in_room_hover_container {
            opacity: 1;
            transform: scale(1.001);
            transition: opacity 400ms linear, transform 5000ms cubic-bezier(.18, 1, .21, 1);
        }
    @media screen and (min-width: 768px) {
        .device-desktop .image.has_view_in_room_hover:not(.view_in_room_hover_reversed):hover .view_in_room_hover_container,
        .device-desktop .image.has_view_in_room_hover.view_in_room_hover_reversed .view_in_room_hover_container {
            opacity: 1;
            transform: scale(1.001);
            transition: opacity 400ms linear, transform 5000ms cubic-bezier(.18, 1, .21, 1);
        }
        .device-desktop .image.has_view_in_room_hover.view_in_room_hover_reversed:hover .view_in_room_hover_container {
            transform: scale(1.05);
            opacity: 0;
        }
        .device-desktop .image.has_view_in_room_hover.view_in_room_hover_reversed .view_in_room_hover_container:after {
            display: none;
        }
        .device-desktop .records-grid.stagger-grid .item.view_in_room_reversed .content .roomview_button {
            display: none;
        }
    }
      
        
/* Artwork detail
---------------------------------------------------------------------------------- */

    .artwork-detail {
        height: calc(100vh - 59px);
        min-height: 400px;
        position: relative;
        transition: transform 600ms cubic-bezier(.65,.06,.19,.96), opacity 400ms ease-in-out;
    }
        .artwork-detail .image_container {
            position: absolute;
            z-index: 5;
            top: 40px;
            bottom: 40px;
            left: 60px;
            right: 60px;
            display: flex;
            flex-direction: column;
            transition: transform 600ms cubic-bezier(.65,.06,.19,.96), opacity 400ms ease-in-out;
        }
            .artwork-detail .secondary_image_navigation {
                height: 140px;
                padding: 40px 0 20px;
                margin-bottom: -20px;
                box-sizing: border-box;
                text-align: center;
                white-space: nowrap;
                overflow: auto;
            }
                .artwork-detail .secondary_image_navigation .item {
                    display: inline-block;
                    vertical-align: top;
                    margin: 0 4px 0 0;
                    height: 80px;
                    width: 80px;
                    transition: opacity 400ms ease-in-out;
                    opacity: 0.5;
                }
                .artwork-detail .secondary_image_navigation .item:last-child {
                    margin-right: 0;
                }
                .device-desktop .artwork-detail .secondary_image_navigation .item:hover,
                .artwork-detail .secondary_image_navigation .item.active {
                    opacity: 1;
                    transition: opacity 200ms ease-in-out;
                }
                    .artwork-detail .secondary_image_navigation .item a {
                        display: block;
                    }
                        .artwork-detail .secondary_image_navigation .item a img {
                            display: block;
                            width: 100%;
                        }
            .artwork-detail .main_images_wrapper {
                position: relative;
                flex-grow: 1;
                transition: transform 600ms cubic-bezier(.65,.06,.19,.96), opacity 400ms ease-in-out;
            }
                .artwork-detail .image {
                    position: absolute;
                    z-index: 5;
                    top: 0;
                    bottom: 0;
                    left: 0;
                    right: 0;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    
                }
                    .artwork-detail .image_inner {
                        position: absolute;
                        z-index: 5;
                        top: 0;
                        bottom: 0;
                        left: 0;
                        right: 0;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        
                    }
                        .artwork-detail .image img {
                            display: block;
                            max-height: 100%;
                            max-width: 100%;
                        }
                        .artwork-detail .image .video {
                            width: 100%;
                            max-width: 140vh;
                        }
                            .artwork-detail .image .video .fluid-width-video-wrapper {
                                padding: 0 !important;
                                position: static !important;
                            }
                            .artwork-detail .image .video iframe {
                                position: absolute;
                                top: 0;
                                left: 0;
                                right: 0;
                                bottom: 0;
                                height: 100% !important;
                                width: 100% !important;
                            }
                            
        .artwork-detail .image_container.image-full-bleed .image {
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
        }
            .artwork-detail .image_container.image-full-bleed .image img {
                width: 100%;
                height: 100%;
                object-fit: contain;
            }
        
        #roomview_button {
            position: fixed;
            top: 18px;
            right: 109px;
            z-index: 2010;
            font-size: 1.5rem;
            line-height: 1.8rem;
            transition: opacity 400ms linear;
        }
            .cms-frontend-toolbar-active #roomview_button {
                top: 46px;
            }
            .roomview-active #roomview_button,
            .roomview_custom_scene_active #roomview_button {
                opacity: 0;
            }
            #roomview_button .button-icon {
                width: 20px;
                height: 20px;
                display: inline-block;
                margin: 1px 7px 0 0;
                background: url(/images/roomview-icon.png) center center no-repeat;
                background-size: 22px auto;
                transition: opacity 200ms linear;
            }
                #roomview_button .roomview-photo-button.loading .button-icon {
                    opacity: 0;
                }
            #roomview_button .roomview-scene-loader-wrapper {
                position: absolute;
                top: 11px;
                left: 3px;
            }
                .roomview-photo-button.loading svg.loader {
                    width: 18px;
                    height: 18px;
                    position: absolute;
                }
                .roomview-photo-button.loading svg.loader .path {
                    stroke: #111;
                }
                
            
            .roomview_custom_scene {
                display: none;
                opacity: 0;
                transition: opacity 400ms ease-in-out;
                pointer-events: none;
            }
            .roomview_custom_scene_init .roomview-close {
                display: block;
            }
            .roomview_custom_scene_init .roomview_custom_scene {
                display: flex;
            }
            .roomview_custom_scene_active .roomview_custom_scene {
                opacity: 1;
            }
            .roomview_custom_scene_active .roomview-close {
                opacity: 1;
            }
            .roomview_custom_scene_active .image_container {
                opacity: 0 !important;
            }
            
    
    .pagination_controls {
        height: 0;
    }
        .pagination_controls > div,
        .pagination_controls > button {
            position: fixed;
            z-index: 6;
            top: 85px;
            left: 10px;
            width: 40px;
            height: 80vh;
            cursor: pointer;
            text-indent: -200px;
            margin-top: 30px;
            background: url('/images/arrow_left.svg') 50% center no-repeat;
            background-size: 11px auto;
            opacity: 0.85;
            transition: opacity 400ms ease-in-out, transform 600ms cubic-bezier(.65,.06,.19,.96);
            overflow: hidden;
        }
            .pagination_controls > div.pagination_controls_next,
            .pagination_controls > button.pagination_controls_next {
                right: 10px;
                left: auto;
                background: url('/images/arrow_right.svg') 50% center no-repeat;
                background-size: 11px auto;
            }
            .pagination_controls > div:hover,
            .pagination_controls > button:hover {
                opacity: 1;
                transform: translate3d(0, 0, 0);
            }
            .tabbing-detected .pagination_controls > button:focus {
                z-index: 100;
                outline-offset: -3px;
            }
            .pagination_controls > div.pagination_controls_next:hover,
            .pagination_controls > button.pagination_controls_next:hover {
                opacity: 1;
                transform: translate3d(0, 0, 0);
            }
                .pagination_controls > div a {
                    position: absolute;
                    display: block;
                    top: 0;
                    bottom: 0;
                    left: 0;
                    right: 0;
                }
                #popup_box .pagination_controls > div a {
                    outline-offset: -3px;
                }
                .browser-msie #popup_box .pagination_controls > div a:focus {
                    border: 2px solid black;
                }
            .pagination_controls > div.disabled,
            .pagination_controls > button.disabled {
                display: none;
            }
            .roomview-active .pagination_controls > div,
            .roomview_custom_scene_active .pagination_controls > div {
                opacity: 0 !important;
            }
    

/* Pageload loader
----------------------------------------------------------- */

    #preloader #loader_wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 0;
        z-index: 10000;
        height: 4px;
        width: 100% !important;
        transition: opacity 400ms ease-in-out;
    }
    body.cms-frontend-toolbar-active #preloader #loader_wrapper {
        top: 28px;
    }
        #preloader #splash_loader_icon {
            display: none;
        }
        #preloader #loader {
            height: 1px;
            position: absolute;
            top: 0;
            left: 0;
            width: 0;
            height: 4px;
            width: 100% !important;
            overflow: hidden;
            background-color: transparent !important;
        }
            #preloader #loader:before {
                display: block;
                position: absolute;
                content: "";
                left: 0;
                width: auto;
                height: 2px;
                background-color: #515656;
                animation: loading2 3200ms cubic-bezier(.87,.17,.18,.85) infinite;
                transition: background 400ms ease-in-out;
            }

            body.splash-loader-active #preloader #loader_wrapper #loader {
                display: none;
            }

         /* Basic states
        ------------------------------------------- */

            body.browser-js-enabled #preloader {
                display: block;
            }
            body.first-load-complete #preloader {
                display: none;
                height: 4px;
                bottom: auto;
            }
            body.first-load-complete #preloader_mask {
                height: 0;
                display: none;
            }
            body.first-load-complete.loader-active #preloader {
                display: block;
            }

         /* Ajax page loading
        ------------------------------------------- */

            #preloader #loader {
                opacity: 0;
                transition: opacity 800ms ease-in-out, width 400ms ease-in-out;
                -webkit-transition: opacity 800ms ease-in-out, width 400ms ease-in-out;
            }
            body.ajax-loading #preloader #loader {
                opacity: 1;
            }
            body.ajax-loading-complete #preloader {
                opacity: 0;
                transition: opacity 800ms ease-in-out, width 400ms ease-in-out;
                -webkit-transition: opacity 800ms ease-in-out, width 400ms ease-in-out;
            }

         /* Splash screen
        ------------------------------------------- */

            body.splash-loader-active {
                overflow: hidden;
            }

            body.splash-loader-active.splash-screen-in #preloader {
                cursor: pointer;
            }

            body.splash-loader-active.loader-active #preloader #loader_wrapper {
                opacity: 0;
            }
                body.splash-loader-active.loader-active #preloader.loading-bar-start #loader_wrapper {
                    opacity: 1;
                }
            
        /* Page transition
        ------------------------------------------- */
        
            body.browser-js-enabled #main_content {
                opacity: 0;
                transition: opacity 600ms ease-in-out, transform 600ms cubic-bezier(.65,.06,.19,.96);
            }
            body.browser-js-enabled.first-load-complete #main_content {
                opacity: 1;
            }
                body.page-transition-active.page-transition.loader-incoming-type-standard #main_content {
                    opacity: 0;
                }
                body.page-transition-active.page-transition2.page-transition.loader-incoming-type-standard #main_content {
                    opacity: 0;
                    transition: none;
                }
                
            @media screen and (min-width: 768px) {
                body.nav-init.nav-overlay-open #main_content {
                    transform: translateX(-340px);
                }
            }



    @keyframes loading2 {
        from {width: 0;opacity: 0.8;}
        50% {left:0;width: 100%;opacity: 1;}
        to {left: 100%;width: 100%;opacity: 0.4;}
    }
    
    
/* Popups
---------------------------------------------------------------------------------- */
  
    #popup_container {
        
    }
    #popup_container:after {
        background: rgba(0,0,0,0.4);
        height: 100vh;
        display: block;
        content: '';
        opacity: 0;
        bottom: 0;
        left: 0;
        right: 0;
        position: fixed;
        z-index: 1000;
        width: 100%;
        transition: opacity 400ms ease-in-out;
    }
        .page-popup-visible #popup_container:after { 
            opacity: 1;
            transition: opacity 1000ms ease-in-out;
        }
        #popup_overlay {
            background: #fff;
            position: fixed;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            z-index: 1100;
        }
        #popup_box {
            margin: 0 auto;
            width: 100%;
            -moz-box-sizing: border-box;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            position: fixed;
            top: 59px;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 3000;
        }
            #popup_box .inner {
                float: none;
                width: 100%;
                margin: 0 auto;
                position: relative;
                max-width: 2660px;
                overflow: hidden;
                min-height: 100vh;
            }
            #popup_box .inner > .pagination_controls {
                display: none;
            }
                #popup_box .close {
                    top: 18px;
                    right: 25px;
                    width: auto;
                    height: auto;
                    position: fixed;
                    z-index: 3000;
                    opacity: 0;
                    transition: opacity 400ms linear;
                }
                .cms-frontend-toolbar-active #popup_box .close {
                    top: 46px;
                }
                    #popup_box .close a,
                    #popup_box .close a:visited {
                        text-decoration: none;
                        width: auto;
                        height: auto;
                        text-indent: 0;
                        padding: 2px 23px 0 0;
                        font-size: 1.5rem;
                        line-height: 1.8rem;
                        position: static;
                        display: block;
                    }
                    #popup_box .close a:after {
                        position: absolute;
                        display: block;
                        height: 16px;
                        width: 16px;
                        content: '';
                        right: 0;
                        top: 3px;
                        background: url(/images/close.svg) center center no-repeat;
                    }
                    #popup_box .close:before,
                    #popup_box .close:after {
                        display: none;
                    }
                .roomview-active #popup_box .close,
                .roomview_custom_scene_active #popup_box .close {
                    display: none;
                }
                
                #popup_content {
                    width: 100%;
                    max-height: calc(100vh - 59px);
                    overflow: auto;
                    position: fixed;
                    top: 59px;
                    left: 0;
                    right: 0;
                    -webkit-overflow-scrolling: touch;
                }
                    .cms-frontend-toolbar-active #popup_content {
                        top: 87px;
                    }

                /* Hide the pagination controls which are within the ajax page content */
                #popup_content .artwork_detail .pagination_controls {
                    display: none;
                }


            /* Effects ----------------------------------------------------------- */

            #popup_container {
                display: none;
            }

                /* .loader-incoming-type-popup #popup_container */
                .page-popup-active #popup_container {
                    display: block;
                }

            #popup_overlay {
                opacity: 0;
                transition: opacity 0.6s ease-in-out;
                -webkit-transition: opacity 0.6s ease-in-out;
                
                transform: translateY(100vh);
                transition: transform 600ms cubic-bezier(.65,.06,.19,.96);
                opacity: 1;
            }
                /*.loader-incoming-type-popup.ajax-loading #popup_overlay */
                .page-popup-visible #popup_overlay {
                    opacity: 1;
                    transform: translateY(0);
                }
            #popup_box .close {
                opacity: 0;
                transition: opacity 400ms linear;
            }
                /*.loader-incoming-type-popup.ajax-loading #popup_box .close */
                .page-popup-visible #popup_box .close {
                    opacity: 1;
                }
                body.overlay-open.page-popup-visible #popup_box .close {
                    opacity: 0;
                }
            #popup_box .pagination_controls {
                opacity: 0;
                transition: transform 0.6s cubic-bezier(.87,.17,.18,.85), opacity 0.8s ease-in-out;
            }
                /*.loader-incoming-type-popup.ajax-loading #popup_box .close */
                .page-popup-visible #popup_box .pagination_controls {
                    opacity: 1;
                }
            #popup_content {
                opacity: 0;
                transition: opacity 0.6s ease-in-out;
            }  
                /* .loader-incoming-type-popup.ajax-loading #popup_content */
                .page-popup-visible #popup_content {
                    opacity: 1;
                }
                body.roomview-artwork-switched .page-popup-visible {
                    overflow: hidden;
                }
            #popup_content .image_container {
                opacity: 0;
                transform: translateY(30px) scale(0.9);
                transition: transform 400ms cubic-bezier(.86,.01,.14,.99), opacity 400ms ease-in-out;
            }
                .page-popup-visible #popup_content .image_container {
                    opacity: 1;
                    transform: none;
                }

            #popup_content .content_container {
                opacity: 0;
                transform: translate3d(0, 100px, 0);
                transition: transform 600ms cubic-bezier(.65,.06,.19,.96), opacity 400ms ease-in-out;
            }
                .page-popup-visible #popup_content .content_container {
                    opacity: 1;
                    transform: translate3d(0, 0, 0);
                    transition: transform 4000ms cubic-bezier(.18, 1, .21, 1), opacity 1000ms ease-in-out;
                }

            /* Standard artworks ----------------------------------------------------------- */

            #popup_content .content_basic_layout {
                transition: transform 600ms cubic-bezier(.86,.01,.14,.99), opacity 600ms ease-in-out;
                transform: translate3d(0, 600px, 0);
                opacity: 0;
            }
                .page-popup-visible #popup_content .content_basic_layout {
                    opacity: 1;
                    transform: translate3d(0, 0, 0);
                }


            /* Previous / Next animation ----------------------------------------------------------- */

                body.page-popup-transition #popup_box .image {
                    opacity: 0;
                    transform: translate3d(0, 0, 0);
                }
                body.page-popup-transition.page-popup-transition2 #popup_box .image {
                    opacity: 0;
                    transform: translate3d(0, 0, 0);
                }
                body.page-popup-transition #main_page_heading {
                    opacity: 0;
                    transform-origin: center top;
                    transform: translate3d(-50%, -20px, 0);
                }
                body.page-popup-transition.page-popup-transition2 #main_page_heading {
                    transform: translate3d(-50%, 20px, 0);
                    transition: none;
                }
                
                body.page-popup-transition-initial #popup_box .artwork-detail .pagination_controls_previous,
                body.page-popup-transition-initial #popup_box .artwork-detail .pagination_controls_next {
                    opacity: 0;
                }


    
/* View in a room
---------------------------------------------------------------------------------- */
  
    body.roomview-active header,
    body.roomview_custom_scene_active header {
        z-index: 4000;
    }
    body.roomview-active #main_content {
        visibility: visible;
        opacity: 1;
    }
    
    .roomview-zoom-wrapper {
        cursor: default !important;
    }
    .roomview-zoom-footer {
        display: none !important;
    }
    
    body.roomview-active img.roomview-image {
        position: relative;
        z-index: 9999;
    }
    
    .roomview-artwork-switched img.roomview-active-element {
        opacity: 0 !important;
    }
    body.roomview-active #main_content {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
    }
    body:not(.roomview-artwork-switched) .roomview-active .roomview-scene-wrapper img.placeholder-artwork {
        opacity: 0;
        transition: none;
    }
    body.roomview-artwork-switched .roomview-active .roomview-scene-wrapper img.placeholder-artwork {
        opacity: 1;
    }
    .roomview-active .zoomImg {
        display: none !important;
    }
    .roomview-active .artwork_detail .draginner {
        transform: none !important;
        transition: none !important;
    }
    .roomview-active .artwork_detail .content_container {
        opacity: 0 !important;
        transition: opacity 400ms ease-in-out !important;
        pointer-events: none;
    }
    .roomview-active .artwork_detail .content_container * {
        pointer-events: none;
    }
    
    
    .roomview-close {
        top: 18px;
        right: 25px;
        width: auto;
        height: auto;
        position: fixed;
        opacity: 0;
        transition: opacity 400ms linear;
    }
    .cms-frontend-toolbar-active .roomview-close {
        top: 46px !important;
    }
        .roomview-artwork-switched .roomview-close {
            opacity: 1;
        }
        .roomview-animate-close .roomview-close {
            opacity: 0;
        }
        .roomview-close a,
        .roomview-close a:visited {
            text-decoration: none;
            width: auto;
            height: auto;
            text-indent: 0;
            padding: 1px 23px 0 0;
            font-size: 1.5rem;
            line-height: 1.8rem;
            position: static;
            display: block;
        }
        .roomview-close a:after {
            position: absolute;
            display: block;
            height: 16px;
            width: 16px;
            content: '';
            right: 0;
            top: 3px;
            background: url(/images/close.svg) center center no-repeat;
        }
        .roomview-close:before,
        .roomview-close:after {
            display: none;
        }


/* Forms
---------------------------------------------------------------------------------- */

    .form {
        max-width: 600px;
    }
        .form .form_row {
            clear: both;
            width: 100%;
            border-bottom: 1px solid #111;
            margin: 0 0 20px;
        }
        .form .form_row.form_row_submit {
            border-bottom: 0;
            margin-bottom: 25px;
        }
            .form .form_row input[type='text'],
            .form .form_row textarea {
                border: 0;
                padding: 10px 0;
                margin: 0;
                width: 100%;
                box-sizing: border-box;
                -webkit-appearance: none;
                font: inherit;
            }
            .form .form_row textarea {
                min-height: 115px;
            }
        
        .form .privacy_policy_form_msg {
            font-size: 1.4rem;
            line-height: 1.9rem;
            color: #888;
        }
            .form .privacy_policy_form_msg a,
            .form .privacy_policy_form_msg a:visited {
                color: #888;
            }
    
    
/* Buttons
---------------------------------------------------------------------------------- */

    .button {
        font-size: 1.4rem;
        line-height: 2.0rem;
        background: #111;
        display: inline-block;
        position: relative;
    }
        .button a,
        .button a:visited {
            color: #fff;
            text-decoration: none;
            display: block;
            padding: 10px 20px;
        }
        
            .button.loading a,
            .button.loading a:visited,
            .button.loading > span {
                color: #fff;
                opacity: 0;
                transition: opacity 400ms ease-in-out;
            }
            .button .button_loader {
                position: absolute;
                top: 50px;
                left: 50%;
                width: 26px;
                height: 26px;
                margin-left: -13px;
                min-width: 0;
                z-index: 5;
                padding: 0 !important;
                transition: top 400ms ease-in-out;
                transform: translateY(-50%);
                pointer-events: none;
            }
            @media (prefers-reduced-motion: reduce) {
                .button .button_loader {
                    transition: none !important;
                }
            }
            .button.loading .button_loader {
                top: 50%;
            }
                .button.loading .button_loader svg {
                    -webkit-animation: rotate 2s linear infinite;
                    animation: rotate 2s linear infinite;
                    -webkit-transform-origin: center center;
                    transform-origin: center center;
                    height: 100%;
                    width: 100%;
                }
                    .button.loading .button_loader svg .path {
                        stroke-dasharray: 1, 200;
                        stroke-dashoffset: 0;
                        stroke: #fff;
                        -webkit-animation: dash 1.5s ease-in-out infinite;
                        animation: dash 1.5s ease-in-out infinite;
                        stroke-linecap: round;
                    }
                    
                    @-webkit-keyframes rotate {
                      100% {
                        -webkit-transform: rotate(360deg);
                                transform: rotate(360deg);
                      }
                    }
                    @keyframes rotate {
                      100% {
                        -webkit-transform: rotate(360deg);
                                transform: rotate(360deg);
                      }
                    }
                    @-webkit-keyframes dash {
                      0% {
                        stroke-dasharray: 1, 200;
                        stroke-dashoffset: 0;
                      }
                      50% {
                        stroke-dasharray: 89, 200;
                        stroke-dashoffset: -35px;
                      }
                      100% {
                        stroke-dasharray: 89, 200;
                        stroke-dashoffset: -124px;
                      }
                    }
                    @keyframes dash {
                      0% {
                        stroke-dasharray: 1, 200;
                        stroke-dashoffset: 0;
                      }
                      50% {
                        stroke-dasharray: 89, 200;
                        stroke-dashoffset: -35px;
                      }
                      100% {
                        stroke-dasharray: 89, 200;
                        stroke-dashoffset: -124px;
                      }
                    }
                
    
    .link.link-arrow {
        font-size: 1.4rem;
        line-height: 2.0rem;
    }
        .link.link-arrow a,
        .link.link-arrow a:visited {
            text-decoration: none;
            display: block;
        }
        .link.link-arrow a:after {
            height: 16px;
            width: 22px;
            margin: 0 0 0 10px;
            display: inline-block;
            vertical-align: middle;
            content: '';
            background: url(/images/arrow_right_large.svg) center center no-repeat;
            background-size: 16px auto;
        }


/* Lazy load
---------------------------------------------------------------------------------- */

    .image_lazy_load {
        position: relative;
    }
    .image_lazy_load:before {
        position: absolute;
        pointer-events: none;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        opacity: 0;
        background: #fafafa;
        transition: opacity 400ms ease-in-out, background 400ms ease-in-out;
        content: '';
        display: block;
        z-index:1;
    }
        .content-type-reversed .image_lazy_load:before,
        .image_lazy_load.video_placeholder:before {
            background: #222;
        }
    .image_lazy_load img {
        opacity: 0;
        transition: opacity 400ms ease-in-out;
        z-index: 99;
        position: relative;
    }
    .image_lazy_load.loaded img {
        opacity: 1.0;
        transition: opacity 400ms ease-in-out;
    }
    .image_lazy_load img.zoomImg {
        transition: none;
    }
    .image_lazy_load img.init_img {
        max-width: 100%;
        width: 100%;
    }
        .image_lazy_load.loaded img.init_img {
            display: none;
        }
    .image_lazy_load.loading img {
        opacity: 0;
        /*transition: none;*/
    }
    .image_lazy_load.loading:before {
        opacity: 1;
    }
    .image_lazy_load .loader {
        display: none;
    }
        .image_lazy_load.loading .loader {
            display: block;
        }
        .image_lazy_load.loading svg {
            -webkit-animation: rotate 2s linear infinite;
                  animation: rotate 2s linear infinite;
            -webkit-transform-origin: center center;
                  transform-origin: center center;
            width: 30px;
            height: 30px;
            position: absolute;
            top: 50%;
            left: 50%;
            margin: -10px 0 0 -10px;
            display: block;
            z-index: 2;
        }
            .image_lazy_load.loading svg .path {
                stroke-dasharray: 1, 200;
                stroke-dashoffset: 0;
                stroke: rgba(0,0,0,0.8);
                animation: dash 1.5s ease-in-out infinite; /*color-dark 6s ease-in-out infinite;*/
                stroke-linecap: round;
            }
            @-webkit-keyframes rotate {
              100% {
                -webkit-transform: rotate(360deg);
                        transform: rotate(360deg);
              }
            }
            @keyframes rotate {
              100% {
                -webkit-transform: rotate(360deg);
                        transform: rotate(360deg);
              }
            }
            @-webkit-keyframes dash {
              0% {
                stroke-dasharray: 1, 200;
                stroke-dashoffset: 0;
              }
              50% {
                stroke-dasharray: 89, 200;
                stroke-dashoffset: -35px;
              }
              100% {
                stroke-dasharray: 89, 200;
                stroke-dashoffset: -124px;
              }
            }
            @keyframes dash {
              0% {
                stroke-dasharray: 1, 200;
                stroke-dashoffset: 0;
              }
              50% {
                stroke-dasharray: 89, 200;
                stroke-dashoffset: -35px;
              }
              100% {
                stroke-dasharray: 89, 200;
                stroke-dashoffset: -124px;
              }
            }
            @-webkit-keyframes color-dark {
              100%,
              0% {
                stroke: rgba(0,0,0,0.5);
              }
              40% {
                stroke: rgba(0,0,0,0.3);
              }
              66% {
                stroke: rgba(0,0,0,0.5);
              }
              80%,
              90% {
                stroke: rgba(0,0,0,0.3);
              }
            }
            @keyframes color-dark {
              100%,
              0% {
                stroke: rgba(0,0,0,0.5);
              }
              40% {
                stroke: rgba(0,0,0,0.3);
              }
              66% {
                stroke: rgba(0,0,0,0.5);
              }
              80%,
              90% {
                stroke: rgba(0,0,0,0.3);
              }
            }
            
            

    /* Prompt ----------------------------------------- */

    div.arpromptfade{
        position: absolute;
        background-color: #111;
    }
    div.arprompt{
        width: 400px;
        position: absolute;
        background-color: #fff;
        text-align: left;
        padding: 25px;
    }
    div.arprompt .arpromptclose{
        position: absolute;
        z-index: 1900;
        top: 25px;
        right: 25px;
        display: block;
        content: '';
        width: 16px;
        height: 16px;
        height: 17px;
        width: 17px;
        background: url(/images/close.svg) 0 0 no-repeat;
        
        transition: background-image 400ms linear;
        text-indent: -100px;
        overflow: hidden;
        cursor: pointer;
    }
    div.arprompt .arpromptmessage {
        margin: 0 0 25px;
        padding: 0 40px 0 0;
        color: #111;
        text-align: left;
    }
        div.arprompt .arpromptmessage h2 {
            color: #515656;
            font-size: 2.4rem;
            line-height: 3.2rem;
        }
        div.arprompt .arpromptmessage h2,
        div.arprompt .arpromptmessage h3,
        div.arprompt .arpromptmessage h4 {
            color: #111;
            margin-bottom: 15px;
        }
    div.arprompt .arpromptbuttons {
        border-top: 1px solid #111;
        padding-top: 25px;
    }
    .arpromptbox.couponprompt div.arprompt .arpromptbuttons {
        display: none;
    }
    div.arprompt .arpromptbuttons button{
        border: none;
        padding-top: 25px;
    }
    div.arprompt .arpromptbuttons button.arpromptdefaultbutton {
        padding: 16px 30px 16px 30px;
        background: #111;
        color: #fff;
        cursor: pointer;
    }