html {
  scroll-behavior: smooth;
  position: relative;
  min-height: 100%;
}
body {
	margin: 0;
  margin-bottom: 350px;
	// color: $font-color;
	font-family: $font-style;
	// font-size: 1.1em;
	// line-height: 1.6;
	// -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 {
	font-weight: 600;
	color: $heading-font-color;
	font-family: $heading-font;
	line-height: 1.5;
}

h1.title {
	text-align: center;
	// color: $main;
	text-transform: uppercase;
}

a, a:hover {
	color: $main;
}


/**** CODE BLOCK ****/
pre code {
	color: white !important;
	background-color: black;
  // border: 2px solid grey;
  display: block;
  padding: 20px;
	overflow-x: scroll;
}


/**** NAVBAR ****/
.navbar {
	z-index: 1;
}
ul.navbar-nav li.dropdown:hover > div.dropdown-menu {
    display: block;
}



/**** BUTTONS ****/
.btn-outline-primary {
	border-color: $main;
	color: $main;
	border-width: 2px;
	border-radius: 5px;
}
.btn-outline-primary:hover,
.btn-outline-primary:active,
.btn-outline-primary:visited,
.btn-outline-primary:focus {
		background-color: $main;
		border-color: $main;
		cursor: pointer;
}
.btn-primary {
	color: white !important;
	background-color: $main;
	border: none;
  transition: 0.5s;
}
.btn-primary:hover,
.btn-primary:active,
// .btn-primary:visited,
.btn-primary:focus {
		background-color: #006a7c;
    border-color: #006a7c;
}



/**** SIDEBAR ****/
.sidenav-top {
	width: $sidenav-width;
	height: 130px;
	background-color: $base;
	position: fixed;
	top: 0px;
	text-align: center;
	img {
		padding-top: 12px;
    padding-bottom: 8px;
	}
  div.search {
    padding-top: 5px;
    input {
      width: 88%;
      padding: 3px;
      padding-right: 25px;
    }
		button {
			color: $main;
      background-color: transparent;
      border: none;
			cursor: pointer;
      padding: 0px;
      position: absolute;
      right: 10px;
      margin: 3px 10px;
		}
	}
}
.sidenav {
  height: calc(100vh - 130px);
  top: 130px;
  width: $sidenav-width;
  position: fixed;
  // z-index: -1;
  left: 0;
  background-color: $base;
  overflow-x: hidden;
  padding-bottom: 25px;
	a {
		text-decoration: none;
		color: $main;
		display: block;
	}
	a.item {
		// top right bottom left
	  padding: 10px 8px 5px 15px;
	  font-size: large;
		font-weight: 600;
	}
	a.subitem {
	  padding: 4px 8px 5px 30px;
	  font-size: normal;
	}
	a.active {
		font-weight: 600;
	}
}

div#doc-container {
  margin-left: $sidenav-width;
  padding: 30px 35px;
	width: auto;
  div.edit {
    text-align: right;
  }
  img {width:80%;}

}

div.navbuttons {
  // margin: 0 50px;
  text-align: center;
  button {
    margin: 10px;
  }
}


/**** HEADER ****/
header {
  min-height: 350px;
  background-color: $base;
  text-align: center;
  align-items: center;
  box-shadow: 0 0 8px 0 rgba(0,0,0,0.2);

  h1 {padding-top: 20px;}
  p {
    padding: 12px;
    color: $main;
    font-size: large;
  }
	// BUTTONS
	.btn-outline-primary {
		margin: 10px;
	}
  .btn-primary {
    border: 2px $main solid;
    margin: 10px;
  }
  a:hover {
    color: white;
    text-decoration: none;
  }
}


/**** CARD ****/
div.card {
	width: 18rem;
	min-height: 320px;
	margin: auto;
	margin-top: 5rem;
	padding-top: 65px;
	box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
	transition: 0.3s;
	border-radius: 5px;

  div.fav {
		left: 6rem;
		top: -2.8rem;
		position: absolute;
		background-color: white;
		padding: 0px 18px;
		border-radius: 50px;
		border: 1px solid lightgrey;
		font-size: 70px;
		box-shadow: 0 2px 3px 0 rgba(0,0,0,0.2);
		// text-align: center;
	}

	h5.card-title {
		text-transform: uppercase;
		color: $main;
		font-weight: 600;
		font-size: 1.4rem;
	}
}

div.card:hover {
		box-shadow: 0 8px 12px 0 rgba(0,0,0,0.2);
}



div.toc {
  margin-right: 280px;
  h1 {
    margin-top: 100px;
    font-size: 28px;
  }
  h2 {
    font-size: 25px;
  }
  h3 {
    font-size: 22px;
  }
}



/**** TABLE OF CONTENTS ****/
ul#markdown-toc {
  position: absolute;
  right: 20px;
  border: 2px grey solid;
  border-radius: 15px;
  width: 280px;
  padding: 5px 12px;
  line-height: 30px;
  list-style-type: none;

  li {
    list-style-type: none;
    border-bottom: 1px grey solid;
    ul {
      padding-left: 25px !important;
      li {border: none;}
    }
  }
}
@media (max-width: 800px) {
  ul#markdown-toc {
    position: static;
  }
  div.toc {
    margin-right: 0px;
  }
}



/**** SCROLL TO TOP BUTTON ****/
button#myBtn {
	  display: none;
	  position: fixed;
	  bottom: 20px;
	  right: 30px;
	  z-index: 99;
	  font-size: 20px;
	  border: none;
	  outline: none;
	  background-color: lightgrey;
	  color: white;
	  cursor: pointer;
	  padding: 4px 8px;
	  border-radius: 5px;
		transition: 1s;
}
#myBtn:hover {
  background-color: $main;
}


/**** SEARCH PAGE ****/
div.search {
	text-align: center;
	label {
		font-size: 24px;
		color: $main;
	}
	input#search-box {
		border: none;
		border-bottom: 1px solid lightgrey;
		outline: none;
		margin-left: 8px;
		padding: 3px;
		padding-left: 10px;
		font-size: large;
		width: 300px;
	}
	button {
		padding: 4px 8px;
		margin-left: 10px;
		font-size: normal;
	}
}

ul#search-results {
	list-style-type: none;
  a {
    text-decoration-color: black;
  }
}


/**** BLOG FORMATTING ****/
div.blog {
  img {width: 100%;}
  iframe {width: 100%;}
}

/**** FOOTER ****/
footer {
  min-height: 250px;
  width: 100%;
  // margin-top: 100px;
  padding-top: 40px;
  position: absolute;
  bottom: 0;
  background-color: $base;
  box-shadow: 0 0 5px 0 rgba(0,0,0,0.2);
  color: grey;
  p {
    line-height: 15px;
  }
}

@media (max-width: 576px) {
  body {margin-bottom: 575}
}
