:root {
    --darkest-color: #262626;
    --dark-color: #808080;
    --light-color: #BFBFBF;
    --lightest-color: #DFDFDF;
    --blue: #164194;
    --light-blue: #1949a9;
	--transparent-dark-color: #2626269a;
	--transparent-light-color: #BFBFBF9a;
	--lfd-box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
	--bottom-only-lfd-box-shadow: rgba(14, 30, 37, 0.32) 0px 6px 4px -4px;
}

body {
    background-color: var(--darkest-color);
    font-family:  var(--bs-font-sans-serif);
}

a {
    color: var(--blue);
    text-decoration: none;
}

a:hover {
  text-decoration: underline;
}


/* line 55, ../../Private/sass/_typography.scss */
.container-lg h1 {
	background-color: var(--lightest-color);
	color: var(--darkest-color);
	margin-bottom: 12px;
	margin-top: 0;
	min-height: 1.5em;
	padding: 1px 0 2px 5px;
	border-left: 6px solid var(--blue);
	font-size: 30px;
}

.mainpage-header:hover h2, .mainpage-header:active h2,
.mainpage-header:hover, .mainpage-header:active {
	text-decoration: none;
	text-shadow: var(--lightest-color) 0px 0px 5px;
}

/* line 68, ../../Private/sass/_typography.scss */
.container-lg h2 {
	background-color: var(--lightest-color);
	border-left: 1px solid var(--light-color);
	border-top: 1px solid var(--light-color);
	color: var(--darkest-color);
	font-size: 22px;
	margin: 20px 0 8px;
	padding: 1px 0 5px 5px;
}

/* line 83, ../../Private/sass/_typography.scss */
.container-lg h3 {
	margin: 20px 0px 8px 0px;
	padding: 1px 5px 2px 6px;
	color: var(--darkest-color);
	background-color: white;
	border-top: 1px var(--light-color) solid;
}

/* line 90, ../../Private/sass/_typography.scss */
.container-lg h4 {
	margin: 20px 0px 0px 0px;
	padding: 1px 5px 2px 6px;
	color: var(--darkest-color);
	width: auto;
}
/* line 96, ../../Private/sass/_typography.scss */
.container-lg h5 {
	color: var(--darkest-color);
	padding: 2px;
	padding-left: 8px;
}

.nav-pills > .nav-item > .nav-link{ 
	background-color: var(--light-color);
    color: var(--darkest-color);
}

.nav-item.active > .nav-link,
.nav-item > .nav-link:active {
	background-color: var(--blue);
	color: var(--lightest-color) !important;
}

.nav-item > .nav-link:hover, 
.nav-item > .nav-link:focus {
    background-color: var(--light-blue);
	color: var(--lightest-color) !important;
	box-shadow: var(--lfd-box-shadow)
}

.nav-item > .nav-link {
	border-radius: 0 0 0 0 !important;
}

.nav-submenu .nav-item > .nav-link {
    margin-left: 0.5rem;
	border-left: 3px solid var(--blue);
	border-top: 1px solid var(--dark-color); 
    border-radius: 0 0 0.25rem 0;
}

.nav-submenu .nav-item.active > .nav-link, 
.nav-submenu .nav-item > .nav-link:hover, 
.nav-submenu .nav-item > .nav-link:active, 
.nav-submenu .nav-item > .nav-link:focus {
    background-color: var(--light-blue);
	color: var(--lightest-color);
}

.nav > li.headline:not(:first-child) {
	padding-top:20px;
}

.nav > li.headline {
	color: var(--darkest-color);
	font-size: 15px;
	font-weight: bold;
	font-family: inherit;
	padding-bottom: 7px;
}

.btn-check:focus + .btn, .btn:focus, .btn-close:focus{
	box-shadow: none;
}

.headlineref{
	display: none;
}

h2:hover > .headlineref{
	display: inline;
}

.card:hover{
	box-shadow: var(--lfd-box-shadow);
}

.card-body{
	background-color: var(--lightest-color);
}

#carouselControls .carousel-indicators [data-bs-target]{
	background-color: white !important;
}

#carouselControls .carousel-indicators > button:hover,
#carouselControls .carousel-indicators .active{
	background-color: var(--dark-color) !important;
}

.carousel-inner::-webkit-scrollbar {
	width: 0.5em;
}

.carousel-inner::-webkit-scrollbar-track {
	background: var(--lightest-color);
}

.carousel-inner::-webkit-scrollbar-thumb {
	background-color: var(--light-color);
}

.carousel-inner {
	scrollbar-width: thin;
  	scrollbar-color: var(--light-color) var(--lightest-color);
}

.carousel-item{
	padding: 0 7em;
}

.carousel-inner .newsheader{
	font-weight: 600;
	border-bottom: 1px solid var(--dark-color);
	margin-bottom: 1em;
}

.carousel-inner .newstitle{
	font-size: 125%;	
}

.carousel-inner .news-content div{
	margin-left: 1em;
}

.carousel-inner .news-content button{
	padding: 0.5em 1em;
}

.carousel-inner .news-content img{
	padding: 0;
}

.carousel-inner .news-content button > img:hover{
	box-shadow: var(--lfd-box-shadow);
}

.collapsing {
	height: auto !important;
	width: 0 !important;
	transition: width 0.1s ease !important;
}

/*class for hiding navbar toggler*/
.hide-me[aria-expanded="true"]{
	pointer-events: none;
}

.hide-me[aria-expanded="true"] > span {
	display: none;
}

/*style body when sidebar expanded*/
div#sidebarSupportedContent.show + div > .d-flex > div {
	padding: 1em !important;
	padding-right: 2.5em !important;
}

div#sidebarSupportedContent.show + div > .d-flex > div > .row.row-cols-1 {
	padding-right: 0.5em !important;
	padding-left: 0.5em !important;
}

/*style body when sidebar collapsed*/
div#sidebarSupportedContent:not(.show) + div > .d-flex > div {
	padding-right: 6.5em !important;
}

#eventCollapse.collapse:not(.show) {
	height: 70vh;
	overflow: hidden;
}

#eventCollapse.collapsing {
	height: 100vh;
}

#eventCollapse.show {
	height: auto;
	overflow: visible;
}

#eventCollapseBtn.collapsed{
	margin-top: 3rem;
}

#eventCollapseBtn.collapsed:after {
	font-style: italic;
	content: 'Show More Events';
}

#eventCollapseBtn:not(.collapsed):after {
	font-style: italic;
	content: 'Show Less Events';
}

/* Team page. */

.person.card{
	border: 1px solid var(--dark-color);
}

.person.card > a{
	text-decoration: none;
}

.person.card > a > .card-text{
	border-top: 2px solid var(--dark-color);
  	margin: auto 0 0.5rem;
}

/* Research Page */

.list-group > .nav-link:hover,
.list-group > .nav-link:focus{
	box-shadow: var(--lfd-box-shadow);
}

#mapid{
	box-shadow: var(--bottom-only-lfd-box-shadow);
}

/* Teaching page. */

.list-group-horizontal .nav-item a{
	width: 5rem;
	text-align: center;
}

.list-group-horizontal li{
	display: inline-block;
	margin: auto 0;
}

/* Publications page. */

.dropdown-toggle{
	box-shadow: var(--bottom-only-lfd-box-shadow);
}

.dropdown-menu ul, nav ul {
	list-style: none;
}

.dropdown:hover .dropdown-menu,
.dropdown-menu.show {
	display: flex;
}

.dropdown-menu li:first-child h4 {
	font-weight: bold;
	font-size: 1.2em;
	padding-left: 0.25rem;
	text-transform: uppercase;
	color: var(--dark-color)
}

.dropdown-menu ul:hover li:first-child h4 {
	color: var(--light-blue);
}

.dropdown-menu {
	border: none;
	border-radius: 0;
	padding: 0.7em;
	box-shadow: var(--lfd-box-shadow)
}

h4.dropdown-item:hover{
	background-color: unset;
}

/* Theses page */

.thesis:hover, .thesis:focus{
	box-shadow: var(--bottom-only-lfd-box-shadow);
}

/* News page.  */

.news {
	clear:both;
	margin-top:20px;
}

#page-main .news {
	width:80%;
	margin-left:15px;
}

.newsheader {
	display: table;
	margin-bottom:10px;
	font-size:110%;
	line-height:150%;
	font-weight:500;
	border-bottom: 1px solid var(--light-color);
}

.newsdate {
	background-color: var(--light-color);
	color: var(--darkest-color);
	padding: 0 5px;
	border-right: 6px solid var(--light-blue);
	min-width: 7em;
	display: table-cell;
	vertical-align: middle;
}

.newstitle{
	padding: 0.25rem;
	width: 100%;
	display: table-cell;
}

button.bnt {
	background-color: var(--light-color);
	padding: 2px;
	padding-left: 5px;
	padding-right: 5px;
	border: none;
	color: var(--darkest-color);
	margin-bottom: 5px;
}

button.bnt:hover  {
	background-color: var(--light-blue);
	color: var(--lightest-color);
}

.qrng_txt {
	font-family: monospace;
	width: 100%; 
	max-width: 100%;
	background-color: var(--lightest-color);
}

/* button.bnt:focus {
	background-color: var(--blue);
} */

.news-content {
	margin-left:50px;
}

.eventheader {
	display: table;
	margin-bottom:5px;
	font-size:100%;
	line-height:150%;
	width:100%;
	font-weight:500;
	border-bottom: 1px solid var(--dark-color);
}

.eventdate {
	display: table-cell;
	vertical-align: middle;
	background-color: var(--lightest-color);
	color: var(--darkest-color);
	padding: 0 3px;
	border-right: 6px solid var(--light-blue);
	min-width: 6em;
}

.eventtitle{
	padding: 0.25rem;
	width: 100%;
	display: table-cell;
}

.eventlink {
	color: var(--darkest-color);
}

.eventlink:hover {
	color: var(--darkest-color);
}

.event-content {
	color: var(--darkest-color);
	margin-left:5px;
	font-size: 90%;
}

/* bibliography */
.bib-title:after
{
	content: '.';
}

.bib-title-link {
    color: black;
}

.bib-title-link:hover, 
.bib-title-link:focus {
	color: var(--darkest-color) !important;
}

.bib-booktitle {
	font-style: italic;
}
.bib-booktitle:before
{
	content: '; In: ';
	font-style: normal;
}
.bib-isbn {
	font-style: normal;
}
.bib-isbn:before
{
	content: '; ISBN: ';
	font-style: normal;
}

.bib-journal:before
{
	content: '; '
}
.bib-journal-issue:not(:empty)::before
{
	content: ' ('
}
.bib-journal-issue:not(:empty)::after
{
	content: ')'
}

.bib-award {
	font-weight: bold;
}
.bib-award:before
{
	content: '. ';
	font-weight: normal;
}

.bib-note:before
{
	content: '. ';
}

.bib-link:before
{
	content: '[';
}
.bib-link:after
{
	content: ']';
}

.bib-thesis:before
{
	content: '; ';
}

.bib-thesistype
{
	font-style: italic;
}

.bib-school:before
{
	content: ' at: '
}

.bib-pubyear:before
{
	content: '; '
}

.bib-publisher ~ .bib-year:before
{
	content: ', '
}

.oscs-container {
 	margin-bottom: 1em;
 	padding-left: 0;
 	padding-right: 0;
	box-shadow: var(--bottom-only-lfd-box-shadow);
}

.oscs-header {
	display: table;
	margin-bottom:5px;
	font-size:120%;
	line-height:150%;
	width:100%;
	font-weight:500;
	border-bottom: 1px solid var(--dark-color);
}

.oscs-title{
	padding: 0.25rem;
	padding-left:1em;
	width: 90%;
	display: table-cell;
}

.oscs-year {
	display: table-cell;
	vertical-align: middle;
	background-color: var(--lightest-color);
	color: var(--darkest-color);
	padding: 0 3px;
	border-right: 6px solid var(--light-blue);
	min-width: 8em;
	width: 10%;
}

.break-column {
	flex-basis: 100%;
	width: 0;
	height: 0;
}

.oscs-content-inner {
	padding: 1%;
}

.shadow:before {
	content:"";
  position: absolute;
  inset: calc(-1*var(--s) - 2px);
  transform: translate(var(--x),var(--y));
  clip-path: polygon(
    -100vmax -100vmax,
     100vmax -100vmax,
     100vmax 100vmax,
    -100vmax 100vmax,
    -100vmax -100vmax,
    calc(0px  + var(--s) - var(--x)) calc(0px  + var(--s) - var(--y)),
    calc(0px  + var(--s) - var(--x)) calc(100% - var(--s) - var(--y)),
    calc(100% - var(--s) - var(--x)) calc(100% - var(--s) - var(--y)),
    calc(100% - var(--s) - var(--x)) calc(0px  + var(--s) - var(--y)),
    calc(0px  + var(--s) - var(--x)) calc(0px  + var(--s) - var(--y))
  );
  filter: blur(var(--b));
  }
/* back to top button */

#btn-back-to-top {
	position: fixed;
	bottom: 25px;
	right: 20px;
	display: none;
	box-shadow: var(--bottom-only-lfd-box-shadow);
	z-index: 1020;
}

/* Media queries */
/* sm screens */
@media (max-width: 767.98px){
	.container-fluid > .d-flex{
		min-height: fit-content !important;
	}
	.container-fluid > div.d-flex > div {
		background-image: none !important;
	}
	.container-fluid > div.d-flex > div nav{
		max-height: 100% !important;
	}
	.carousel-item{
		padding: 0 1em;
	}
	.carousel-inner .newstitle,
	.carousel-inner .news-content,
	.carousel-inner .news-date{
		font-size: 90% !important;	
	}
	.list-group-horizontal{
		font-size: 75%;
	}
	.dropdown-menu.show{
		flex-wrap: wrap;
	}
	.person > .row{
		display: flex;
		justify-content: center;
	}
	.person.card{
		width: 10rem !important;
	}
	.person.card > a > .card-body,
	.person.card > a > .card-body img{
		height: 150px !important;
	}
	button[data-bs-target="#modal-group-img"]{
		max-width: 100vw !important;
	}
}
@media (min-width: 768px){
	.container-fluid > .d-flex{
		position: relative !important;
	}
	.navbar-nav.mr-auto{
		text-align: center;
	}
}
/* md screens */
@media (min-width: 767.98px) and (max-width: 991.98px) { 
	.container-fluid > .d-flex {
		min-height: 15vh !important;
	}
	.container-fluid > .d-flex > div > .flex-row{
		flex-wrap: wrap;
	}
	.container-fluid > div.d-flex > div nav{
		max-height: 75% !important;
	}
	button[data-bs-target="#modal-group-img"]{
		max-width: 55vw !important;
	}
}
@media (max-width: 991.98px){
	div#sidebarSupportedContent:not(.show) + div > .d-flex > div {
		padding-right: 1rem !important;
	}
}
/* custom */
@media (min-width: 992px) and (max-width: 1100px) {
	.container-fluid > div.flex-row > div nav{
		margin-left: -5em !important;
	}
}
