/* FONTS */
@font-face {
    font-family: 'Skanska Light';
    src: url('fonts/skanskasans-light-webfont_02.woff2');
}

@font-face {
    font-family: 'Skanska Regular';
    src: url('fonts/skanskasans-regular-webfont_02.woff2');
}

@font-face {
    font-family: 'Skanska Bold';
    src: url('fonts/skanskasans-bold-webfont_02.woff2');
}

@keyframes blink {
    0% {
        opacity: 0.2;
    }
    50% {
        opacity: 1;
    } 
    100% {
        opacity: 0.2;
    } 
}

/* MEDIA QUERIES */
@media only screen and (max-width: 960px) {
    .top_center {
        position: absolute !important;
        left: 72% !important;
        
    }
    .select_project__panel .uk-card-body {
        padding: 1rem !important;
    }
}

/* MAIN */
*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
}

html {
    font-size: 62.5%;
    height:100%;
}

body {
    box-sizing: border-box;
}

body {
    font-family: "Skanska Regular", sans-serif;
    line-height: 1.2;
    color: #222;
    height:100%;
    overflow: hidden;
    margin:0;
    padding:0;
    width: 100%; height: 100%;
    background: #fff;
}

section {
    width:100%;
    min-width: 100%;
    height:100%;
    min-height: 100%;
    position: fixed;
    top: 0; left: 0; bottom: 0; right: 0;
    z-index: 1;
    display: block;
}

p {
    margin: 0;
}

/* NAVIGATION */
.navigation__top, .navigation__bottom {
    z-index: 99;
    position: fixed;
    width: 100%;
    padding: 2rem 3rem;
    height: 9rem;
}
.navigation__bottom {
    padding-top: 0;
}

.navigation__top {
    top: 0;
    background-color: #fff; /*TODO*/
}
.navigation__bottom {
    bottom: 0;
}

.navigation__transparent {
    background-color: transparent;
}

.top_center {
    position: fixed;
    /*top: 2.5rem;*/
    left: 50%;
    transform: translateX(-50%);
    z-index: 99;
    -webkit-font-smoothing: subpixel-antialiased;
    -webkit-transform: translateZ(-50) scale(1.0, 1.0);
}

.bottom_center {
    position: fixed;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 99;
    -webkit-font-smoothing: subpixel-antialiased;
    -webkit-transform: translateZ(-50) scale(1.0, 1.0);
}

.navigation__blurred {
    background: rgba(0,0,0,.25);
    backdrop-filter: blur(1rem);
}

.navigation{
    margin: 0;
}

.navigation li .navigation__link {
    color: #222;
    font-family: "Skanska Regular", sans-serif;
    font-size: 1.6rem;
    text-transform: unset;
    transition: all .2s ease-out;
    background-color: #fff;
}
.navigation li .navigation__link:hover,
.navigation li .navigation__link:focus,
.navigation li .navigation__link:active {
    color: #0078C9; background-color: #fff;
}

.navigation li .navigation__link__active,
.navigation li .navigation__link__active:hover,
.navigation li .navigation__link__active:focus {
    color: #fff; background-color: #0078C9;
    
}

/* ICONS */
.icon {
    display: inline-block;
    background-size: cover;
    transition: all .2s ease-out;
}

.icon__right {
    margin-left: 2rem;
}

.icon__left {
    margin-right: 2rem;
}

.link__logo {
    text-decoration: none;
}

.logo--skanska img {
    height: 2rem;
    /*position: absolute;
    top: 1rem; left: 2.4rem;*/
}

.logo--port img {
    height: 6rem;
}

/* BUTTONS */
.button__default {
    background-color: #fff;
    color: #222;
    border: none;
    /*text-transform: uppercase;*/
    text-transform: unset;
    transition: all .2s ease-out;
    font-family: "Skanska Bold", sans-serif;
    cursor: pointer;
    font-size: 1.6rem;
    padding: 2rem 2.5rem;
    /*border-radius: .5rem;*/
    position: relative;
    z-index: 1;
    width: 24rem; height: 6rem;
    text-align: left;
}

.button__default span,
.button__rounded span {
    display: inline-block;
}

.button__default span {
    height: 2.8rem;
}

.button__rounded span {
    height: 3.2rem;
}

.button__default object,
.button__rounded object {
    position: relative;
    z-index: -1;
}

.button__rounded {
    background-color: #0078C9; color: #fff;
    padding: 1rem;
    border-radius: 100%;
    width: 5rem; height: 5rem;
}
.button__rounded:hover,
.button__rounded:focus {
    background-color: #005fa0; color: #fff;
}

/* BUTTON RED */
.button--red,
.button--red:hover,
.button--red:focus {
    background-color: #0078C9; color: #fff;
}
.button--red:hover,
.button--red:focus {
    background-color: #005fa0; color: #fff;
}

/* BUTTON 360 */
.button--360 {
    background-color: #0078C9; color: #fff;
}
.button--360:hover,
.button--360:focus {
    background-color: #005fa0; color: #fff;
}

/* BUTTON BOOK */
.button--book,
.button--book:hover,
.button--book:focus {
    background-color: #fff; color: #222;
    font-family: "Skanska Regular", sans-serif;
}
.button--book:hover,
.button--book:focus {
    background-color: #fff; color: #0078C9;
}

.button--book--mobile {
    padding: 1.6rem;
    width: 6rem;
    border-radius: 100%;
}

/* BUTTON ENTER */
.select_project {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
}
.select_project img {
    transition: all .2s ease-out;
}
.select_project:hover img,
.select_project:focus img {
    transition: all .2s ease-out;
    transform: scale(1.05);
}
.select_project .button__rounded__large,
.select_project .button__rounded__large:hover,
.select_project .button__rounded__large:focus {
    background-color: transparent;
    padding: 0;
    position: relative;
    text-transform: uppercase;
    border: none;
    transition: color .2s ease-out;
}
.select_project .button__rounded__large h1 {
    margin: 0;
    text-align: center;
    font-family: "Skanska Bold", sans-serif;
    text-transform: uppercase;
    color: #222;
    font-size: 1.8rem;
    line-height: 1.2;
    transition: all .2s ease-out;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
}
.select_project .button__rounded__large:hover h1 {
    color: #0078C9;
}

.button__list {
    padding: 1.5rem 5rem !important;
    border-radius: 2.5rem;
}


.button__list {
    padding: 1.5rem 5rem !important;
    border-radius: 2.5rem;
}

/* BUTTON - FORM */
.button--submit {
    background-color: #0078C9; color: #fff;
    min-width: 15rem;
    text-align: center;
}
.button--submit:hover,
.button--submit:focus {
    background-color: #005fa0; color: #fff;
}

/* BUTTON OPEN VR */
.button__open_vr,
.button__open_vr:hover,
.button__open_vr:focus {
    background: #ccc;
    position: relative;
    right: 7rem;
    bottom: -.5rem;
    margin-top: .9rem;
}

.button__open_vr__active,
.button__open_vr__active:hover,
.button__open_vr__active:focus {
    background: #191A1A;   
}

/* VIDEO BACKGROUND */
.fullscreen__background {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    z-index: -1;
}

.fullscreen__background__video {
    object-fit: cover;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
}

/* SPECIFIC */

/* ASK ME */
.ask_me--card {
    padding: 3rem;
    box-shadow: none;
    border-radius: 1rem;
}

/* SELECT PROJECT PANEL */

.uk-modal {  
    background: rgba(0,0,0,.2);
    backdrop-filter: blur(1rem);
    /*padding: 2rem 3rem;*/
    /*position: relative;*/
}
.uk-modal-header,
.uk-modal-footer {
    border-radius: .5rem;
}

/* PROJECT PAGE */
.project__title {
    color: #fff;
}

/* EXTERIOR */
.background--3d_rotation {
    min-width:100%; 
    min-height:100%;
    object-fit: cover;
}

#renderCanvas {
    width: 100%; height: 100%;
    touch-action: none;
    top: 0; left: 0;
    position: absolute;
    z-index: 0;
}

/* CONTACT FORM */
.form__input input,
.form__textarea textarea {
    display: block;
    width: 100%;
    margin-bottom: 1rem;
    font-size: 1.4rem;
    font-family: "Skanska Regular", sans-serif;
    padding: 2rem;
    border: .1rem solid #e5e5e5;
    background-color: transparent;
    transition: all .2s ease-out;
    outline: none;
}
.form__input input:focus,
.form__textarea textarea:focus {
    border: .1rem solid #222;
}
::placeholder {
    color: #222;
    opacity: 1;
}

/* PRELOADER */
.preloader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    transition: 1s;
}
.preloader-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    height: 50%;
    width: 100%;
    background: #000;
    background-image: linear-gradient(to bottom, rgb(0, 0, 0), rgb(19, 19, 19));
    z-index: 1000;
    transition: all 1s ease-out;
}
.preloader-wrapper.complete::before {
    top: -50%;
    background: transparent;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(19, 19, 19, 0));
}
.preloader-wrapper::after {
    content: '';
    position: absolute;
    bottom: 0;
    height: 50%;
    width: 100%;
    background: #000;
    background-image: linear-gradient(to top, rgb(0, 0, 0), rgb(19, 19, 19));
    z-index: 1000;
    transition: all 1s ease-out;
}
.preloader-wrapper.complete::after {
    bottom: -50%;
    background: transparent;
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0), rgba(19, 19, 19, 0));
}
.preloader-wrapper-logo img {
    height: 6rem;
    margin-bottom: 2rem;
}
.preloader-wrapper-logo {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -120%);
    z-index: 1001;
    transition: all 1s ease-out;
}
.preloader-wrapper-loading {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, 20%);
    z-index: 1001;
    opacity: 1;
    animation: blink 1s infinite;
    transition: all 1s ease-out;  
}
.preloader-wrapper-logo.complete {
    top: 0%;
    opacity: 0;
}
.preloader-wrapper-loading.complete {
    top: 100%;
    opacity: 0;
}
.loading-text {
    font-size: 1.8rem;
    color: #fff;
    font-family: "Skanska Bold", sans-serif;
    text-transform: uppercase;
}

.uk-modal-body {
    color: #222;
    font-family: "Skanska Regular", sans-serif;
    font-size: 1.4rem;
    padding: 2rem;
}

/* INFO */
.info__data__container ul {
    list-style: none;
    color: #222;
    font-size: 1.6rem;
    padding: 0;
}
.info__data--left {
    font-family: "Skanska Regular", sans-serif;
}
.info__data--right {
    font-family: "Skanska Bold", sans-serif;
}
.info__data--left ul li,
.info__data--right ul li {
    margin-bottom: .5rem;
}
.info__floorplan__container img {
    /*margin-top: 2rem;*/
    max-height: 50rem;
}

/* SEARCH BAR */
.search_bar {
    position: absolute;
    top: 11rem;
    right: 3rem;
    width: 20%;
    height: 5rem;
    border: none;
    border-radius: 2.5rem;
    font-size: 1.4rem;
    font-family: "Skanska Regular", sans-serif;
    color: #222;
    padding-left: 3rem;
}

/* DROPDOWN */
.interior__dropdown__panel {
    box-shadow: none;
    width: 19rem;
}
.interior__dropdown__panel .uk-card-body,
.interior__dropdown__panel .uk-card-footer {
    padding: 2rem;
}

/* MOBILE NOT SUPPORTED */
.mobile_only {
    position: fixed;
    height: 100%;
    width: 100%;
    top: 50%;
    left: 50%;
    z-index: 999;
    transform: translate(-50%, -50%);
    padding: 0;
}
.mobile_only p {
    color: #222;
    font-size: 1.6rem;
}

.list__hotspots {
    background-color: #fff;
    color: #222;
    font-size: 1.6rem;
    /*border-radius: .5rem;*/
    padding: 3.2rem;
}
.list__hotspots ul {
    margin: 0;
}
.list__hotspots ul li .navigation__link {
    transition: all .2s ease-out;
    text-decoration: none;
    color: #222;
}
.list__hotspots ul li .navigation__link:hover,
.list__hotspots ul li .navigation__link:focus {
    color: #0078C9;
}

/* DEVELOPED BY GRANDPANO */
.developed,
.developed:focus {
    text-align: center;
    text-transform: uppercase;
    color: #fff;
    opacity: .7;
    font-family: 'Skanska Light', sans-serif;
    font-size: 1.2rem;
    letter-spacing: .2rem;
    transition: all .2s ease-out;
}
.developed:hover {
    color: #fff;
    opacity: 1;
    text-decoration: none;
}

/* DARKEN */
.darken {
    position: absolute;
    top: 0;
    width: 100%;
    bottom: 0;
    z-index: 1;
    background: #222;
    opacity: .5;
}

/* SPACE */
.spacer {
    width: .5rem;
}

/* SEARCH */
.search-button {
    width: 5rem !important; height: 5rem !important;
    box-shadow: none !important;
}

body {
    background: #fff !important;
    animation: fadein ease 1s !important;
}

@keyframes fadein {
    0% {opacity: 0;}
    50% {opacity: 0;}
    100% {opacity: 1;}
}