body {
    font-family: Arial, Helvetica, sans-serif;
    background-color: black;
    overflow: scroll;

}

.topbar {
    width: 100% !important;
    overflow: auto;
    background-color: black;
    min-height: 50px;
    display: flex;
    flex-flow: wrap;
    align-items: center;
    padding: 5px 5px 5px 5px;
    float: right;
}

.topbar a {
    color: white;
    text-align: center;
    padding: 5px 10px 5px 10px;
    margin-left: 2px;
    margin-right: 2px;
    margin-bottom: 4px;
    text-decoration: none;
    font-size: 20px;
    font-weight: 400;
    vertical-align: middle;
    border-radius: 5px;
}

.topbar a:hover {
    color: darkturquoise;
    font-weight: 500;
}

.mainheader {
    background-color: black;
    text-align: center;
    width: 100%;
    /*height: max(55vh,375px);*/
    padding: 0px;
    margin-top: 10px;
    margin-left: -10px;
    margin-right: -10px;
    margin-bottom: 1px;
    overflow: hidden;
}

.headshot {
    margin-top: 5vh;
    margin-left: auto;
    margin-right: auto;
    width: min(max(20vw,150px),250px);
    height: min(max(20vw,150px),250px);
    border: 2px solid black;
    border-radius: 50%;
    background-color: white;
    box-shadow: inset 0px 0px 2px 2px black;
    box-shadow: outset 0px 0px 2px 2px gray;
}

.mainheader h1 {
    font-style: bold;
    color: white;
    font-size: min(max(20px, 5vw), 30px);
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    width: 50vw;
    &:hover {
        color: darkturquoise !important;
        font-style: italic;
    }
}

.mainheader p {
    color: white;
    font-size: min(max(16px, 4vw), 22px);
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    width: 50vw;
    &:hover {
        color: darkturquoise !important;
        font-style: italic;
    }
}

.contact {
    color: white !important;
    text-decoration: none;
    font-size: min(max(18px, 5vw), 25px) !important;
    margin-top: 10px !important;
    margin-bottom: 30px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 50vw !important;
    &:hover {
        color: darkturquoise !important;
        text-decoration: underline;
        font-style: italic;
    }
}

.social {
    text-align: center;
    max-width: 95%;
    width: fit-content;
    min-height: 100px;
    height: 15vh auto;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    overflow-x: hidden;
    overflow-y: visible;
    background-color: grey;
    border-radius: 100px;
    padding: 30px;
}

.social a {
    color: grey;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
}

.social a img, .social a svg {
    width: 100px;
    height: 100px;
    border: 2px solid black;
    border-radius: 50%;
    background-color: whitesmoke;
    box-shadow: inset 0px 0px 2px 2px black;
    box-shadow: outset 0px 0px 2px 2px gray;
    &:hover {
        border: 2px solid darkturquoise;
		animation-name: pulse;
		/*animation-delay: 0.3s;*/
		animation-duration: 1.5s;
		animation-iteration-count: infinite;
		animation-timing-function: linear;
		animation-fill-mode: forwards;
	}
}

.spotify { background-color: black !important;}

@keyframes pulse {
    0% {transform: scale(1.0) translate(0px,0px);}
    50% {transform: scale(1.3) translate(0px,-10px);}
    100% {transform: scale(1.0) translate(0px,0px);}
}

.other {
    display: none;
    visibility: hidden;
    text-align: center;
}

.other p {
    text-align: center;
    font-style: italic;
    margin-right: auto;
    margin-left: auto;
    width: 150px;
    float: center;
}

.demos {
    background-color: black;
    text-align: center;
    width: 95%;
    /*height: max(55vh,375px);*/
    padding: 10px;
    margin-top: 0px;
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    /*overflow: hidden;*/
}

.demos h1 {
    font-style: bold;
    color: white;
    font-size: min(max(20px, 5vw), 30px);
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    width: 50vw;
}

.demos p {
    color: white;
    font-size: min(max(16px, 4vw), 22px);
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    width: 50vw;
    /*&:hover {
        color: darkturquoise !important;
        font-style: italic;
    }*/
}

.demos a {
    color: darkturquoise;
    text-decoration: none;
    &:hover {
        font-style: italic;
        text-decoration: underline;
    }
}

.demos iframe {
    padding: 0;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    margin-bottom: 0;
    display: inline-block;
    border: 1px solid grey;
    border-radius: 10px;
    width: 80%;
}

.demos .lgraph {
    aspect-ratio: 16/9;
}

.demos .map {
    padding: 0;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    margin-bottom: 0;
    display: inline-block;
    border: 1px solid grey;
    border-radius: 30px;
    width: 80%;
    height: 1000px;
}

.demos .st {
    padding: 0;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    margin-bottom: 0;
    display: inline-block;
    border: 1px solid grey;
    border-radius: 30px;
    width: 80%;
    height: 1000px;
}

.spicy {
    color: red;
    font-size: 1000;
    font-weight: 900;
}

.header {
    text-align: center;
}

.header h1 {
    font-style: bold;
    color: white;
    font-size: min(max(20px, 5vw), 30px);
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    width: 50vw;
}

.header p {
    color: white;
    font-size: min(max(16px, 4vw), 22px);
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    width: 50vw;
    &:hover {
        color: darkturquoise !important;
        font-style: italic;
    }
}

.header a {
    color: white;
    font-size: min(max(16px, 4vw), 22px);
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    width: 50vw;
    text-decoration: none;
    &:hover {
        color: darkturquoise !important;
        font-style: italic;
    }
}

.artcon {
    text-align: center;
    width: 95%;
    height: 15vh auto;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    overflow-x: hidden;
    overflow-y: visible;
    background-color: grey;
    border-radius: 10px;
}

.artcon img {
    margin: 30px;
    width: 40%;
    border-radius: 5px;
    box-shadow: 3px;
}

.artcon video {
    margin: 30px;
    width: 40%;
    border-radius: 5px;
    box-shadow: outset 3px;
}

.divTable{
	display: table;
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    margin-bottom: 30px;
    align-items: center;
}
.divTableRow {
	display: table-row;
}
.divTableHeading {
	background-color: #EEE;
	display: table-header-group;
}
.divTableCell, .divTableHead {
	display: table-cell;
	padding: 3px 10px;
    vertical-align: middle;
}
.divTableHeading {
	background-color: #EEE;
	display: table-header-group;
	font-weight: bold;
}
.divTableFoot {
	background-color: #EEE;
	display: table-footer-group;
	font-weight: bold;
}
.divTableBody {
	display: table-row-group;
}

.divTableCell label {
    color: white;
    float: right;
}

.divTableCell input {
    padding: 5px;
    border-radius: 5px;
    min-width: 200px !important;
    max-width: 800px;
}

.divTableCell .le_button {
    box-sizing: content-box;
    background-color: grey;
    color: white;
    padding: 5px;
    border-radius: 5px;
    min-width: 200px !important;
    max-width: 800px;
}

.divTableCell .le_button:hover {
    background-color: darkturquoise;
    color: black;
}

.divTableCell p {
    margin: 0px;
    padding: 5px;
}

.hastyping {
    display: inline-block;
}

.typed-out {
    color: white;
    overflow: hidden;
    border-right: .15em solid darkturquoise;
    font-size: 1.6rem;
    width: 0;
    animation: typing 1s steps(20, end) forwards;
}

@keyframes typing {
    from { width: 0 }
    to { width: 100% }
}

