@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Alegreya:wght@400;700&family=Open+Sans:wght@300;400;600;700&display=swap');

html, body {
  width: 100%;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
  background: #000000;
}

body {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    background: #000000;
}

.loader {
    display: table;
    height: 100%;
    position: fixed;
    width: 100%;
    z-index: 9999;
    transition: opacity 0.5s ease;
    pointer-events: none;
}

.loader.hidden {
    opacity: 0;
    pointer-events: none;
}

.loader-bg {
    background: #171717;
}

.loader-inner {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

.top-bar {
    background-color: transparent;
    border: medium none;
    border-radius: 0;
    margin-bottom: 0;
    padding: 15px 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 100;
    left: 0;
    right: 0;
}

.top-bar .navbar {
    background: transparent;
    border: none;
    min-height: auto;
}

.top-bar .navbar-header {
    float: left;
}

.top-bar .navbar-collapse {
    float: right;
    border: none;
    box-shadow: none;
}

.top-bar .nav {
    margin: 0;
    padding: 0;
}

.top-bar .navbar-nav li {
    margin-left: 10px;
    display: inline-block;
    float: none;
}

.top-bar .navbar-nav li a {
    color: #fff;
    font-size: 18px;
    font-weight: 400;
    padding: 10px 15px;
    background: transparent !important;
}

.top-bar .navbar-nav > .active > a, 
.top-bar .navbar-nav > .active > a:focus, 
.top-bar .navbar-nav > .active > a:hover, 
.top-bar .navbar-nav li a:hover, 
.top-bar .navbar-nav li a:focus {
    color: #fff;
    background: transparent !important;
    border-bottom: 1px solid #fff;
}

.top-bar a.navbar-brand {
    color: #fff;
    font-size: 34px;
    font-weight: 800;
    padding: 10px 15px;
    font-family: 'Alegreya', serif;
    text-shadow: 2px 2px 2px rgba(0,0,0,0.5), 0 0 20px rgba(123, 67, 151, 0.5);
    float: left;
}

.top-bar a.navbar-brand:hover, 
.top-bar a.navbar-brand:focus {
    color: #fff;
}

.navbar-toggle {
    background: transparent;
    border: none;
}

.navbar-toggle .icon-bar {
    background: #fff;
}

.affix {
    animation: 1s ease 0s normal both 1 running slideInDown;
    background: linear-gradient(120deg, #7b4397, #dc2430);
    padding: 0.75em 0;
    position: fixed;
    z-index: 1000;
}

#globe-section {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: #000000;
}

/* Subtle bottom-right shadow overlay */
#globe-section::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 60%;
    height: 60%;
    background: radial-gradient(ellipse at bottom right, rgba(123, 67, 151, 0.15) 0%, transparent 70%);
    pointer-events: none;
    z-index: 5;
}

#cesiumContainer {
    width: 100% !important;
    height: 100% !important;
    min-height: 100vh;
    background: #000000 !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    display: block !important;
    z-index: 1 !important;
}

#cesiumContainer.cesium-viewer {
    width: 100% !important;
    height: 100% !important;
    background: #000000 !important;
}

#cesiumContainer .cesium-viewer-bottom {
    display: none !important;
}

#cesiumContainer canvas {
    width: 100% !important;
    height: 100% !important;
    background: #000000 !important;
}
