/*  -------------------------
	general style
	-------------------------  */
html{
	scroll-padding-top: 100px;
}

@media screen{
	body{
		padding-top: 94px;
	}
}

@media screen and (max-width: 767px){
	h1, .h1{
		font-size: 2.25rem;
	}
	h2, .h2{
		font-size: 1.75rem;
	}
	h3, .h3{
		font-size: 1.5rem;
	}
	h4, .h4{
		font-size: 1.25rem;
	}
}

a{
	color: #0171e8;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.-semiTrans-b{
	background-color: rgba(0,0,0,.1);
}

.-semiTrans-b2{
	background-color: rgba(0,0,0,.6);
}

.-semiTrans-w{
	background-color: rgba(255,255,255,.1);
}

.collapsing {
	transition-duration: 0ms;
}

.btn-primary{
	background-color: #0171e8;
	border-color: #0171e8;
}

.btn-outline-primary{
	color: #0171e8;
	border-color: #0171e8;
}

.btn-link{
	color: #0171e8;
}

.btn-link.video-btn, .btn-link.-plain-btn{
	padding: 0;
	font: inherit;
	vertical-align: baseline;
	text-align: left;
}

.accordion button {
	font-weight: 600;
}

.list-inline-item:not(:last-child){
	margin-right: 0;
}

div.jumbotron{
	background: #000033 url("../images/archive.jpg") no-repeat center top;
	background-attachment: fixed;
	padding: 0;
}

.jumbotron h1, .jumbotron p{
	text-shadow: 1px 1px 4px #000;
}

@media (prefers-reduced-motion:reduce){
	div.jumbotron{
		background-attachment: local;
	}
}

.-clist li{
	border-bottom: 1px solid #dee2e6;
	padding: 5px 0;
}

.-current{
	border: 1px solid rgba(0,0,0,.125);
	border-radius: .25rem;
}
.-current h2{
	background-color: #000033;
	border-radius: .25rem .25rem 0 0;
}

.-live{
	border: 1px solid rgba(0,0,0,.125);
	border-radius: .25rem;
}

.-live .h5{
	border-radius: .25rem .25rem 0 0;
	padding: .75rem 1.25rem;
	background-color: #000033;
}


/*  -------------------------
	header & main navigation
	-------------------------  */
header .navbar{
	background-color: #000033;
}

.navbar-brand img{
	max-width: 100px;
	transition: max-width 400ms ease-in-out 0s;
}

.navbar-brand img.-shrink{
	max-width: 50px;
}

a.-skip-nav:focus{
	z-index: 9999;
}

.navbar-dark .navbar-nav .nav-link {
	color: rgba(255,255,255,.75);
}

.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {
	color: rgba(255,255,255,1);
	outline: -webkit-focus-ring-color auto 1px;
}

.btn-link.nav-item{
	vertical-align: baseline;
	padding: .5rem 0;
	font: inherit;
}

#searchbox:focus{
	border: 4px solid #007bff;
	box-shadow: none;
}

.-searchbar-toggler{
	background-color: transparent;
	border: none;
}

.-searchbar-toggler:hover, .-searchbar-toggler:focus{
	outline: 1px solid #fff;
}

.-searchbar-toggler-icon{
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	vertical-align: middle;
	content: "";
	background: url("../images/search.png") no-repeat center;
	background-size: 100%;
}

.-searchbar-toggler[aria-expanded="true"] .-searchbar-toggler-icon{
	background-image: url("../images/close.png");
}



/*  -------------------------
	footer
	-------------------------  */
footer{
	background-color: #000033;
}

footer a, footer a:hover{
	color: inherit;
}

.-address p a{
	line-height:2em;
}

.-social-media a:hover, .-social-media a:focus{
	outline: 1px solid white
}

.-social-media .list-group-item{
	background-color: transparent;
}



/*  -------------------------
	page TOC & jump links
	-------------------------  */
.-toc-item{
	margin-bottom: .5rem;
}

.-toc-item ul{
	margin-top: .5rem;
}

.-toc-item.list-inline-item::after{
	content: "  •";
}

.-toc-item.list-inline-item:last-child::after{
	content: "";
}

@media screen and (max-width:1475px){
.-toc-item ul {
	display: inline;
}
.-toc-item ul::before{
	content: ": ";
	font-weight: bold;
}
}

@media screen and (min-height:500px) and (min-width:1475px){
	.-toc{
		position: fixed;
		top: 6rem;
		left: 0;
		height: calc(100vh - 4rem);
		overflow-y: auto;
		padding-left: .5rem;
		transition: top 400ms ease-in-out 0ms;
	}
	.-toc.-shift{
		top: 4rem;
	}
	.-toc-item.list-inline-item{
		display: block;
	}
	.-toc-item.list-inline-item::after{
		content: "";
	}
	.-toc-item ul{
		padding-left: 1rem;
	}
}


/*  -------------------------
	tables & forms
	-------------------------  */
thead{
	background-color: #000033;
	color: #f8f9fa;
}

.table thead th{
	vertical-align: middle;
}

th:nth-child(2),td:nth-child(2), th:nth-child(3),td:nth-child(3){
	text-align: center;
}

.form-control{
	color: #000000;
}

.was-validated .form-control:valid:optional{
	border-color: #ced4da;
	padding-right: .75rem;
	background-image: none;
	color: inherit;
}

.form-check-input.is-valid:optional~.form-check-label, .was-validated .form-check-input:valid:optional~.form-check-label{
	color: inherit;
}


/*  -------------------------
	galleries & carousels
	-------------------------  */
.-screen-gallery img:hover{
	cursor: pointer;
}

.carousel-caption{
	position: relative;
	left: 0;
	top: 0;
}

.carousel-control-prev-icon, .carousel-control-next-icon{
	background-image: none;
}

span.carousel-control-prev-icon{
	background-image: url(../images/arrow-left.png);
	width: 35px;
	height: 35px;
}

span.carousel-control-next-icon{
	background-image: url(../images/arrow-right.png);
	width: 35px;
	height: 35px;
}

@media screen and (min-width:992px){
	.carousel-control-next, .carousel-control-prev{
		width:5%;
	}
}


/*  -------------------------
	embedded video modal
	-------------------------  */
.list-group-item-action.video-btn{
	padding: .75rem 1.25rem;
}

.-yt .modal-dialog {
	max-width: 75%;
	margin: 30px auto;
}

.-yt .modal-body {
	position: relative;
	padding: 0px;
}


/*  -------------------------
	WE calculator form
	-------------------------  */
.-card-input-element+.card {
  color: var(--primary);
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 2px solid #d9dadb;
  border-radius: 4px;
}

.-card-input-element+.card:hover {
  cursor: pointer;
}

.-card-input-element:checked+.card {
  border: 2px solid var(--primary);
  -webkit-transition: border .3s;
  -o-transition: border .3s;
  transition: border .3s;
}