@font-face{
  font-family: "WorkSansMedium";
  src: url("./fonts/WorkSans-Medium.ttf") format("truetype");
}

@font-face{
  font-family: "WorkSansRegular";
  src: url("./fonts/WorkSans-Regular.ttf") format("truetype");
}

html, body, screen {
    margin: 0px;
    padding: 0px;
    display: block;
    overflow-x: hidden;
    overflow-y: hidden;
    background-color: #2B303C; /*rgb(245,245,245);*/
    height: 100%;
    width: 100%;
}
screen {
    display: table;
    clear: both;
    margin-top: 0px;
    min-height: 100vh;
    position: relative;
}
a {
    cursor: pointer;
    color: #41B0DB;
    text-decoration: underline;
}
div, p {
    margin: 0px;
    padding: 0px;
    display: block;
    font-family: WorkSansRegular, Helvetica, sans-serif;
    font-weight: 500;
    font-size: 1.4vmax;
}
section {
    display: table-row;
    vertical-align: middle;
    height: 100%;
}
div.cell {
    display: table-cell;
    vertical-align: middle;
}
div.cell-center {
    width: 100vw;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

section#header {
    z-index: 1;
    display: block;
    height: 5.1vw;
    text-align: center;
    position: fixed;
    pointer-events: none;
    background-color: rgba(255,255,255,0);
    transition: all 0.25s ease-out;
}
section#header.opaque {
    background-color: rgba(255,255,255,0.8);
}
div#title {
    display: block; position: fixed;
    top: 2.5vmax;
    left: 3vmax;
    height: 1.5vw; /*max-width: 13vh;*/
    font-family: WorkSansRegular, Helvetica, sans-serif;
    text-decoration: none;
    font-size: 1.9vmax;
    font-smooth: subpixel-antialiased;
    color: #F4F2EF;
    z-index: 1;
}
div#title img {
    width: 17.5vmax;
}
div#title span {
    display: block;
    color: #7C7C7C;
    font-size: 0.9vmax;
}
section#header div.menu {
    display: block;
    position: absolute;
    right: 4.15vmax;
    top: 3.15vmax;
    font-size: 1vmax;
    pointer-events: none;
}
section#header div#sort-by {
    display: inline-block;
    font-size: 1vmax;
    text-align: left;
}
section#header div.menu a {
    text-decoration: none;
    color: #A7A7A7;
    margin-left: 3vmax;
    pointer-events: all;
}
section#header div.menu a:hover,
section.footer a:hover {
    color: #4C44AF !important;
}
section#header div.menu a.active {
    color: #87c !important; /*#4C44AF*/
    font-weight: bold;
    cursor: default;
}
section.footer {
    height: 6.3vmax;
}
section#header input#query {
    background: black;
    border-radius: 6px;
    border: 1px solid black;
    padding: 1.2vmax 2.3vmax 1.2vmax 2.3vmax;
    color: white;
    display: inline !important;
    transition: background 0.2s ease;
    width: 30vmax;
}
section#header input#query:focus {
    background: #003 !important;
    filter: invert(0) !important;
    color: #F5F5F5 !important;
}
section#header.opaque input#query {
    border-color: white;
    background: white;
}
section#header.opaque input#query:focus {
    background: #55199D !important;
    filter: invert(0) !important;
    color: #F5F5F5 !important;
}

div#localglobe-container {
    align-items: unset;
}


div#localglobe {
    display: block; margin-top: 6vh;
    width: 100vw;
    /*height: 66vh;*/
}

div#localglobe span {
    margin-top: 1vmax;
    font-size: 0.9vmax;
}

div#localglobe div.info-bubble {
    position: relative;
    font-size: 1vmax;
    background-color: #385364;
    color: white;
    border-radius: 3px;
    padding: 2vmax;
    padding-top: 0.5vmax;
    margin-bottom: 1vmax;
    display: none;
}
div#localglobe div.info-bubble:last-of-type:before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-top: 0px solid #9c5f5ff5;
    border-right: 30px solid #385363;
    border-bottom: 25px solid transparent;
    /* background-color: #385363; */
    position: relative;
    left: -3.8vmax;
    top: -0.5vmax;
}
div#localglobe div.info-bubble:first-of-type:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-top: 0px solid #9c5f5ff5;
    border-right: 30px solid #385363;
    border-bottom: 25px solid transparent;
    /* background-color: #385363; */
    position: relative;
    left: -3.8vmax;
    top: 2vmax;

    border-bottom: 0px solid #9c5f5ff5;
    border-top: 25px solid transparent;
}

div.jumper {
    display: block;
    text-align: center;
    position: absolute;
    bottom: -3.4vmax;
    left: 50%;
    transform: translateX(-50%);
}

div.jumper-page {
    display: inline-block;
    background: #385364;
    border-radius: 0.8vmax;
    height: 0.7vmax; width: 0.7vmax;
    margin-left: .5vmax; margin-right: .5vmax;
    cursor: pointer;
}

div.jumper-page.active {
    cursor: default;
    box-shadow: 0 0 0 3px #E7DED4, 0 0 0 5px #385364;
}

div.ill-menu-item {
    display: block;
    width: 15vw;
    white-space: nowrap;
    margin-bottom: 5vh;
    font-size: 1.5vmax;
    text-indent: 2.4vw;
    position: relative;
    color: #979797;
    cursor: pointer;
}

div.ill-menu-item:hover {
    color: #55199D;
}

div.ill-menu-item div.select-indicator {
    display: inline-block;
    width: 1.2vw;
    height: 1.25vw;
    border-radius: 1.1vw;
    background: #1A1A2E;
    position: absolute; left: 0; top: 0.15vw;
    opacity: 0;
}
div.ill-menu-item.active div.select-indicator {
    opacity: 1;
}
div.ill-menu-item.active {
    color: #1A1A2E;
    cursor: auto;
}

div#ill-menu {
    display: block; margin-top: 6vh;
    width: 46vmax; padding-left: 4vmax;
    height: 5.5vmax;
    font-size: 1.2vmax;
    line-height: 1.5vmax;
}
img#ill-next {
    position: absolute; bottom: 0; width: 5vmax; right: 6.9vw;
    height: 5vmax !important;
    cursor: pointer;
}
img#ill-next:hover {
    filter: contrast(140%) grayscale(80%);
}
div.ill-block {
    display: none;
}
div.ill-block.active {
    display: block;
}

div#burger {
    display: none;
}

screen#sitemap-screen {
    display: none;
}

div.block {
    display: block;
    float: right;
    clear: both;
    margin-right: 15vmax;
    width: 31vmax;
    font-size: 1vmax;
    line-height: 1.166vmax;
    margin-bottom: 3vmax;
}

div.block h1 {
    font-size: 1.4vmax;
}

div.query-item h1 {
    font-size: 1vmax; 
    text-align: center;
    margin-bottom: 2vmax;
}

div.query-item {
    position: relative;
    border-radius: 8px;
    height: 0vmax;
    margin-top: 3.5vh;
    font-size: 0 !important;

    /*display: flex;
    justify-content: space-between;*/
}

div.query-item div.variant span {
    font-size: 1vmax;
    font-weight: normal;
}

span.optional-br {
    display: block;
}

section#footer-mobile {
    display: none;
}

img#back {
    display: none;
}


div.variant {
    display: inline-block;
    position: absolute;
    width: 50vh;
    height: 50vh;
    font-size: 0;
    cursor: pointer;
    vertical-align: top;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 0.2vmax;
    overflow: hidden;
    transform: translateY(-50%);
    transition: 600ms left;
    transform: translateY(-50%) translateX(-50%);
    user-select: none;
    -webkit-tap-highlight-color:  rgba(255, 255, 255, 0); 

    display: grid;
    place-content: center;
}

div.variant img {
    max-width: 100%;
    max-height: 100vh;
}

div.variant.preload {
    opacity: 0.01;
    transform: translateY(-50%) translateX(-99%);
}

div.variant.left {
    left: 0 !important;
}
div.variant.right {
    left: 100% !important;
}
div.variant.active {
    overflow: visible;
    left: 50%;
    z-index: 2;
    filter: drop-shadow(3px 3px 3px rgba(1,1,1,0.3));

    animation-name: walkin;
    animation-duration: 0.7s;
    animation-delay: 250ms;
    animation-fill-mode: forwards;
}
@keyframes walkin {
  0% {
    width: 50vh;
    height: 50vh;
  }
  100% {
    width: 85vh;
    height: 66vh;
  }
}
div.variant.active.paused {
    animation: none !important;
    width: 85vh;
    height: 66vh;
}
div.variant.active.fullscreen.paused {
    animation: none !important;
    width: 100vw;
    height: 100vh;
    margin-top: -4.8vh !important;
    position: fixed;
    /*background-color: rgba(23,23,33,0.6);*/
}
div.variant.hidden-left {
    left: -50%;
    transition: 600ms left;
}
div.variant.hidden-right {
    left: 150%;
    transition: 600ms left;
}
div.variant.fs-view {
    width: 100vw !important;
    height: 100vh !important;
}

div.variant a {
    color: #4C44AF;
}

/*
div#more-of-creator div.variant.active:hover:after,
div#related-items div.variant.active:hover:after {
    display: block;
    background: url('../images/heart_icon.svg');
    background-size: cover;
    position: absolute;
    top: 0; right: 0;
    z-index: 1;
    width: 1.5vmax;
    height: 1.5vmax;
    content: '';
    cursor: pointer;
}*/

section#case-studies img.pilot-logo {
    display: none;
}

.tmp-hidden {
    display: none !important;
}
.hidden {
    display: none !important;
}
.shown {
    display: block !important;
}

section#solutions div#localglobe div.info-bubble h3 {
    cursor: pointer;
}

a.solutions-option.active {
    color: black !important;
    border-color: black !important;
}

section#solutions div#localglobe div.info-bubble h3.active:before {
    content: '–';
}

div#our-expertise-container {
    position: absolute;
    top: 30vh;
}
div.info-bubble {
    position: absolute !important;
    width: 33.5vmax !important;
}
div.info-bubble:first-of-type {
    bottom: 56vh;
}
div.info-bubble:last-of-type {
    top: 44vh;
}




section#popup input[type=button] {
    cursor: pointer;
}

section#popup {
    background-color: #7B979F;
    position: fixed;
    left: 50%;
    top: 50%;
    height: 45vh;
    transform: translateX(-50%) translateY(-50%);
    width: 47vmax;

    padding: 5.55vmax;
    z-index: 1;
    border-radius: 8px;
}

section#popup img.close-handle {
    width: 1.2vmax;
    position: absolute;
    right: 2.11vmax;
    top: 2.11vmax;
    cursor: pointer;
}

section#popup input.connect-input {
    display: inline-block;
    background: white;
    border: 1px solid #1A00FF80;
    border-radius: 4px;
    box-shadow: 0px 1px 2px rgb(0,0,0,0.3);
    font-family: WorkSansRegular, Helvetica, sans-serif;
    font-size: 1vmax;
    line-height: 1.166vmax;
    padding: 1vmax 3.7vmax 0.8vmax 3.7vmax;
}

section#popup input.connect-input-submit {
    display: inline-block;
    background: #4C44AF;
    color: white;
    border: 1px solid #1A00FF80;
    border-radius: 4px;
    box-shadow: 0px 1px 2px rgb(0,0,0,0.3);
    font-family: WorkSansRegular, Helvetica, sans-serif;
    font-size: 1vmax;
    line-height: 1.166vmax;
    padding: 1vmax 2.5vmax 0.8vmax 2.5vmax;
    margin-left: 1.3vmax;
}

section#popup div.stage {
    display: none;
}

section#popup div.item label {
    margin-left: .5vmax;
    font-weight: bold;
    font-size: 1vmax;
}

section#popup div.item {
    margin-top: 1vmax;
}

section#popup div.subitem label {
    margin-left: 1.5vmax;
    font-size: 1vmax;
}

.hidden-desktop {
    display: none;
}

input.connect-input#other-content::placeholder {
    color: #464646;
}
input.connect-input#other-content {
    box-shadow: unset !important;
    background: transparent !important;
    border-color: transparent !important;
    border-bottom: 1px solid black !important;
    border-radius: 0px !important;
    padding-left: 0.5vmax !important;
    padding-right: 0.5vmax !important;
    width: 14.3vmax !important;
}

img.filler {
    width: 100%;
    height: 100%;
}

div.overlay {
    position: fixed;
    top: 0px;
    z-index: 1;
    display: block;
    background: rgba(23,23,33,0.6);
    backdrop-filter: blur(6px);
    opacity: 0;
    width: 100vw;
    height: 100vh;
    pointer-events: none;
}

span.caption {
    display: block;
    opacity: 0;
    position: absolute;
    color: #868686;
    font-size: 1vmax;
    font-family: WorkSansRegular, Helvetica, sans-serif;
    font-smooth: subpixel-antialiased;
    margin-top: 1vmax !important;
    line-height: 1.5vmax;
    cursor: text;
    top: -100vh; /* just during loading */
    left: -100vw; /* just during loading */
}

div.variant.active > span.caption {
    opacity: 0;
    animation-name: walkincaption;
    animation-duration: 600ms;
    animation-delay: 1500ms;
    animation-fill-mode: forwards;
}
@keyframes walkincaption {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


div.query-right,
div.query-left {
    position: absolute;
    display: flex;
    justify-content: center;
    width: 6.3vh;
    height: 6.3vh;
    background-color: rgba(24,24,24,0.8);
    z-index: 3;
    cursor: pointer;
    user-select: none;
}

div.query-right {
    right: 0;
}

div.menu div#filter-by a {
    margin-left: 0vmax;
    display: block;
    /* margin-bottom: 1px; */
    padding: 0.5vmax;
    padding-top: 0.8vmax;
    padding-bottom: 0.2vmax;
    padding-right: 3.75vmax;
    color: #9ba7e1; /*#7481a1;*/
    /*background: #4e5b8b;*/ /*#2b3c54;*/
    background: rgba(5,25,55,0.3);
}  

div.menu div#filter-by {
    display: none;
    position: absolute;
    margin-top: -1vmax;
    margin-left: -2.3vmax;
    font-size: 0.9vmax;
    font-family: WorkSansRegular, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 100;
    line-height: 1.5vmax;
    z-index: -1;
    border-top: 3vmax solid #0000105d;
    text-align: left;
    filter: drop-shadow(1px 1px 23px rgba(.5,.5,.7,0.5));
    backdrop-filter: blur(6px);
    border-radius: 2px;
}

section#header div.menu a#solutions:hover {
    color: #A7A7A7 !important;
}

span#lang {
    font-size: 1vmax;
    color: #A7A7A7;
    margin-bottom: 1.3vmax;
    margin-top: 0.7vmax;
    cursor: pointer;
}

.lang-rus {
}
.lang-eng {
}



/* EXHIBITIONS CONTENT */

div.screen-text-content {
    font-size: 0;
    overflow: scroll;
    max-height: calc(100vh - 10vmax);
}

div.column-left,
div.column-right {
    display: inline-block;
    width: 47vw;
    vertical-align: top;
    white-space: break-spaces;
    font-size: 1vmax;
    color: rgb(205,205,205);
}
div.column-left {
    padding-left: 3vw;
}
div.column-right {
    padding-right: 3vw;
}

time {
    font-family: monospace;
}


section#biography div.column-left {
    background-image: url('../images/photo.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position-x: center;
    height: calc(100vh - 13vmax);
    width: 37vw;
    margin-left: 3vw;
    margin-top: 3vmax;
    padding: 0;
}

section#biography div.column-right {
    height: calc(100vh - 13vmax);
    margin-left: 3vw;
    margin-top: 3vmax;
    width: 37vw;
    margin-right: 20vw;
    padding: 0;
}

span#lang {
    position: fixed;
    background: #1e64a4;
    color: white;
    top: 0vmax;
    margin-top: 0;
    right: 4.2vmax;
    padding: 0.3vmax;
    pointer-events: all;
}
