/* Nav and music player */
@font-face {
  font-family: 'VT323'; /* Font name */
  src: url('font/VT323.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* Shows fallback font immediately to improve performance */
}

/* Title Bar */
@font-face {
  font-family: 'Sixtyfour'; /* Font name */
  src: url('font/Sixtyfour.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* Shows fallback font immediately to improve performance */
}

/* Body font */
@font-face {
  font-family: 'Medodica'; /* Font name */
  src: url('font/MedodicaRegular.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* Shows fallback font immediately to improve performance */
}

* {
    cursor: url('http://cur.cursors-4u.net/others/oth-6/oth589.cur'), default !important;
}

@keyframes hoverup {
    0% {top: -10px;}
    25% {top: 0;}
    50% {top: 10px;}
    75% {top: 0;}
    100% {top: -10px;}
}

@keyframes hoverdown {
    0% {top: 10px;}
    25% {top: 0;}
    50% {top: -10px;}
    75% {top: 0;}
    100% {top: 10px;}
}

@keyframes rainbowText {
    0% {color: red};
    7% {color: orange;}
    14% {color: yellow;}
    21% {color: green;}
    28% {color: blue;}
    35% {color: indigo;}
    42% {color: violet;}
    49% {color: indigo;}
    56% {color: blue;}
    77% {color: green;}
    84% {color: yellow;}
    91% {color: orange;}
    100% {color: red;}
    
}

body {
    background-image: url(../img/bg.png);
    background-attachment: fixed;
    font-family: 'Medodica', serif;
    font-size: 1.5em;
    letter-spacing: 1px;
}

#wrapper {
    max-width: 1300px;
    margin: 0 auto;
}

main {
    width: calc(100% - 640px); /* 100% minus the combined width of both asides (300px each) and their margins (20px each) */
    margin: 20px 320px 20px 320px; /* push main away from both fixed asides */
}

main .titlebar {
    top: 20px;
}

aside {
    position: fixed;
    top: 20px;
    width: 300px;
}

#sidebar-left {
    font-family: 'VT323', monospace;
    font-size: 1em;
    background-image: url(../img/pinkbubbles.gif);
    background-position: right;
    background-repeat: no-repeat;
    background-size: contain;
    left: calc(50% - 650px);
}

#sidebar-right {
    right: calc(50% - 650px);
}

nav ul {
    list-style: none;
    text-align: left;
}

nav ul.nested li {
    font-size: 0.7em;
    display: inline;
}

nav ul li {
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    height: 60px;
    width: 100%;
}

nav a:hover {
    text-decoration: underline;
    color: #fff;
}

nav a, nav a:visited {
    color: #FFF;
    text-decoration: none;
    background: none;
}

nav a:hover {
    animation: none;
}

#musicPlayer {
    font-family: 'VT323', monospace;
    margin-top: 50px;
    overflow: auto;
}

h2 {
    font-size: 1.5em;
    padding-left: 0.3em;
    color: #DD6FB9;
}

h3::before, h3::after {
	content: url(../img/alien_transparent.gif);
	display: inline-block;
    transform: scale(0.5);
    vertical-align: middle;
}

h3 {
    font-size: clamp(0.75em, 6vw, 1.2em);
    white-space: nowrap;
}

h4 {
	font-weight: normal;
}

a, a:visited {
    color: mediumpurple;
    text-decoration: none;
}

a:hover {
    animation-name: rainbowText;
    animation-duration: 0.5s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    animation-fill-mode: both;
}

dl dt {
	font-size: 0.9em;
	margin-left: 20px;
}

dl dd {
	font-size: 0.9em;
	margin-left: 40px;
}

#mobile-bar {
	display: none;
}

textarea {
	border: 1px solid #000;
	display: inline;
}

.titlebar {
    font-family: 'Sixtyfour', monospace;
    font-size: 0.8em;
    font-style: italic;
    white-space: nowrap;
    vertical-align: middle;
    height: 35px;
    color: white;
    padding: 5px;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    border-right: 1px solid #000;
    background: url(../img/folder.gif) no-repeat #d465aa;
    background-position: 10px;
    background-size: 25px;
    position: sticky;
    top: 0;
    z-index: 1;
}

.sidebarContent .titlebar {
    border-right: none;
}

.titlebar h1 {
    font-weight: normal;
    font-size: 25px;
    font-size: clamp(0.75em, 4vw, 1.1em);
    padding: 0 35px;
}

#content {
    height: auto;
    padding: 5px;
    border: 1px solid #000;
    background: #d1c2df;
}

.sidebarContent {
    box-sizing: border-box;
    max-height: 40vh;
    padding: 0;
    overflow: auto;
    box-shadow: 20px 20px 0 rgba(0,0,0,0.2);
    border: 1px solid #000;
    background: #d1c2df;
    overflow: auto;
}

.sidebarContent li {
    list-style: none;
}

object {
    width: 100%;
    height: auto;
}

.center {
    text-align: center;
}

.floatleft {
	float: left;
	margin: 0 10px;
}

.divider {
    display: block;
    float: none;
}

@media only screen and (max-width: 600px) { /* mobile only styles */
    body {
        padding-bottom: 20px;
        width: 100%;
    }
	#mobile-bar {
		display: block;
		position: fixed;
        top: 0;
		z-index: 2;
		width: 100%;
		height: 55px;
		background: #d465aa;
		border-bottom: 1px solid #000;
		box-shadow: 1px 4px 0 rgba(0,0,0,0.2);
	}
	#menuBtn {
		background-color: #FFC1E0;
		color: #666;
		border: 2px solid #888;
		font-weight: bold;
		margin: 10px;
		display: inline-block;
		padding: 5px 8px;
		letter-spacing: 2px;
	}
    #sidebar-left {
        width: 100%;
        margin: 0;
        padding: 0;
        background: none;
        left: 0;
    }

    #sidebar-right {
        right: 0;
    }
    nav {
		display: none;
        position: relative;
        background-color: #d465aa; 
        background-image: none;
        width: 100%;
        padding-top: 20px;
        box-shadow: 1px 8px 0 rgba(0,0,0,0.2);
    }
    nav ul {
		margin-top: 30px;
    }
    nav ul.nested {
        display: none;
    }
    nav ul li {
		display: inline-block;
        margin: 5px; 
        width: 100%;
        text-align: left;
        vertical-align: middle;
    }
    nav ul li img {
		display: inline-block;
		vertical-align: middle;
		margin-right: 10px;
    }
    #musicPlayer {
        display: none;
    }
    main {
        position: relative;
        margin: 20px auto;
        margin-top: 80px;
        width: 90%;
        overflow: visible;
    }
    aside {
        position: relative;
        left: 0;
        width: 90%;
        margin: 10px auto;
    }
    .sidebarContent {
        max-height: fit-content;
        overflow: visible;
    }
    .titlebar {
        position: sticky;
        top: 0;
    }
    main .titlebar {
        position: sticky;
        top: 0;
    }
}
