body {
    font-family: Arial;
    background-color: #222222;
    margin: 0px;
    overflow: hidden;
}

/*TITLE SCREEN*/
#TitleScreen{
    position: absolute;
    top:0;
    left:0;
    bottom:0;
    right:0;
    z-index: 110;
    overflow: hidden;
}
#TitleScreen.hidden{
    pointer-events: none;
}
#TitleScreen .content{
    position: absolute;
    top:0;
    left:0;
    height:100%;
    right:0;
    background: #DDD6CE;
    transition: top .5s;
    transition-timing-function: ease-out;
}
#TitleScreen.hidden .content{
    top: -100%;
    transition-timing-function: ease-in;
}
#TitleScreen #aspectContainer{
    position: absolute;
    bottom: 0;
    left:50vw;
    transform: translate(-50%,0);
    overflow: hidden;
    padding-top:50px;
}
#TitleScreen .locations,
#TitleScreen .powertrains{
    position: absolute;
    width: 100%;
    height: calc(100% - 50px);
    display: flex;
    background-image: url(../data/images/title.jpg?1n);
    background-size: cover;
    top:50px;
    transition: top .5s;
/*    opacity: .5;*/
}
#TitleScreen.introAnimOn .locations{
    animation: locationsInAnim2 3.9s /*infinite*/;
}
@keyframes locationsInAnim2{
    0%  {height:  0%;overflow: hidden;}
    40% {height:  0%;overflow: hidden;}
    60% {height:calc(100% - 50px)}
}
/*
@keyframes locationsInAnim{
    0%  {height:  0%;top:100%;background-position-y:100%;overflow: hidden;}
    75% {height:  0%;top:100%;background-position-y:100%;overflow: hidden;}
    100%{height:100%;top:  0%;background-position-y:00%;}
}
*/
#TitleScreen .locations.closed{
    top:-100%;
}
#TitleScreen .powertrains.closed{
    top:110%;
}
#TitleScreen .powertrains{
    background-image: url(../data/images/powertrains2.jpg?1d);
}
#TitleScreen .location,
#TitleScreen .powertrain{
    width:25vw;
    max-width: 300px;
    height: 100%;
/*    max-height: 660px;*/
    position: relative;
    cursor: pointer;
    transition: background .3s, opacity .3s;
}
#TitleScreen .powertrain{
    width: 20%;
}
#TitleScreen .locations:hover .location,
#TitleScreen .powertrains:hover .powertrain{
    background:rgba(221, 214, 206, 0.29);
/*    opacity: .5;*/
}
#TitleScreen .locations:hover .location:hover,
#TitleScreen .powertrains:hover .powertrain:hover{
    background: none;
    opacity: 1;
}
#TitleScreen .location .text,
#TitleScreen .location .shorttext,
#TitleScreen .powertrain .text{
    position: absolute;
    bottom:40px;
    width: 100%;
    text-align: center;
    transition: bottom .2s;
    background-size: cover;
}
#TitleScreen .location:hover .text,
#TitleScreen .powertrain:hover .text{
    bottom: 48px;
}
#TitleScreen .location .icon,
#TitleScreen .powertrain .icon{
    position: absolute;
    left:calc(50% - 15px);
    bottom: 5px;
    transition: bottom .2s;
}
#TitleScreen .location:hover .icon,
#TitleScreen .powertrain:hover .icon{
    bottom: 15px;
}

#TitleScreen .location .loadProgress,
#TitleScreen .powertrain .loadProgress{
    position: absolute;
    top:calc(50% - 10px);
    width: 100%;
    text-align: center;
    display: none;
    font-size: 20px;
    color: white;
}
#TitleScreen .powertrain .loadProgress{
    color: black;
}
#TitleScreen .location.preselected{
    background: rgba(0,0,0,.4) !important;
}
#TitleScreen .location.preselected .loadProgress,
#TitleScreen .powertrain.preselected .loadProgress{
    display: block;
}

#TitleScreen .locations .propmt,
#TitleScreen .powertrains .propmt{
    position: absolute;
    top: -45px;
/*    line-height: 45px;*/
    width: 100%;
    text-align: center;
    font-size: 24px;
/*    background: rgba(255, 255, 255, 0.38);*/
}
#TitleScreen.introAnimOn .locations .propmt,
#TitleScreen.introAnimOn .powertrains .propmt{
    animation: promptAnim 3.9s /*infinite*/;
}
@keyframes promptAnim{
    0%  {opacity: 0;}
    75% {opacity: 0;}
    95%{opacity: 1;}
}
@media(max-width:1000px), (max-height: 600px){
    #TitleScreen .location .text,
    #TitleScreen .location .shorttext,
    #TitleScreen .powertrain .text{
        bottom:10px;
    }
    #TitleScreen .location:hover .text,
    #TitleScreen .location:hover .shorttext,
    #TitleScreen .powertrain:hover .text{
        bottom:18px;
    }
    #TitleScreen .location .icon,
    #TitleScreen .powertrain .icon{
        display:none;
    }
}

@media(max-width:700px), (max-height: 410px){
    #TitleScreen .location .text,
    #TitleScreen .location .shorttext,
    #TitleScreen .powertrain .text{
        font-size: 13px;
        bottom:5px;
    }
    #TitleScreen .location:hover .text,
    #TitleScreen .location:hover .shorttext,
    #TitleScreen .powertrain:hover .text{
        bottom:13px;
    }
    #TitleScreen .locations .propmt,
    #TitleScreen .powertrains .propmt{
        font-size: 20px;
    }
}
.introAnimation{
    position: absolute;
    width: 100%;
    height:100%;
    background: rgba(0,0,0,.1);
    background: #DDD6CE;
    display: none;
    
}
.introAnimOn .introAnimation{
    display: block;
    animation: introAnim 3.8s /*infinite*/;
    opacity: 0;
}
@keyframes introAnim{
    0%  {opacity:0;transform:translate(45.8%,0)}
    20% {opacity:1;}
    25% {opacity:1;transform:translate(0,0)}
    100%{opacity:1;}
}
.introAnimOn .introAnimation #top{
    position: absolute;
    width: 93%;
    left:4.5%;
    top:12.3%;
/*    opacity: .5;*/
    animation: topAnim 1.9s /*infinite*/;
}
@keyframes topAnim{
    0%  {transform:rotate(0deg)}
    24% {transform:rotate(0deg)}
    50% {transform:rotate(-.8deg)}
    70% {transform:rotate(.1deg)}
    78% {transform:rotate(0deg)}
    100%{transform:rotate(0deg)}
}
.introAnimOn .introAnimation #ground{
    position: absolute;
    width: 93%;
    left:5.3%;
    top:60%;
/*    opacity: .5;*/
    
}
.introAnimOn .introAnimation #tire1{
    position: absolute;
    width: 17.3%;
    border-radius: 50%;
    left:9%;
    top:44%;
/*    opacity: .9;*/
    animation: tireAnim 1.9s /*infinite*/;
    
}
.introAnimOn .introAnimation #tire2{
    position: absolute;
    width: 17.3%;
    border-radius: 50%;
    left:72.9%;
    top:44%;
/*    opacity: .9;*/
    animation: tireAnim 1.9s /*infinite*/;
}
@keyframes tireAnim{
    0%  {transform:rotate(210deg)}
    50% {transform:rotate(0deg)}
}

/*//////////////////////////// 3d container //////////////////////////////////*/
#container {
    position: absolute;
    top: 0px;
    left: 0px;
    width:100%;
    height:100%;
}


/*//////////////////BASF////////////////////*/
#viewOverlay{
    position: absolute;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
}
.point{
    position: absolute;
    top:0;
    left:0;
    width: 26px;
    height:26px;
    margin-top: 0;
    margin-left:0;
    border-radius: 50%;
    cursor: pointer;
    opacity: 1;
    transition: opacity .3s;
}
.point .visual{
    width:  100%;
    height: 100%;
    box-sizing: border-box;
    border-radius: 50%;
    border: 4px solid white;
    background: transparent;
    transition: all .2s;
}
.point .name{
/*    pointer-events: none;*/
    position: absolute;
    top:0;
    right: 14px;
    height: 26px;
    line-height: 26px;
    font-size: 18px;
    background: #fff;
    border-radius: 15px 0 0 15px;
    overflow: hidden;
    width: 0;
    transition: all .2s;
}

.point .dot{
    position: absolute;
    background: #F88C11;
    width:  10px;
    height: 10px;
    left:8px;
    top:8px;
    border-radius: 50%;
    transition: all .2s;
}


.point.hidden{
    opacity: 0;
    pointer-events: none;
}
.point.hidden .visual{
    transform: scale(.1);
}

.point.close{
    width: 34px;
    height: 34px;
    opacity: 1;
}
.point.close.hidden{
    pointer-events: all;
}
.point.close.hidden:hover{
    opacity: 1;
}
.point.close .visual,
.point.close.hidden .visual{
    border-width: 14px;
    background: rgba(0,0,0,.6);
    transform: none;
}
.point.close .name,
.point.close:hover .name{
    width: 55px;
    padding: 0 0 0 15px;
    top:4px;
    right: 28px;
    pointer-events: all;
}
/*have to do this manually because back word in kor is longer. automatic solution would be better*/
.lang-KOR .point.close .name,
.lang-KOR .point.close:hover .name{
    width: 80px;
}
.point.close.hidden .name{
    width:0;
    padding: 0;
}
.point.close .x1,
.point.close .x2{
    background: #F88C11;
    position: absolute;
    right: 4px;
    left:  4px;
    bottom:15px;
    top:   15px;
    transform: rotate(45deg);
    transition: all .1s;
}

.point.close .x2{
    transform: rotate(-45deg);
}
.point.multi .visual,
.point.multi:hover .visual{
    border-width: 11px;
}
.point .plus1,
.point .plus2{
    background: #F88C11;
    position: absolute;
}
.point .plus1{
    top:    4px;
    bottom: 4px;
    left:  11px;
    right: 11px;
}
.point .plus2{
    top:   11px;
    bottom:11px;
    left:   4px;
    right:  4px;
}
.point:hover .plus1{
    top:    3px;
    bottom: 3px;
}
.point:hover .plus2{
    left:   3px;
    right:  3px;
}
/*//////////inverted subpoints////////////*/
.point.invert .visual{
    border-color: #F88C11;
}
.point.invert .dot{
    background: white;
}
.point.invert .name{
    transform-origin: bottom right;
    padding: 0 20px 0 10px;
    background:  #F88C11;
    color: white;
    width: max-content;
}
.point.close.invert .x1,
.point.close.invert .x2{
    background: white;
}
.point.showWhenHidden.hidden{
    opacity: .5;
}

.point.anchor{
/*
    top:calc(50vh - 13px);
    left:calc(50vw - 13px);
*/
}
.point.anchor .line{
    position: absolute;
    top:11px;
    left:24px;
    background: white;
    height:4px;
    width:calc(50vw - 60px);
}
@media(max-width:730px){
    .point.anchor .line{
        top:24px;
        left:11px;
    }
}

.point:hover{
    z-index: 101 !important;
}



.point .name{
    transform-origin:bottom right;
    transform: scaleX(0%) !important;
}

.point:hover .name,
.point.open  .name{
    width: max-content;
    height: auto;
    /* max-width: 250px; */
    padding: 0 20px 0 10px;
    transition: 0.2s;
}

.point:hover .name {
    transform: scaleY(100%) !important;
    transition: 0.2s;    
}


/* .point.short:hover .name,
.point.short.open  .name{
    width: 100px;
}
.point.long:hover .name,
.point.long.open  .name{
    width: 210px;
}
.point.double:hover .name,
.point.double.open  .name{
    width: 180px;
    height:52px;
    padding: 0 20px 0 10px;
    border-radius: 15px;
    right:0;
}
.point.triple:hover .name,
.point.triple.open  .name{
    width: 180px;
    height:80px;
    padding: 0 20px 0 10px;
    border-radius: 15px;
    right:0;
} */


.point:hover .visual,
.point.open  .visual{
    background: rgba(0,0,0,.4);
    border-width: 8px;
/*    transform: scale(1.2);*/
}
.point:hover .dot,
.point.open  .dot{
    width: 14px;
    height:14px;
    left:6px;
    top: 6px;
}

.point:hover.close .visual{
    border-width: 16px;
}
.point:hover.close .x1,
.point:hover.close .x2{
    right: 2px;
    left:  2px;
    bottom:16px;
    top:   16px;
}

.visual .name{
    transform-origin: bottom right;
}

.point.play{
    width: 36px;
    height: 36px;
}
.point.play .visual{
    border-width: 13px;
}
.point.play .play{
    position: absolute;
    left:0;
    top:0;
    width:100%;
    height: 100%;
}

.point.play .name{
    right: auto;
    left: 18px;
    top:5px;
    border-radius: 0 18px 18px 0;
    transform-origin: bottom left;
    text-align: right;
}
.point.play:hover .name,
.point.play.open .name{
    padding: 0px 10px 0px 30px;
}

.point.large .visual{
    height:30px;
    width:30px;
    border-width: 5px;
}
.point.large:hover .visual{
    border-width: 10px;
}
.point.large .dot{
    height:14px;
    width:14px;
}
.point.large:hover .dot{
    left:8px;
    top:8px;
}
.point.large .name{
    top:2px;
}

.point.blue .dot{
    background:#20A0D2;
}
.point.blue .name{
    color:#071e50;
}


/*/////////////////////BASF specific//////////////////////*/
.filters{
    position: absolute;
    top:0;
    right:0;
}
.filterOption input{
    display: inline-block;
}
.filterOption .name{
    display: inline-block;
}

.btn{
    cursor: pointer;
    transition: opacity .1s;
}
.btn:hover{
    opacity: .7;
}



.infoBox {
    position: absolute;
    z-index: 116;
    right:20px;
    top:50vh;
    transform: translate(0,-50%);
    width: 530px;
    max-height: 100vh;
    overflow-y: auto;
}
.infoBox .topbar{
    background: #F39500;
    padding: 18px;
    padding-left: 33px;
    font-size: 25px;
    font-weight: bold;
    color: white;
}
.infoBox .topbar .header{
    padding-right: 36px;
}
.infoBox .topbar .icon.close{
    color: white;
    position: absolute;
    top:16px;
    right: 16px;
}
.infoBox .tabs{
    background: #F39500;
    margin-top:5px;
    
/*    height:47px; add this to make it a oneliner*/
    overflow: hidden;
    margin-bottom: -1px;/*to avoid half-pixel gaps to be displayed between this and content box*/
    padding-left:10px;
    padding-right:10px;
    position: relative;
}
.infoBox .tabs .scrollContent{
    display: flex;
    flex-wrap: wrap;/*remove this to make it a oneliner*/
    overflow-x: auto;
    scroll-behavior: smooth;
/*    overflow-x: hidden;*/
}
.infoBox .tabs .scrollLeft,
.infoBox .tabs .scrollRight{
    display: none;/*remove this to make it a oneliner*/
    position: absolute;
    top:0;
    background-color:rgba(255, 255, 255, 0.81);
    height: 100%;
    width: 30px;
    background-size: 2100%;
    background-repeat: no-repeat;
    background-position-y: 9px;
    transition: background-color .1s;
}
.infoBox .tabs .scrollLeft:hover,
.infoBox .tabs .scrollRight:hover{
    opacity: 1;
    background-color: #ddd;
    background-color: white;
}
.infoBox .tabs .scrollLeft.disabled,
.infoBox .tabs .scrollRight.disabled{
    display: none;
}
.infoBox .tabs .scrollLeft{
    left:0;
}
.infoBox .tabs .scrollRight{
    right:0;
}
.infoBox .tabs .tab{
    color: white;
    cursor: pointer;
    flex-shrink: 0;
    padding: 14px;
    padding-left:15px;
    padding-right:15;
    padding-bottom: 12px;
    font-size: 19px;
}
.infoBox .tabs .tab sup{
    vertical-align:text-top;
}
.infoBox .tabs .tab:first-of-type{
/*    padding-left: 32px;*/
}
.infoBox .tabs .tab:hover{
    background: rgba(255,255,255,.1);
}
.infoBox .tabs .tab.active{
    cursor: auto;
    background: white;
    color: #444;
}
.infoBox .content{
    background: white;
    color: #111;
    font-size: 17px;
    position: relative;
}
.infoBox .description{
    padding: 32px;
    min-height: 80px;
}
.actions{
    padding: 32px;
    padding-top: 0;
    display: flex;
    justify-content: space-between;
}
.infoBox .video{
    margin: 0 32px -10px 32px;
    padding-top: 32px;
    /* height: 262px; */
    cursor: pointer;
    position: relative;
}
.infoBox .video iframe{
    width: 100%;
}
.infoBox .video img{
    width: 100%;
}
.infoBox .video img.playButton{
    position: absolute;
    top:32px;
    left:0;
}
.infoBox .video:hover .playButton{
    opacity: .9;
}


/*more options in popup*/
.optionsbtn{
    position:absolute;
    top:0;
    right:0;
    width:30px;
    height: 35px;
    cursor: pointer;
}
.optionsbtn .icon{
    margin-top:5px;
    width: 30px;
    height:30px;
}
.moreoptions{
    position: absolute;
    top:35px;
    right:0px;
    background-color: white;
    width: 250px;
    border:1px solid #dcdcdc;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}
.moreoptions .option{
    padding:10px;
}

@media(max-width:1120px){
    .infoBox{
        width: 400px;
    }
}
@media(max-width:730px){
    .infoBox{
        right: 0;
        width: 100%;
        top:auto;
        bottom: 0;
        transform: none;
    }
}

.infoBox.batteryVis .topbar{
    background: #1D334A;
    margin-bottom: 5px;
}
.infoBox.batteryVis .tabs{
    display: none;
}
.infoBox.batteryVis .description{
    display: none;
}
.infoBox.batteryVis .actions .btn:first-of-type{
    display: none;
}
.infoBox.batteryVis .content{
    
}
.infoBox.batteryVis .actions{
    justify-content: flex-end;
    padding: 25px;
    padding-top: 15px;
}
.infoBox .PreviewImage{
    width: 100%;
}


.icon{
    width: 36px;
    height: 36px;
    line-height: 36px;
    font-size: 36px;
    text-align: center;
    background: url(../data/ui/Icons.svg?1a);
    background-size: cover;
    background-position: 0% 0;
}
.icon.close   { background-position:   0% 0; }
.icon.world   { background-position: 2.5% 0; }
.icon.arrowR  { background-position:   5% 0; }
.icon.mail    { background-position: 7.5% 0; }
.icon.document{ background-position:  10% 0; }
.icon.mylist  { background-position:12.5% 0; }
.icon.filter  { background-position:  15% 0; }
.icon.arrowDB { background-position:17.5% 0; }
.icon.addList { background-position:  20% 0; }
.icon.closeO  { background-position:22.5% 0; }
.icon.checkOn { background-position:  25% 0; }
.icon.checkOff{ background-position:27.5% 0; }
.icon.remove  { background-position:  30% 0; }
.icon.arrowL  { background-position:32.5% 0; }
.icon.delList { background-position:  35% 0; }
.icon.play    { background-position:37.5% 0; }
.icon.back    { background-position:  40% 0; }
.icon.plus    { background-position:42.5% 0; }
.icon.minus   { background-position:  45% 0; }
.icon.fullscre{ background-position:47.5% 0; }
.icon.search  { background-position:  50% 0; }
.icon.contact { background-position:52.5% 0; }
.icon.more    { background-position:  55% 0; }

.icnBtn{
    background: white;
    color: #F39500;
    display: flex;
    justify-content: space-between;
    text-decoration: none;
    
    line-height: 36px;
    height:36px;
    
    align-items: center; /* align vertical */
}
.icnBtn.disabled{
    opacity:0.5;
}
.icnBtn .text{
    display: inline-block;
    font-size: 16px;
    line-height: 19px;
    font-weight: bold;
    vertical-align: middle;
}
.icnBtn .icon{
    margin-left: 8px;
    flex-shrink: 0;
}

/*
#hotspots{
    position: absolute;
    top:150px;
    left:0;
    width: 150px;
}
#subpoints{
    position: absolute;
    top:150px;
    left:152px;
    width: 150px;
}
*/

/*
#hotspots .hotspot,
#subpoints .subpoint{
    background: white;
    cursor: pointer;
    padding: 5px;
    margin-top:2px;
}
*/
#hotspots .hotspot:hover,
#subpoints .subpoint:hover{
    background: #eee;
}

.topLeftMenu {
    position: absolute;
    top:20px;
    right:0;
    z-index: 101;
    top:71px;
}

.topLeftMenu,
#Fullscreen{
    /*align child items on the right side*/
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.topLeftMenu > .icnBtn,
#Fullscreen  > .icnBtn{
    width: 42px; /*with padding will be 48x48px box*/
    padding: 6px;
    padding-left:0px;
    
    margin-top:3px;
    
    overflow: hidden; /*hide text when out of view*/
    position: relative;/*to allow absolute positioning of children*/
    
    transition: background .15s, width .25s;
}
.topLeftMenu > .icnBtn:hover,
#Fullscreen  > .icnBtn:hover{
/*    padding-left:17px;*/
    width:130px;
}

.topLeftMenu > .icnBtn .icon,
#Fullscreen  > .icnBtn .icon{
/*    margin-left:6px;*/
    position: absolute;
    right:6px;
    top:6px;
}
.topLeftMenu > .icnBtn .text,
#Fullscreen  > .icnBtn .text{
    width:86px;
    
    /*hide out of view until hover*/
    position: absolute;
    left: -86px;
    transition: left .25s;
}
.topLeftMenu > .icnBtn:hover .text,
#Fullscreen  > .icnBtn:hover .text{
    /*move into view on hover*/
    left: 10px;
}
.icnBtn .text.singleLine{
/*    line-height: 36px;*/
}
.topLeftMenu > .icnBtn:hover,
#Fullscreen  > .icnBtn:hover{
    opacity: 1;
    background: #eee;
}

#trendsButton{
    display: none;
}

#Overlays {
    position: absolute;
    top:20px;
    right:0;
    z-index: 117;
}

#Fullscreen{
    position: absolute;
    top:20px;
    right:0;
    z-index: 115;
}

@media (max-height: 600px), (max-width:730px){
    .topLeftMenu {
        top:5px;
        top:51px;
    }
    #Fullscreen{
        top:0px;
    }
    #Overlays {
        top:0px;
    }
}

.overlay{
    min-width: 260px;
    width: 100vw;
    max-width: 600px;
    margin-top: 3px;
    position: absolute;
    right: 0;
    top:0;
    background: white;
    padding: 20px;
    box-sizing: border-box;
}
.overlay .header{
    font-size: 25px;
}
.overlay .icon.closeO{
    position: absolute;
    top:16px;
    right:20px;
}

/*lists*/
.list,
.expandableList{
    margin-top:10px;
}
.list .listItem,
.expandableList .listItem .headLine{
    display: flex;
    align-items: center;
}
.list .listItem .text{
}

.overlay.language{
    width:300px;
    min-width: 153px;
    
/*
    width:153px;
    margin-top:100px;
*/
}
/*
.overlay.language .header{
    display: none;
}
*/
.overlay .languages{
    margin-top:20px;
}
.overlay .language{
    font-size:18px;
/*    font-weight: bold;*/
    line-height: 40px;
    color: #F39500;
    margin-top:2px;
    padding-left: 10px;
}
.overlay .language.selected{
    background: #F39500;
    color:white;
    padding-left: 10px;
}
.overlay .language:hover{
    opacity: 1;
}

#SearchBar{
    font-size: 20px;
    width:calc(100% - 10px);
    margin-top:20px;
    border: 1px solid #555;
    padding: 5px;
}
.overlay.search .placeholder{
    text-align: center;
    padding-top:40px;
    padding-bottom: 20px;
    color:#aaa;
}

.overlay.material,
.overlay.discover,
.overlay.search{
/*    width: 300px;*/
    max-height: calc(100vh - 30px);
    overflow-y: auto;
}
.overlay.material .list,
.overlay.material .expandableList,
.overlay.discover .expandableList{
    margin-bottom: 30px;
}
/*discover by material drop-down list*/
.overlay.material .pointList,
.overlay.discover .pointList,
.overlay.search   .pointList{
    margin-left:36px;
/*    border-left: 1px solid #ccc;*/
    padding-top:5px;
    padding-bottom: 5px;
    display: flex;
    align-items: flex-start;
}
.overlay.search   .pointList{
    margin-left: 0;
}
.overlay.material .pointList .pointLocation,
.overlay.discover .pointList .pointLocation,
.overlay.search   .pointList .pointLocation{
    padding-left: 10px;
    width: 250px;
}
.overlay.search   .pointList .pointLocation:hover{
    cursor: pointer;
    opacity: .7;
}

@media(max-width:550px){
    .overlay.material .pointList .pointLocation,
    .overlay.discover .pointList .pointLocation,
    .overlay.search   .pointList .pointLocation{
        width: 200px;
    }
}

.overlay.material .pointList .pointLocation .hotspot,
.overlay.discover .pointList .pointLocation .hotspot,
.overlay.search   .pointList .pointLocation .hotspot{
    color: #aaa;
}

.overlay.material .pointList .sublist,
.overlay.discover .pointList .sublist,
.overlay.search   .pointList .sublist{
    border-left: 1px solid #ccc;
    margin-top:20px;
}

.overlay.material .pointList .link,
.overlay.discover .pointList .link,
.overlay.search   .pointList .link{
    color: #F39500;
    padding-left: 10px;
}

/* ------ my list --------- */
.overlay.myList{
    max-width: 620px;
}
.overlay.myList .list{
    padding-top: 26px;
    padding-bottom: 10px;
    margin-bottom: 80px;
    min-height: 100px;
    max-height: calc(100vh - 220px);
    overflow-y: auto;
}

.overlay.myList .list .placeholder{
    color: #aaa;
    text-align: center;
}
.overlay.myList .listItem{
    margin-left: 10px;
    margin-right: 10px;
    justify-content: space-between;
}
.overlay.myList .part{
    font-weight: bold;
    width: 200px;
}
.overlay.myList .product{
    width:150px;
}
.overlay.myList .link{
    color: #F39500;
}
.overlay.myList .icon.remove.btn{
    margin: -2px;
}
.overlay.myList .description{
    display: none;
}
.overlay.myList .extLink{
    display: none;
}

@media print{
    #container,
    #topLeft{
        display: none;
    }
    .topLeftMenu{}
    
    .overlay.myList{
        width: 1000px;
        max-width:none;
        right: 0;
        left:auto;
        justify-content: flex-start;
    }
    
    .overlay.myList .listItem{
        flex-wrap: wrap;
        margin-bottom: 20px;
    }
    .overlay.myList .description{
        display: block;
        margin-bottom: 10px;
    }
    .overlay.myList .link,
    .overlay.myList .icon.remove.btn{
        display: none;
    }
    .overlay.myList .extLink{
        display: block;
        font-size: 12px;
    }
    
}

.overlay.myList .actions{
    padding: 0;
    position: absolute;
    bottom: 0;
    left:0;
    box-sizing: border-box;
    width: 100%;
    padding: 30px;
}
@media (max-width:600px){
    
    .overlay.myList .part{
        display: none;
    }
}

.trends{
}
.trends .list{
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
}
.trends .list .trend{
    width: 165px;
    height: 100px;
    background: black;
    margin: 1px;
    padding: 5px;
    flex-shrink: 0;
    border:4px solid white;
    position: relative;
/*    box-sizing: border-box;*/
    background-size: cover;
}
.trends .list .trend .text{
    position: absolute;
    bottom:10px;
    left:10px;
    color:white;
}
.trends .list .trend .image{
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom: 0;
    background: #F39500;
    background-size: cover;
    opacity: .8;
    transition: opacity .2s;
}

.trends .list .trend:hover{
    opacity: 1;
    border: 4px solid #ddd;
}
.trends .list .trend:hover .image,
.trends .list .trend.selected .image{
    opacity: 1;
}


.trends .list .trend.selected{
    border: 4px solid #F39500;
}



#topLeft{
    position: absolute;
    left:0;
    top:20px;
    z-index: 111;
    width: 300px;
}
#topLeft .logoBar{
    display: block;
    height: 80px;
    background: #F39500;
    margin-bottom: 18px;
    cursor: pointer;
    transition: opacity .1s;
}
#topLeft .logoBar:hover{
    opacity: .85;
}
#topLeft .logoBar .logo{
    height: 80px;
    width: 160px;
    margin-left: 140px;
    background: url(../data/ui/BASF_logo.png);
    transition: margin .2s;
}
#topLeft .logoBar .logo:hover{
    margin-left: 145px;
}
.backBtn{

    height: 36px;
    background: rgba(0, 0, 0, 0.2);
    color: white;
    line-height: 36px;
    text-align: right;
    padding-right: 15px;
    cursor: pointer;
    transition: background .2s;
}
.backBtn:hover{
    background: rgba(0, 0, 0, 0.4);
}
.backBtn .icon{
    display: inline-block;
    margin-top: -2px;
    vertical-align:middle;
}
.backBtn .text{
    display: inline-block;
}
@media (max-height: 700px), (max-width:730px){
    #topLeft{
        width: 120px;
        top:5px;
    }
    .backBtn .text{
        display: none;
    }
    
    #topLeft .logoBar{
        height: 60px;
        width: 120px;
        margin-bottom: 6px;
    }
    #topLeft .logoBar .logo{
        height: 60px;
        width: 120px;
        margin-left: 0px;
        background-size: cover;
    }
    #topLeft .logoBar .logo:hover{
        margin-left: 5px;
    }
}

@media (max-height: 500px), (max-width:530px){
    #topLeft{
        width: 44px;
        top:4px;
    }
    
    #topLeft .logoBar{
        height:44px;
        width: 44px;
        margin-bottom: 4px;
    }
    #topLeft .logoBar .logo{
        height: 44px;
        width: 44px;
        background: url(../data/ui/HomeIcon.svg), #F39500;
        background-size: 77%;
        background-repeat: no-repeat;
        background-position: center;
    }
    
    .backBtn{
        height: 44px;
        line-height: 44px;
        margin-top: 0;
        padding-right: 4px;
/*        border-radius: 21px;*/
    }
    .backBtn .text{
        display: none;
    }
    .backBtn .icon{
        margin-top: 0;
    }
}

.tutorial{
    pointer-events: none;
    position: absolute;
    bottom: 30px;
    width:260px;
    left:calc(50vw - 130px);
    text-align: center;
}
.tutorial .image{
    margin-left: 80px;
    width: 100px;
    height:100px;
}

.tutorial .image.drag{
    background: url(../data/ui/tutorial01.png);
    animation: dragAnim 2.2s infinite;
}
@keyframes dragAnim{
/*
    0%  {margin-left:80px;}
    20% {margin-left:60px;}
    40% {margin-left:90px;}
    60% {margin-left:80px;}
*/
    00% {margin-left: 60px;opacity: 0; transform: scale(1.1)}
    20% {margin-left: 60px;opacity: 1; transform: scale(1.1)}
    30% {margin-left: 60px;opacity: 1; transform: scale(1)}
    70% {margin-left:100px;opacity: 1; transform: scale(1)}
    90% {margin-left:100px;opacity: 0; transform: scale(1.1)}
    100%{margin-left:100px;opacity: 0; transform: scale(1.1)}
}

.tutorial .image.click{
    background: url(../data/ui/tutorial02.png);
    animation: clickAnim 2s infinite;
}
@keyframes clickAnim{
    0%  {transform:scale(1)}
    12% {transform:scale(.9)}
    18% {transform:scale(.9)}
    36% {transform:scale(1.02)}
    50% {transform:scale(1)}
}

.tutorial .text{
    margin-top:10px;
    color: white;
}

/*implementation in iFrame changes*/
.noLogo #topLeft .logoBar{
    display: none;
}

#ExteriorSelection{
    position: absolute;
    top:28px;
    left:calc( 50% - 105px);
    width: 230px;
    color: white;
    cursor: pointer;
    display: flex;
}
#ExteriorSelection .exterior{
    padding: 2px 7px 1px 7px;
    transition: opacity .2s;
    text-align: center;
    opacity: .5;
    border-color: rgba(255,255,255,1);
}
#ExteriorSelection .exterior .shortname{
    display: none;
}
#ExteriorSelection .exterior:hover{
    opacity: 1;
}
#ExteriorSelection .exterior:nth-child(1){
    border-right: 1px solid;
}
#ExteriorSelection .exterior:nth-child(2){
    border-left: 1px solid;
}
#ExteriorSelection .exterior.selected{
    opacity: 1;
    border-color: white;
}
@media(max-height: 600px), (max-width:730px){
    #ExteriorSelection{
        top:19px;
    }
}
@media(max-height: 600px), (max-width:930px){
    #ExteriorSelection{
        width: 140px;
        left:calc( 50% - 70px);
    }
    #ExteriorSelection .exterior .shortname{
        display: block;
    }
    #ExteriorSelection .exterior .name{
        display: none;
    }
}

/*///////////////////credits footer///////////////////////////////*/
.footer{
    position: absolute;
    bottom: 0;
    font-size: 14px;
    color:#888;
    width: 100%;
    background: #DDD6CE;
}
.footer .copyright{
    float: left;
    margin: 5px;
    margin-left:7px;
}
.footer a{
    float:right;
    color:#888;
    margin: 5px;
    margin-right:10px;
}
.footer a:hover{
    color:#111;
}

/*///////////////////overlay iframe/////////////////////////*/
.iframeOverlay{
    position: absolute;
    z-index: 1000;
    overflow: hidden;
    width: 100%;
    height: 100%; 
}
.iframeOverlay .blackbox{
    position: absolute;
    width: 100%;
    height: 100%; 
    background:rgba(0, 0, 0, 0.6);
}
.iframeOverlay iframe{
    left: 50%;
    position: absolute;
    transform: translate(-50%, 0);
    width: 80vw;
    max-width: 1920px;
    height: 100%; 
}
.iframeOverlay .backBtn{
    line-height: 40px;
    height: 40px;
    font-size: 20px;
    top:20px;
}
.iframeOverlay .btn{
    position: absolute;
    background: #F88C11;
    color:white;
    transition: all .1s;
}
.iframeOverlay .btn:hover{
    opacity: 1;
    background: #fda43f;
}
.iframeOverlay .openNew{
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width:250px;
    height: 40px;
    line-height: 40px;
    font-size: 20px;
    text-align: center;
}
.iframeOverlay .openNew:hover{
    height: 44px;
}
/*for video*/
.iframeOverlay.videoAspect iframe{
    width: 90vw;
    max-height: 51vw;
    top:50%;
    transform: translate(-50%, -50%);
}
.iframeOverlay.videoAspect .openNew{
    display: none;
}

#toast{
    position: absolute;
    bottom:20px;
    left: 50%;
    transform: translate(-50%,0);
    background-color: white;
    z-index: 200;
    padding: 10px;
    border: 1px solid lightgray;
    font-size: 14px;
}
#toast.hidden{
    display: none;
}