:root{
    --logo-blue: #43D9D9; 
    /* rgb(67, 217, 217) */
    --logo-green1: #6BBF80;
    /* rgb(107, 191, 128) */
    --logo-green2: #8DD96A;
    /* rgb(141, 217, 106) */
    --logo-green3: #B6D936;
    /* rgb(182, 217, 54) */
    --logo-light: #F2F2F2; 
    /* rgb(242, 242, 242) */

    --logo-blue-dark: #69b1bd;
    /* rgb(105, 177, 189) */
    --logo-green1-dark: #5d8f6c;
    --logo-green2-dark: #a8c9b8;
    --logo-green3-dark: #b2d3a8;

    --logo-blue-light: #c9e7ef;
    /* rgb(201, 231, 239) */
    --logo-green1-light: #ABCFB5;
    --logo-green2-light: #D0ECDE;
    --logo-green3-light: #DCF6CF;

    --lg-logo: linear-gradient(135deg, var(--logo-blue), var(--logo-green1), var(--logo-green2), var(--logo-green3));
    --lg-logo1-light: linear-gradient(135deg, var(--logo-blue-light),var(--logo-blue));
    --lg-logo2-light: linear-gradient(135deg, var(--logo-green1-light),var(--logo-green1));
    --lg-logo3-light: linear-gradient(135deg, var(--logo-green2-light),var(--logo-green2));
    --lg-logo4-light: linear-gradient(135deg, var(--logo-green3-light),var(--logo-green3));

    --lg-team: linear-gradient(135deg, var(--logo-blue-light) 45%, var(--logo-blue));
    --lg-proj: linear-gradient(135deg, var(--logo-blue-light), var(--logo-blue), var(--logo-blue-dark));
    --lg-wetl: linear-gradient(135deg, var(--logo-green1-light), var(--logo-green1), var(--logo-green1-dark));
    --lg-dryl: linear-gradient(135deg, var(--logo-green2-light), var(--logo-green2), var(--logo-green2-dark));
    --lg-hupr: linear-gradient(135deg, var(--logo-green3-light), var(--logo-green3), var(--logo-green3-dark));
}

body { 
    height: 100%;
}
body *{
    scroll-margin-top: 100px;  
}
html {
    scroll-behavior: smooth;
    height: 100%;
}  
header{
    display: none;
}
.left-aligned { margin-left: auto; }
.bg-dark { background-color: #343a40 !important; }
.bg-hero { 
    /* background-color: #45b06cff;  */
    background: linear-gradient(135deg, var(--logo-blue), var(--logo-green1), var(--logo-green2), var(--logo-green3));
}
:target{
    background: rgba(107, 191, 128, .5);
    border-radius: 2px;
}
.styled-scrollbars {
    scrollbar-color: rgba(255,255,255,.8) var(--lg-logo);
}
.styled-scrollbars::-webkit-scrollbar {
    width: 10px; /* Mostly for vertical scrollbars */
    height: 10px; /* Mostly for horizontal scrollbars */
}
.styled-scrollbars::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.8);
}
.styled-scrollbars::-webkit-scrollbar-track {
    background: var(--lg-logo);
}
/* CALLOUT */
.bd-callout { padding:1.25rem; margin-top:1.25rem; margin-bottom:1.25rem; border:1px solid #e9ecef; border-left-width:.25rem; border-radius:.25rem }
.bd-callout h4 { margin-bottom:.25rem }
.bd-callout p:last-child { margin-bottom:0 }
.bd-callout code { border-radius:.25rem }
.bd-callout+.bd-callout { margin-top:-.25rem }
.bd-callout-info { border-left-color:#5bc0de }
.bd-callout-warning { border-left-color:#f0ad4e }
.bd-callout-danger { border-left-color:#d9534f }

/* navbar */
.dropdown-toggle::after{
    display: none;
}
.navbar .underline{
	height: 2px;
	width: 0;
	background: #000;
	transition: .5s ease;
}
a:hover .underline{
	background: #FFF;
	width: 100%;
}
.navbar{
    background: rgba(25,25,25,.75);
    box-shadow: 2px 0px 2px 2px rgba(0,0,0,0.5);
    transition: .5s ease;
    user-select: none;
}
.navbar:hover{
    background: rgba(35,35,35,1);
    box-shadow: 2px 0px 2px 2px rgba(0,0,0,0.5);
}
.navbar *{
    color: #FFF;
    font-size: 1.15rem;
}
/* .navbar .container{
    border-bottom: 4px solid rgba(255,255,255,.9);
} */
.navbar hr{
    position: absolute;
    top: 30px;
    width: 100%;
    border: 2.5px solid #FFF;
    opacity: .75;
    display: flex;
    z-index: 9999;
}
.navbar a{
    padding: 0;
}
.navbar img{
    position: absolute;
    top: 7px;
    height: 40px;
    margin-left: -50px;
    padding-right: 10px;
    margin-top: -4px;
}
.navbar h3{
    /* font-size:  2rem; */
    font-weight: 400;
    line-height: 1.5;
    margin: 0px 2px;
    padding: 5px 10px;
    transition: .5s ease;
    border-radius: 20px 20px 0px 0px;
}
.navbar h3:hover{
    background: rgba(255,255,255,.7);
    border-radius: 5px 5px 0px 0px;
    color: #FFF;
}
.nav-item ul{
    background: rgba(0,0,0,.5);
    color: #FFF;
    margin: 0;
    padding: 0px;
    margin-left: 2px;
    padding-left: 3px;
    padding-bottom: 10px;
    border-radius: 0px 0px 5px 5px;
    border: 0;
}
.navbar #team h3:hover{ background: rgba(201, 231, 239, .7)}
.navbar #team ul{       background: rgba(201, 231, 239, .9)}
.navbar #proj h3:hover{ background: rgba(67, 217, 217, .7)}
.navbar #proj ul{       background: rgba(67, 217, 217, .9)}
.navbar #wetl h3:hover{ background: rgba(107, 191, 128, .7)}
.navbar #wetl ul{       background: rgba(107, 191, 128, .9)}
.navbar #dryl h3:hover{ background: rgba(141, 217, 106, .7)}
.navbar #dryl ul{       background: rgba(141, 217, 106, .9)}
.navbar #hupr h3:hover{ background: rgba(182, 217, 54, .7)}
.navbar #hupr ul{       background: rgba(182, 217, 54, .9)}

.nav-item li a{
    color: #FFF;
    padding: 0px 7px;
}

footer{
    background: rgb(35,35,35);
    margin-top: 0;
    padding: 10px 0px;
    padding-top: 6px;
    position: relative;
}
footer .sitemap{
    font-size: 1.25rem;
}
footer .sitemap .space{
    padding: 0px 10px;
}
footer .mascot{
    height: 200px;
    position: absolute;
    right: 20px;
    top:-50px;
    z-index: 99999;
    filter: brightness(1);
    transition: .5s ease;
}
footer .mascot:hover{
    filter: brightness(1.1);
}
footer .name h1{
    font-size: 6vw;
    margin: 0;
    margin-top: -15px;
    margin-left: -5px;
}
footer h5, footer hr{
    margin: 0;
}
footer hr{
    position: absolute;
    top:6;
    left:0;
    right:0;
    border: 2.5px solid #FFF;
    opacity: .75;
    display: flex;
    z-index: 9999;
}
footer .footer-main{
    float: left;
    padding-top: 5px;
}
footer .footer-aside{
    padding-left: 5%;
    position: relative;
    float: left;
    padding-top: 5px;
}
footer .footer-aside img{
    display: block;
    width: 150px;
    height: auto;
    padding-top: 10px;

}
footer .links{
    position: absolute;
    bottom: 20px;
    right: 20px;
}
footer .links span{
    padding: 4px 8px;
    border-radius: 6px;
    transition: .5s ease;
    border: 1px solid #000;
}
footer .links span:hover{
    border: 1px solid #F2F2F2;
}
/* cover */
#cover{
    height: 100%;;
    overflow: hidden;
    position: relative;
    padding-top: 56px;
    background: #1E1E1E;
    display: flex;
    align-items: center;
}
.cover-content{
    display: flex;
    margin: auto;
    justify-content: center;
    align-items: center;
    pointer-events: none;
    user-select: none;
}
.text-grad-logo{
    background: var(--lg-logo);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.text-grad-team{
    background: var(--lg-team);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.text-grad-proj{
    background: var(--lg-proj);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.text-grad-wetl{
    background: var(--lg-wetl);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.text-grad-dryl{
    background: var(--lg-dryl);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.text-grad-hupr{
    background: var(--lg-hupr);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.cover-content h1{
    font-size: 100px;
    margin: 0;
    padding: 10px 0px;
    /* text-shadow:0px 0px 100px #fff; */
    font-family: arial;
}
.cover-header-wrap{
    padding: 20px;
    padding-bottom: 10%;
}
.cover-content img{
    width: 50%;
}
.cover-content .underline{
    background: var(--lg-logo);
    opacity: .5;
	height: 10px;
	width: 0;
	transition: .5s ease;
    margin-top: -10px;
    z-index: -5;
}
.cover-content h1:hover .underline{
	width: 100%;
}
.cover-small h1{
    font-size: 68px;
}
.cover-small{
    margin-left: 12.5%;
}
#cover .img-bkg{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* filter: blur(1px); */
}
#cover .container{
    z-index: 9;
}
#banner{
    width: 100%;
    position: fixed;
    top: 0;
    z-index:99;
}
.para-img img{
    width: 110%;
    transform: translate(-5%,-5%);
}
.para-txt{
    padding-left: 100px;
}
/* sections */
.section-wrap{
    position: relative;
    padding: 50px 0px; 

}
.section-wrap a{
    scroll-margin-top: 106px; 
}
.section-wrap .linker, .home-wrap .linker{
    position: absolute;
    top: 0;
    transform: translateY(-40%) scale(0.8,0.8);
    left: 50px;
    z-index:999;
    user-select: none;
}
.home-wrap{
    overflow: hidden;
    display: flex;
    justify-content:center;
    align-content: center;
    flex-wrap: wrap;
    position: relative;
}
.divide{
    border: 3px solid rgba(255,255,255,.2);
    box-sizing:border-box;
    /* position: absolute; */
    margin: 0;
    top: -5px;
    width: 100%;
    z-index: 999;
}
.home-wrap .full-bkg{
    position: absolute;
    width: 110%;
    margin-left: -5%;
    margin-top: -20px;
    top: 0;
    z-index:-2;
}
.home-wrap .full-black{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    z-index:-1;
}
.home-wrap .home-text{
    color: #FFF;
    padding: 0px 200px;
    font-size: 2rem;
    text-shadow: 1.5px 1px 2px #000;

}
.home-wrap [class*="p"]{
    transition: 2s ease;
}
.home-wrap .full-bkg{
    filter: blur(10px);
    transition: 1s ease;
    display: block;
}
.home-wrap:hover .full-bkg{
    filter: blur(0px);
}

.home-wrap .p1{
    opacity: 0.95;
    background: linear-gradient(#1E1E1E, #3E3E3E); 
}
.home-wrap:hover .p1{opacity: 0}
.home-wrap .p2{
    opacity: 0.95;
    background: linear-gradient(#3E3E3E, #5E5E5E); 
}
.home-wrap:hover .p2{opacity: 0}
.home-wrap .p3{
    opacity: 0.8;
    background: linear-gradient(#5E5E5E, #7E7E7E); 
}
.home-wrap:hover .p3{opacity: 0}
.home-wrap .p4{
    opacity: .75;
    background: linear-gradient(#7E7E7E, #A9B7BF);
}
.home-wrap:hover .p4{opacity: 0}
.home-wrap .p5{
    opacity: .75;
    background: linear-gradient(#A9B7BF, var(--logo-blue-light) 40%, var(--logo-blue)); 
}
.home-wrap:hover .p5{opacity: 0}
.home-wrap .p6{
    opacity: .9;
    background: linear-gradient(var(--logo-blue), var(--logo-green1)); 
}
.home-wrap:hover .p7{opacity: 0}
.home-wrap .p7{
    opacity: .6;
    background: linear-gradient(var(--logo-green1), var(--logo-green3)); 
}
.home-wrap:hover .p6{opacity: 0}
/* footer */
footer a { color: white; font-weight: bold; text-decoration: none; }
footer a:hover { color: white; text-decoration: underline; }

.box{
    margin: 20px 0px;
    padding: 10px;
    border: 1px solid #000;
    border-radius: 4px;
}

/* WIKI PAGE COMMON ELEMENTS */
/* Responsive grid lineup 3/1 */
.wrap-resp{
    width: 100%;
    margin: auto;
    overflow: auto;
}
.container-resp{
    width: 33.33%;
    float: left;
    overflow: hidden;
    height: auto;
    padding: 5px;
}
/* 1:1 aspect ratio */
.square{
    position: relative;
    width: 100%;
    overflow: hidden;
}
.square::before{
    content: "";
    display: block;
    padding-top: 100%;
}
/* fit image in div */
.img-fit img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.img-wrap{
    position: absolute;
    top:0;
    padding-top: 56px;
    left:0;
    width: 100%;
    height: 100%;
}
.img-tile{
    width: 25%;
    float: left;
    height: 25%;
    filter: saturate(0.4) brightness(0.6) blur(2px);
    transition: 2s ease;
}
.img-tile:hover{
    filter: saturate(1) brightness(1) blur(0);
    transition: .1s ease;
}
.hide{
    height: 0;
}
.hide .cover-content{
    transform: translateY(-50%);
}
/* clearfix for floats */
.clearfix{
    content: "";
    clear: both;
    /* display: table; */
}
/* image wrapper */
.img-flexor{
    white-space: nowrap;
    overflow-x: auto;
    height: 300px;
    max-width: 70vw;
    margin: 10px 0px;
    padding: 5px;
    border-radius: 5px;
}
.img-flexor:nth-child(4n){
    background: var(--logo-blue-light);
}
.img-flexor:nth-child(4n+1){
    background: var(--logo-green1-light);
}
.img-flexor:nth-child(4n+2){
    background: var(--logo-green2-light);
}
.img-flexor:nth-child(4n+3){
    background: var(--logo-green3-light);
}
.img-flexor img{
    height: 100%;
    width: auto;
}
/* text styling */
span[class|="s"]{
    transition: .5s ease;
    font-weight: bold;
    white-space: nowrap;
}
span[class|="s"]:hover{
    color: #FFF !important;
}
.s-g1{color: var(--logo-green1-dark)}
.s-g2{color: var(--logo-green2-dark)}
.s-g3{color: var(--logo-green3-dark)}
.s-b{color: var(--logo-blue-dark)}
span[class*="s-"]{
    position: relative;
}
.s-g1 .highlight{background: var(--logo-green1-dark)}
.s-g2 .highlight{background: var(--logo-green2-dark)}
.s-g3 .highlight{background: var(--logo-green3-dark)}
.s-b  .highlight{background: var(--logo-blue-dark)}
span[class*="s-"] .highlight{
    position: absolute;
    left: 0;
    height: 100%;
    width: 100%;
    transform-origin: center left;
    transform: scaleX(0%);
    transition: .5s ease;
    z-index: -1;
}
span[class*="s-"]:hover .highlight{
    transform: scaleX(100%);
}
/* links */
.citations a{
    color: #000;
}
.citations p{
    margin: 0;
}
.contents-main a[id*="r"]{
    color: var(--logo-blue-dark);
}
.collapsible-content{
    background: #EAEAEA;
    padding: 5px;
    max-height: auto;
    overflow: hidden;
    transition: max-height 0.5s ease;
    border-radius: 0px 0px 5px 5px;
    margin-bottom: 5px;
}
.collapsible{
    padding: 5px;
    border-radius: 5px 5px 0px 0px;
    border-bottom: 2px solid #000;
    cursor: pointer;
    font-size: calc(1.3rem + .6vw);
    font-weight: normal;
    transition: .5s ease;
}
.collapsible:hover{
    filter: brightness(1.1);
}
.collapsible:nth-of-type(4n+1){background: var(--lg-logo1-light)}
.collapsible:nth-of-type(4n+2){background: var(--lg-logo2-light)}
.collapsible:nth-of-type(4n+3){background: var(--lg-logo3-light)}
.collapsible:nth-of-type(4n){background: var(--lg-logo4-light)}
.bland{
    background: #FFF !important;
    border: 2px solid #CACACA;
}

/* past team page css, partially used */
.box-resp{
    width: 100%;
    overflow: hidden;
    border: 2px solid #000;
    padding: 10px;
    border-radius: 5px;
}
.box-resp h3{
    margin: 0;
    padding-bottom: 5px;
}
.box-resp .img{
    position: relative;
    width: 100%;
    overflow: hidden;
}
.box-resp .img::before{
    content: "";
    display: block;
    padding-top: 66.67%;
}
.box-resp .img img{
    position: absolute;
    top:0;
    height: 100%;
}
.box-resp .img p{
    width: 100%;
    height: 0%;
    position: absolute;
    top: 0;
    overflow-x: auto;
    transition: .5s ease;
    color: #FFF;
    padding: 0px 10px;

    box-sizing: border-box;
    margin: 0;
}
.container-resp:nth-child(4n+1) p{background: rgba(107, 192, 128, .7)}
.container-resp:nth-child(4n+2) p{background: rgba(67, 217, 217, .7)}
.container-resp:nth-child(4n+3) p{background: rgba(182, 217, 54, .7)}
.container-resp:nth-child(4n) p{background: rgba(141, 217, 106, .7)}

.box-resp .img:hover p{
    height: 100%;
    padding: 10px;
}
.box-resp .tags{
    padding: 2px 0px;
}
.tag{
    padding: 0px 4px;
    border: 1px solid #000;
    border-radius: 5px;
    margin-right: 2px;
    font-size: 8px;
    font-weight: normal;
    white-space:nowrap;
}
.tag-school{
    background: #3255A4;
    color: #FFF;
}
.bar{
    border: 1px solid #000;
    padding: 10px;
    position: relative;
}
.bar h4{
    margin:0;
}
.dropbar{
    max-height: 0;
    transition: 1s;
    overflow: hidden;
}
.dropbar-show{
    max-height: 100px;
}

/* new css for team page, including animations */
.circle-wrap .img{
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    overflow: hidden;
    transition: .5s ease;
}
.circle-wrap .img .label{
    position: absolute;
    bottom: 10%;
    text-align: center;
    width: 100%;
    color: #FFF;
}
.circle-wrap .overlay{
    position: absolute;
    top: 0;
    transform: scaleX(0%);
    overflow: hidden;
    height: 100%;
    transition: .5s ease;
}
.circle-wrap:hover .overlay{
    transform: scaleX(100%);
}
.circle-wrap:hover .img{
    transform: scaleX(0%);
}
.circle-wrap .overlay .img-half{
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    overflow: hidden;
}
.circle-wrap .overlay .img-half img{
    width: 50%;
}
.circle-wrap .overlay .desc-half{
    width: 50%;
    height: 100%;
    position: absolute;
    top:0;
    right: 0;
    background: var(--logo-green1-light);
    padding: 10px;
}

/* past description page styles (1) */
.contentbox:nth-child(4n-3){
    background: var(--logo-blue);
}
.contentbox:nth-child(4n-2){
    background: var(--logo-green1);
}
.contentbox:nth-child(4n-1){
    background: var(--logo-green2);
}
.contentbox:nth-child(4n){
    background: var(--logo-green3);
}
.contentbox{
    padding: 20px;
}
.contentbox h3{
    position: relative;
}

/* past description page styles (2) */
.cdrop-wrap{
    height: 30vh;
    padding: 10px;
    margin-bottom: 3vw;
    position: relative;
}
.cdrop{
    position: absolute;
    top: -5vh;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40vh;
    width: 40vh;
    background: var(--lg-logo);
    border: 4px solid #EAEAEA;
    border-radius: 100%;
    color: #FFF;
}
.cdrop h2{
    text-align: center;
}
.cdrop:nth-child(odd){
    left: -5vh;
}
.cdrop:nth-child(even){
    right: -5vh;
}
.cdrop-label{
    display: flex;
    height: 100%;
    align-items: center;
    background: #FAFAFA;
    border-top: 2px solid #000;
}
.cdrop-label:nth-child(even){
    padding-left: 35vh;
    padding-right: 10px;
}
.cdrop-label:nth-child(odd){
    padding-right: 35vh;
    padding-left: 10px;
    text-align: right;
}
.cdrop{
    box-shadow: 1px 1px 4px 2px rgba(0,0,0,.3);
}

/* timeline styles, used in Human Practices page */
.contents-wrap{
    width: 100%;
}
.contents-aside{
    float: left;
    width: 20%;
    position: sticky;
    top: 100px;
}
.contents-main{
    float: left;
    width: 80%;
    position: relative;
}
.contents-table{
    border: 2px solid #000;
    border-radius: 10px;
    padding: 10px;
    /* box-shadow: 0px 1px 4px 2px rgba(0,0,0,.2); */
    user-select: none;
}
.contents-table ul{
    list-style: none;
    margin: 0; 
    padding: 0;
    font-size: 0;
}
.contents-table a{
    color: #000;
    text-decoration: none;
}
.contents-table li{
    position: relative;
    padding: 5px 0px;
    padding-left: 40px;
}
.contents-table .contents-table-highlight{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    transition: .25s ease;
    z-index: -1;
    transform: scaleY(0%);
    white-space: nowrap;
}
.contents-table .contents-table-bullet{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
    width: 5%;
    border: 1px solid #000;
    border-radius: 100%;
    transition: .25s ease;
}
.contents-table h5{
    margin: 0;
}
.contents-table li:hover .contents-table-highlight:not(.active){
    background: var(--logo-green2-light);
    transform: scaleY(100%);
}
.contents-table ul li .active .contents-table-highlight{
    background: var(--logo-blue);
    transform: scaleY(100%);
}
.contents-table ul li .active:hover .contents-table-highlight{
    background: var(--logo-blue);
    transform: scaleY(100%);
}
.contents-table ul li .active .contents-table-bullet{
    background: #000;
    /* box-shadow: 0px 0px 4px 2px rgba(0,0,0,.2); */
}
.contents-table .contents-table-bullet{
    background: #FFF; 
}
.timeline-wrap{
    position: relative;
    margin-left: 50px;
}
.timeline-bar{
    position: absolute;
    width: 4px;
    height: 100%;
    background: #000;
    transform: translateX(-50%);
}
.timeline-block{
    position: absolute;
    height: 40px;
    width: 40px;
    border: 4px solid #000;
    background: #FFF;
    border-radius: 100%;
    margin-left: -50px;
}
.timeline-block-sep{
    position: absolute;
    height: 20px;
    width: 40px;
    margin: 10px 0px;
    border-top: 4px solid #000;
    border-bottom: 4px solid #000;
    background: #FFF;
    margin-left: -50px;
}
.timeline-mod{
    margin-left: -55px !important;
}
.timeline-content-wrap{
    padding-left: 30px;
    padding-bottom: 20px;
}
.timeline-content{
    padding-top: 5px;
}
.timeline-content h2, .timeline-content h3{
    position: relative;
    margin: 0;
    margin-top: 5px;
}
.timeline-content a{
    color: var(--logo-green1-dark);
}
.timeline-content .equation{
    width: 100%;
    height: 50px;
    padding-bottom: 1rem;
}
.timeline-content .equation img{
    display: block;
    height: 100%;
    margin: auto;
}
.timeline-content .diagram{
    width: 80%;
    margin: auto;
    padding-bottom: 2rem;
}
.timeline-content .diagram img{
    width: 100%;
}
.timeline-content .caption{
    text-align: center;
    font-style: italic;
}
.timeline-content table{
    margin: auto;
}
.timeline-content table td, .timeline-content table th{
    border: 1px solid #000;
    padding: 0px 5px;
}
.timeline-content p+ul, .timeline-content p+ol{
    margin-top:-1rem;
}
.timeline-content p:last-child{
    margin: 0;
}
.table-wrap table{
    width: 100%;
    table-layout: fixed;
    position: sticky;
    top:70px;
}
.table-wrap tr{
    position: relative;
}
.table-wrap td{
    border: 1px solid #000;
}
.table-wrap .y-label{
    width: 20%;
    text-align: right;
    border-left: 0;

}
.table-wrap .x-label td{
    border: 0;
    padding-top: 5px;
    transform: rotate(135deg) scaleY(-100%) scaleX(-100%);
    transform-origin: right;
    white-space: nowrap;
}
.table-wrap .x-label td .label-text{
    position: absolute;
    right: 0;
    text-align: right;
    top: 0;
}
.table-wrap tr .table-bar{
    position: absolute;
    top: 25%;
    left: 20%;
    width: 10%;
    height: 50%;
    background: #000;
    transition: 1s ease;
}
.table-wrap .table-blank{
    height: 200px;
}
tr #y1{background: var(--logo-green1-dark)}
tr #y2{background: var(--logo-blue-dark)}
tr #y3{background: var(--logo-green3-dark)}
tr #y4{background: var(--logo-green2-dark)}
tr #y5{background: var(--logo-green1)}
tr #y6{background: var(--logo-blue)}
tr #y7{background: var(--logo-green3)}
tr #y8{background: var(--logo-green2)}
tr #y9{background: var(--logo-blue-light)}

.controls button, .controls input{
    border: 0;
    border-radius: 15px;
    padding: 2px 10px;
    transition: .2s ease;
}
.controls button:hover, .controls input:hover{
    background: #CACACA;
    color: #FFF;
}
.controls{
    background: var(--lg-logo);
    padding: 8px 12px;
    border-radius:10px;
}
/* override bootstrap */
@media (min-width: 992px){
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 0;
        padding-left: 0;
    }
}

/* mobile optimization */
@media only screen and (max-width: 880px){
    .container-resp{
        width: 100%;
    }
    .navbar img{
        margin-left: 0px;
    }
    .navbar .navbar-brand{
        margin: auto;
        padding-left: 50px;
    }
    .cover-content h1{
        font-size: 12vw;
    }
    .contents-wrap .contents-aside{
        width: 100%;
        z-index: 99;
        background: #FFF;
        top:60px;
    }
    #cover{
        height: auto;
        min-height: 50%;
    }
    #cover .cover-content{
        display: block;
    }
    .contents-table .contents-table-bullet{
        width: 10px;
    }
    .timeline-wrap{
        width: 100%;
        margin-left: 35px;
    }
    footer .sitemap{
        font-size: 3vw;
    }
    footer .name h1{
        margin: 0;
        font-size: 8vw;
    }
    footer .footer-main, footer .footer-aside{
        width:100%;
    }
    footer .mascot{
        height: 100px;
        top:-90px;
    }
}

/* testing svg changes */
#Layer_1{
    transform-origin: center;
    width: 50%;
    height: 50%;
    margin: auto;
}
.gear, .surround, .center{
    transform-origin: 50%;

    animation-name: spin;
    animation-duration:5s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    position: absolute;
    top: 50%;
    left: 50%;
}
.surround{
    animation-direction: reverse;
}
.dot{
    transform-origin: center;
    transform: scale(100%);
    animation-name: float;
    animation-duration:3s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

@keyframes spin{
    0%{
        transform: rotate(0deg)
    }
    100%{
        transform: rotate(360deg);
    }
}

@keyframes float{
    0%{
        transform: rotate(0deg) scale(90%);
    }
    25%{
        transform: rotate(90deg) scale(110%);
    }
    50%{
        transform: rotate(180deg) scale(100%);
    }
    75%{
        transform: rotate(270deg) scale(110%);
    }
    100%{
        transform: rotate(360deg) scale(90%);
    }
}
