@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Thin.woff2') format('woff2');
    font-weight: 300;
}

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Regular.woff2') format('woff2');
    font-weight: 400;
}

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Bold.woff2') format('woff2');
    font-weight: 700;
}


/* reset */


/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    font-family: 'Roboto', sans-serif;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent;
}


/* HTML5 display-role reset for older browsers */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

img {
    touch-action: none;
    pointer-events: none;
}

/* /reset */

html {
    touch-action: manipulation;
}

body {
    background-color: black;
}

.app {
    position: absolute;
    top: 0;
    left: 0;
    width: 1920px;
    height: 1080px;
    overflow: hidden;
}

.app--panel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translate3d(100%, 0, 0);
    will-change: transform;
}

.app--panel .button-secundary {
    position: absolute;
    cursor: pointer;
    transform: scale3d(1,1,1);
    cursor: pointer;
    transition: transform .25s;
}
.button-secundary:active {
    transform: scale3d(1.1,1.1,1.1);
}
.app--panel .button-home {
    --height: 213px;
    top: calc(50% - var(--height) / 2);
    left: 0;
    width: 74px;
    height: var(--height);
    background: url('../resources/button-home.png');
}
.app--panel .button-back {
    left: 15px;
    bottom: 27px;
    width: 64px;
    height: 64px;
    background: url('../resources/button-back.png');
    transition: opacity .25s, transform .25s;
}
.app--panel .panel-label {
    position: absolute;
    left: 32px;
    bottom: 100px;
    color: #333;
    font-size: 30px;
    font-weight: 700;
    transform: rotate3d(0,0,1, -90deg);
    transform-origin: 0 0;
    transition: opacity .25s, transform .25s;
}

.app--panel.app--panel--second-level .button-back,
.app--panel.app--panel--third-level .button-back {
    left: 26px;
}
.app--panel.app--panel--second-level .panel-label,
.app--panel.app--panel--third-level .panel-label {
    left: 43px;
}

.app--panel .container {
    position: absolute;
    left: 105px;
    top: 0;
    bottom: 100px;
    right: 0;
    overflow: hidden;
    transform: translateZ(0);
}

.app--panel .container > .wrapper {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
}


/* Loading Panel */

.app--panel.loading {
    background: #fff;
    transform: translate3d(0, 0, 0);
    opacity: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999;
}

.state--hide--loading .app--panel.loading {
    transform: translate3d(100%, 0, 0);
    opacity: 0;
    transition: opacity .5s 0s, transform 0s .5s;
}

.loading--text-align {
    font-size: 48px;
    will-change: transform, opacity;
    animation: loading--text-align-animation 2s infinite;
}

@keyframes loading--text-align-animation {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.25;
    }
}


/* Home Panel */

.app--panel.home {
    background: url('../resources/02_home.png');
}

.state--show--home .app--panel.home {
    transform: translate3d(0, 0, 0);
}

.home-button-contacts {
    background: url('../resources/button-contact.png');
    width: 63px;
    height: 63px;
    position: absolute;
    right: 160px;
    bottom: 23px;
    transform: scale3d(1,1,1);
    cursor: pointer;
    transition: transform .25s;
    z-index: 10;
}
.home-button-contacts:active {
    transform: scale3d(1.1,1.1,1.1);
}
.state--show--screensaver .home-button-contacts {
    transform: translate3d(0,250px,0) scale3d(1,1,1);
}

.button-main {
    position: absolute;
    color: #333;
    cursor: pointer;
    transform: scale3d(1,1,1);
    transition: transform .25s;
}
.button-main > div {
    font-size: 30px;
    text-align: right;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    font-weight: 700;
    padding: 12px;
}
.button-main:active {
    transform: scale3d(1.05,1.05,1.05);
}

.button-main > span {
    width: 170px;
    position: absolute;
    top: 20px;
    color: #fff;
    font-size: 24px;
    right: 20px;
    text-align: right;
}

.button-main.bientot {
    opacity: 0.5;
}

.home-button-vues-360 {
    width: 593px;
    height: 494px;
    top: 144px;
    left: 748px;
    background-color: #78b2a0;
}
.home-button-images-3d {
    width: 478px;
    height: 274px;
    top: 144px;
    left: 1360px;
    background-color: #5a99c2;
}
.home-button-movie {
    width: 477px;
    height: 204px;
    top: 434px;
    left: 1360px;
    background-color: #333;
    color: #78b2a0;
}
.home-button-movie > div {
    width: 170px;
}

.home-button-environment {
    width: 297px;
    height: 278px;
    top: 658px;
    left: 748px;
    background-color: #5a99c2;
}
.home-button-plans {
    width: 772px;
    height: 278px;
    top: 658px;
    left: 1066px;
    background-color: #f7df00;
}
.home-button-plans > div {
    width: 231px;
}

/* Screensaver Panel */

.app--panel.screensaver {
    background: url('../resources/01_screensaver.png');
    transform: translate3d(0, -100%, 0);
    transition: transform .5s 0s;
}

.state--show--screensaver .app--panel.screensaver {
    transform: translate3d(0, 0, 0);
}

/* Vues 360 Panel */

.app--panel.vue-360 {
    background: url('../resources/04_01_360.png');
    transition: transform .5s 0s;
}

.state--show--vue-360 .app--panel.vue-360 {
    transform: translate3d(0, 0, 0);
}

/* Vues Interne Panel */

.app--panel.vue-interne {
    background: url('../resources/03_02_imagem-3d-interno.png');
    transition: transform .5s 0s;
}

.state--show--vue-interne .app--panel.vue-interne {
    transform: translate3d(85px, 0, 0);
}

.app--panel.vue-interne .panel-label {
    color: #78b2a0;
}

/* Vues Externe Panel */

.app--panel.vue-externe {
    background: url('../resources/04_03_360-externo.png');
    transition: transform .5s 0s;
}

.state--show--vue-externe .app--panel.vue-externe {
    transform: translate3d(85px, 0, 0);
}

/* Images 3D Panel */

.app--panel.images-3d {
    background: url('../resources/03_01_imagem-3d.png');
    transition: transform .5s 0s;
}

.state--show--images-3d .app--panel.images-3d {
    transform: translate3d(0, 0, 0);
}

/* Images 3D Interne Panel */

.app--panel.images-3d-interne {
    background: url('../resources/03_02_imagem-3d-interno.png');
    transition: transform .5s 0s;
}

.state--show--images-3d-interne .app--panel.images-3d-interne {
    transform: translate3d(85px, 0, 0);
}

.app--panel.images-3d-interne .panel-label {
    color: #78b2a0;
}

/* Images 3D Interne/Externe Gallery Panel */

.app--panel.vue-interne-gallery,
.app--panel.images-3d-interne-gallery {
    background: url('../resources/03_03_image-3d-interno-view-photo.png');
    transition: transform .5s 0s;
}

.app--panel.images-3d-externe-gallery {
    background: url('../resources/03_02_imagem-3d-interno.png');
    transition: transform .5s 0s;
}
.app--panel.plans-build-gallery {
    background: url('../resources/03_02_imagem-3d-interno-2.png');
    transition: transform .5s 0s;
}
.app--panel.images-3d-externe-gallery .panel-label {
    color: #78b2a0;
}

.state--show--plans-build-gallery .app--panel.plans-build-gallery,
.state--show--vue-interne-gallery .app--panel.vue-interne-gallery,
.state--show--images-3d-externe-gallery .app--panel.images-3d-externe-gallery,
.state--show--images-3d-interne-gallery .app--panel.images-3d-interne-gallery {
    transform: translate3d(175px, 0, 0);
}

.app--panel.images-3d-externe-gallery img,
.app--panel.images-3d-interne-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /*object-fit: contain;*/
    object-position: 50% 50%;
}
.app--panel.environment-gallery img {
    width: 100%;
    height: 100%;
}
.app--panel.environment-gallery .swiper-slide,
.app--panel.images-3d-externe-gallery .swiper-slide,
.app--panel.images-3d-interne-gallery .swiper-slide {
    background-color: #fff;
}

/* Images 3D Externe Panel */

.app--panel.images-3d-externe {
    background: url('../resources/04_03_360-externo.png');
    transition: transform .5s 0s;
}

.state--show--images-3d-externe .app--panel.images-3d-externe {
    transform: translate3d(85px, 0, 0);
}

/* Movie Panel */

.app--panel.movie {
    background: url('../resources/06_01_01_video-3d.png');
    transition: transform .5s 0s;
}

.state--show--movie .app--panel.movie {
    transform: translate3d(0, 0, 0);
}

.app--panel.movie .panel-label {
    color: #78b2a0;
}

/* Environment Panel */

.app--panel.environment {
    background: url('../resources/03_01_imagem-3d.png');
    transition: transform .5s 0s;
}

.state--show--environment .app--panel.environment {
    transform: translate3d(0, 0, 0);
}

/* Environment Gallery Panel */

.app--panel.environment-gallery {
    background: url('../resources/03_02_imagem-3d-interno.png');
    transition: transform .5s 0s;
}

.state--show--environment-gallery .app--panel.environment-gallery {
    transform: translate3d(85px, 0, 0);
}

.app--panel.environment-gallery .panel-label {
    color: #78b2a0;
}

/* Plans Panel */

.app--panel.plans {
    background: url('../resources/05_01_plans-externe.png');
    transition: transform .5s 0s;
}

.state--show--plans .app--panel.plans {
    transform: translate3d(0, 0, 0);
}

.app--panel.plans .container {
    left: 95px;
    background-image: url('../resources/top.png');
}
.app--panel.plans .container .overlay {
    width: 100%;
    height: 100%;
}
.app--panel.plans .container .overlay .map-action {
    position: absolute;
    transform: translate(-50%,-50%);
    width: 105px;
    height: 106px;
    transition: transform .2s;
}
.app--panel.plans .container .overlay .map-action > span {
    position: absolute;
    left: calc(50%);
    top: calc(50%);
    color: #fff;
    font-size: 20px;
    display: block;
    width: 44px;
    height: 44px;
    transform: translate(calc(-50% + 2px),calc(-50% - 2px));
    display: flex;
    align-items: center;
    justify-content: center;
}

.app--panel.plans .container .overlay .map-action::before {
    content: ' ';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url('../resources/point-map.png');
    transition: transform .25s;
}

.app--panel.plans .container .overlay .map-action:active {
    transform: translate(-50%,-50%) scale3d(1.2,1.2,1.2);
}

/* Plans Panel */

.app--panel.plans-build {
   background: url('../resources/03_02_imagem-3d-interno.png');
    transition: transform .5s 0s;
}

.app--panel.plans-build .panel-label {
    color: #78b2a0;
}

.state--show--plans-build .app--panel.plans-build {
    transform: translate3d(85px, 0, 0);
}

/* Contacts Panel */

.app--panel.contacts {
    transition: transform 0s .5s;
    z-index: 11;
}

.app--panel.contacts .background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 0;
    transition: opacity .5s 0s;
}
.app--panel.contacts .touch {
    position: absolute;
    top: 190px;
    left: 0;
    right: 0;
    text-align: center;
    color: #878787;
    font-size: 36px;
    font-weight: 700;
    opacity: 0;
    transition: opacity .5s 0s;
}
.app--panel.contacts .floating {
    --height: 408px;
    --width: 728px;
    position: absolute;
    top: calc(50% - var(--height) / 2);
    left: calc(50% - var(--width) / 2);
    width: var(--width);
    height: var(--height);
    background: url('../resources/contact-form.png');
    transition: transform 0.25s 0s, opacity 0.25s 0s;
    opacity: 0;
    transform: scale3d(0,0,0);
}

.state--show--contacts .app--panel.contacts {
    transition: transform 0s 0s;
    transform: translate3d(0,0,0);
}
.state--show--contacts .app--panel.contacts .touch,
.state--show--contacts .app--panel.contacts .background {
    opacity: 0.5;
    transition: opacity .5s 0s;
}
.state--show--contacts .app--panel.contacts .floating {
    opacity: 1;
    transform: scale3d(1,1,1);
    transition: transform 0.25s 0.25s, opacity 0.25s 0.25s;
}

/* List Type Simple */
.list-type-simple {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 95px;
    right: 0;
    bottom: 100px;
    transform: translateZ(0);
}
.list-type-simple .list-item {
    width: 560px;
    height: 795px;
    position: relative;
    margin: 0 14px;
    background-color: #78b2a0;
    color: #333;
    transform: scale3d(1,1,1);
    transition: transform .25s;
    cursor: pointer;
}
.list-type-simple .list-item:active {
    transform: scale3d(0.95,0.95,0.95);
}
.list-type-simple .list-item div {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    color: inherit;
    text-align: right;
    padding: 17px;
    font-size: 36px;
    font-weight: 700;
}

.list-type-masonry .list-item.list-item-color-yellow,
.list-type-simple .list-item.list-item-color-yellow {
    background-color: #f7df00;
}
.list-type-masonry .list-item.list-item-color-dark,
.list-type-simple .list-item.list-item-color-dark {
    background-color: #333;
    color: #78b2a0;
}

.state-level-2 .app--panel--first-level .panel-label,
.state-level-2 .app--panel--first-level .button-back,
.state-level-3 .app--panel--second-level .panel-label,
.state-level-3 .app--panel--second-level .button-back {
    opacity: 0.5;
}

/* List Type Masonry */
.list-type-masonry-2-wrapper,
.list-type-masonry-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 95px;
    right: 0;
    bottom: 100px;
    transform: translateZ(0);
}
.list-type-masonry-2-wrapper.clean,
.list-type-masonry-wrapper.clean {
    left: 0;
    bottom: 0;
}
.list-type-masonry-2,
.list-type-masonry {
    display: inline-block;
    transform: translateZ(0);
}
.list-type-masonry .list-item-wrapper {
    float: left;
    overflow: hidden;
} 
.list-type-masonry .list-item-wrapper.compact {
    max-width: 515px;
}
.list-type-masonry .list-item-wrapper.extra-compact {
    max-width: 1028px;
}
.list-type-masonry-2 .list-item,
.list-type-masonry .list-item {
    float: left;
    display: block;
    position: relative;
    margin: 0 14px;
    background-color: #78b2a0;
    color: #333;
    transform: scale3d(1,1,1);
    transition: transform .25s;
    cursor: pointer;
    margin: 10px;
}
.list-type-masonry-2 .list-item:active,
.list-type-masonry .list-item:active {
    transform: scale3d(0.95,0.95,0.95);
}

.list-type-masonry .list-item-1 {
    width: 493px;
    height: 539px;
}
.list-type-masonry .list-item-2 {
    width: 493px;
    height: 284px;
}
.list-type-masonry .list-item-3 {
    width: 493px;
    height: 235px;
}
.list-type-masonry .list-item-4 {
    width: 1007px;
    height: 251px;
}
.list-type-masonry .list-item-5 {
    width: 492px;
    height: 253px;
}
.list-type-masonry .list-item-6 {
    width: 493px;
    height: 537px;
}

.list-type-masonry-2  .list-item div.legend,
.list-type-masonry .list-item div.legend {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    color: inherit;
    text-align: right;
    padding: 17px;
    font-size: 36px;
    font-weight: 700;
}

.list-type-masonry-2  .list-item div.area,
.list-type-masonry .list-item div.area {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    color: inherit;
    text-align: left;
    padding: 17px;
    font-size: 26px;
    font-weight: 700;
    line-height: .8em;
}

.list-item div.area .small {
    font-size: .6em;
}
.list-item div.area sup {
    vertical-align: super;
    font-size: smaller;
}

.list-type-masonry-2 .list-item div.legend,
.list-type-masonry .list-item div.legend {
    font-size: 65px;
}

.list-type-masonry-2 .list-item.non-interactive,
.list-type-masonry .list-item.non-interactive {
    pointer-events: none;
    touch-action: none;
}

.slider-type-0 .list-type-masonry .list-item-1 {
    width: 493px;
    height: 810px;
}
.slider-type-0 .list-type-masonry .list-item-2 {
    width: 493px;
    height: 810px;
}
.slider-type-0 .list-type-masonry .list-item-3 {
    display: none;
}
.slider-type-0 .list-type-masonry .list-item-4 {
    display: none;
}

.slider-type-1 .list-type-masonry .list-item-1 {
    width: 493px;
    height: 459px;
}
.slider-type-1 .list-type-masonry .list-item-2 {
    width: 493px;
    height: 459px;
}
.slider-type-1 .list-type-masonry .list-item-3 {
    display: none;
}
.slider-type-1 .list-type-masonry .list-item-4 {
    width: 1007px;
    height: 331px;
}

.list-type-masonry-2 {
    width: 1541px;
}
.list-type-masonry-2 .list-item {
    width: 1521px;
    height: 120px;
}

.list-type-masonry-2 .list-item.list-item-0 {
    background-color: #f7df00;
}

.slider-type-0 .list-type-masonry-2 .list-item.list-item-1,
.slider-type-0 .list-type-masonry-2 .list-item.list-item-2 {
    width: 750px;
    height: 670px;
}

.slider-type-0 .list-type-masonry-2 .list-item.list-item-3,
.slider-type-0 .list-type-masonry-2 .list-item.list-item-4 {
    display: none;
}

.slider-type-1 .list-type-masonry-2 .list-item.list-item-1 {
    width: 750px;
    height: 670px;
}
.slider-type-1 .list-type-masonry-2 .list-item.list-item-2,
.slider-type-1 .list-type-masonry-2 .list-item.list-item-3 {
    width: 750px;
    height: 325px;
}

.slider-type-1 .list-type-masonry-2 .list-item.list-item-4 {
    display: none;
}

.slider-type-2 .list-type-masonry-2 .list-item.list-item-1,
.slider-type-2 .list-type-masonry-2 .list-item.list-item-2,
.slider-type-2 .list-type-masonry-2 .list-item.list-item-3,
.slider-type-2 .list-type-masonry-2 .list-item.list-item-4 {
    width: 750px;
    height: 325px;
}

.swiper-container {
    position: absolute;
    top: 0;
    left: 104px;
    right: 85px;
    bottom: 98px;
    transform: translateZ(0);
}
.state-level-3 .images-3d-interne-gallery .swiper-container {
    bottom: 98px;
    right: 176px;
}
.swiper-container-horizontal > .swiper-pagination {
    bottom: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.swiper-pagination-bullet {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 76px;
    background-color: rgba(0,0,0,0);
    opacity: 1;
}
.swiper-pagination-bullet > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background-color: rgba(51,51,51,0.5);
    font-size: 11px;
    color: rgba(51,51,51,0.75);
    opacity: 1;
    border-radius: 100%;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active > span {
    top: 0;
    background-color: #f7df00;
    width: 32px;
    height: 32px;
    font-size: 16px;
    font-weight: 700;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: none;
}

.window-360-container {
    position: absolute;
    left: 104px;
    right: 175px;
    top: 0;
    bottom: 98px;
    overflow: hidden;
    background-color: #000;
}
.window-360 {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}
.window-360 .a-enter-vr-button {
    display: none;
}

/* Video Player */
.video-player {
    position: absolute;
    top: 0;
    left: 95px;
    right: 0;
    bottom: 101px;
    overflow: hidden;
}

.video-player video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-player-controllers {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: translate3d(100%, 0, 0);
    opacity: 0;
    transition: transform 0s .2s, opacity .2s 0s;
}

.video-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #000;
    opacity: .5;
}

.state--show--controllers .video-player-controllers {
    transform: translate3d(0, 0, 0);
    opacity: 1;
    transition: transform 0s 0s, opacity .2s 0s;
}

.video-timeline {
    --width: 1290px;
    position: absolute;
    bottom: 90px;
    left: calc(50% - var(--width) / 2);
    width: var(--width);
    height: 10px;
}

.video-timeline::before {
    content: ' ';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #333;
    opacity: 0.5;
}

.video-timeline--loading {
    display: block;
    width: 500px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #333;
    opacity: 0.75;
}

.video-timeline--current-time {
    position: absolute;
    width: 250px;
    height: 100%;
    left: 0;
    top: 0;
    background: linear-gradient(to right, #5a99c2 0%,#78b2a0 50%,#f7df00 100%);
}
.video-timeline--current-time::after{
    --size: 30px;
    content: ' ';
    display: block;
    border-radius: 100%;
    background-color: #f7df00;
    position: absolute;
    bottom: calc(50% - var(--size) / 2);
    left: calc(100% - var(--size) / 2);
    width: var(--size);
    height: var(--size);
    box-shadow: 0 0 10px #333;
}

.video-play-big {
    --size: 110px;
    box-sizing: border-box;
    width: var(--size);
    height: var(--size);
    background-image: url('../resources/play-big.png');
    position: absolute;
    top: calc(50% - var(--size) / 2);
    left: calc(50% - var(--size) / 2);
    transition: transform .25s;
    transform: scale3d(1,1,1);
}

.video-play {
    display: none;
    --size: 40px;
    box-sizing: border-box;
    width: var(--size);
    height: var(--size);
    background-image: url('../resources/play.png');
    position: absolute;
    bottom: 35px;
    left: 263px;
    transition: transform .25s;
    transform: scale3d(1,1,1);
}

.video-play-big:active,
.video-play:active {
    transform: scale3d(1.2,1.2,1.2);
}

.video-time-current,
.video-time-fulltime {
    position: absolute;
    color: #fff;
    font-size: 24px;
    font-family: 'Roboto';
    font-weight: 300;
    padding: 10px 0;
    bottom: 74px;
}

.video-time-current {
    left: 180px;
}

.video-time-fulltime {
    right: 180px;
}

.video-preview-container {
    position: absolute;
    bottom: 160px;
    left: 260px;
    width: 256px;
    height: 144px;
    transform: translate(0,0,0);
    opacity: 0;
    transition: opacity .25s 0s;
}

.state-drag-preview-start .video-preview-container{
    transition: opacity .25s .3s;
    opacity: 1;
}

.video-preview {
    transform: translateX(-50%);
    border: 2px solid #fff;
    border-radius: 2px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
}

.panzoom-action-container {
    position: absolute;
    top: 50%;
    right: 100px;
    transform: translateY(-50%);
    opacity: 1;
    transition: opacity 0.2s;
}
.view-360.panzoom-action-container {
    right: 20px;
}

.state-sliding .panzoom-action-container {
    opacity: 0;
}

.panzoom {
    transition: transform .2s ease-in-out;
    height: 100%;
}

.panzoom-action {
    display: block;
    margin: 15px 0;
    background-color: rgba(255,255,255,.5);
    border: 2px solid #fff;
    border-radius: 100%;
    width: 74px;
    height: 74px;
    background-position: center center;
    background-repeat: no-repeat;
    transform: scale3d(1,1,1);
    transition: transform .2s;
    outline: none;
}
.panzoom-action:active {
    transform: scale3d(1.1,1.1,1.1);
}
.panzoom-action:disabled {
    opacity: .5;
}
.panzoom-action.reset {
    background-image: url('../resources/Zoom To Extents-50.png');
}
.panzoom-action.zoom-in {
    background-image: url('../resources/Zoom In-50.png');
}
.panzoom-action.zoom-out {
    background-image: url('../resources/Zoom Out-50.png');
}

.swiper-slide img {
    transition: opacity .35s;
}

.list-type-compact-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 95px;
    right: 0;
    bottom: 100px;
    transform: translateZ(0);
}
.list-type-compact {
    overflow: hidden;
    width: 1539px;
}
.list-type-compact .list-item {
    width: 493px;
    height: 284px;
    float: left;
    margin: 10px;

    will-change: transform;
    transition: transform .25s;
}

.list-type-compact .list-item:active {
    transform: scale3d(0.95,0.95,0.95);
}

.list-type-333-wrapper {
    width: 1731px;
    height: 979px;
    position: absolute;
    left: 104px;
}

.list-type-333 {
    display: flex;
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: center;
}

.list-type-333 .list-item {
    width: 560px;
    height: 810px;
    margin: 0 14px;
    will-change: transform;
    transition: transform .25s;
}

.list-type-333 .list-item:active {
    transform: scale3d(0.95,0.95,0.95);
}

.app--panel .container.plan-items {
    display: flex;
    align-items: center;
    justify-content: center;
    right: 85px;
}
.plan-items > .plan-item {
    margin: 10px;
}
.plan-items > .plan-item > h1{
    font-size: 32px;
    margin-bottom: 20px;
}
.plan-items > .plan-item > .plan-item-image {
    width: 493px;
    height: 720px;
    will-change: transform;
    transition: transform .25s;
    background-color: #fff;
    background-repeat: no-repeat;
}
.plan-items > .plan-item > .plan-item-image:active {
    transform: scale(0.95);
}

.plans-build-gallery .swiper-container {
    transition: opacity .2s;
}

.plans-build-gallery .swiper-slide {
    width: 1641px;
}
.plans-build-gallery .swiper-slide .panzoom {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.plans-build-gallery .swiper-slide img {
    max-width: 100%;
    max-height: 100%;
}