/* General */
html {
  position: relative;
  min-height: 100%;
  scroll-behavior: smooth;
}

body {
	font-family: 'Rubik', sans-serif;
	letter-spacing: -.01rem;
	margin-bottom: 100px;
}

h1, h2, h4, h5 {
	font-family: 'Oswald', sans-serif;
	color: #333333;
	
}

h1 {
	font-size: 4rem;
	text-transform: uppercase;
	text-align: center;
	letter-spacing: 2px;
}

h2 {
	font-size: 2rem;
	color: #419433;
	text-transform: uppercase;
}

p {
	color: #333333;
}

a {
	color: #66b1c7;
}

a:visited, a:active, a:hover {
	color: #5a94a5;
}

.muted {
	color: #bbbbbb;
}

.no-bullets {
	list-style: none;
	padding-left: 0;
}

.no-bullets li {
	padding-bottom: 20px;
}

.click-thru {
	pointer-events: none;
}


/* Nav */

.navbar-brand img {
	width: 150px;
	height: auto;
}

.navbar-dark .navbar-nav .nav-link {
	text-transform: uppercase;
	font-weight: 500;
	font-size: 14px;
	padding: .8rem;
	letter-spacing: .05rem;
}

.navbar-dark .navbar-nav .active>.nav-link, .navbar-dark .navbar-nav .nav-link.active, .navbar-dark .navbar-nav .nav-link.show, .navbar-dark .navbar-nav .show>.nav-link {
	background-color: #151515;
}

.bg-dark {
	background-color: #29292A !important;
}

nav.navbar.navbar-expand-lg.navbar-dark.bg-dark {
    position: fixed;
    width: 100%;
    z-index: 1000;
}

.fixed-hero-nav {
    margin-top: -79px;
}


/* Homepage */

#hero-bg {
	width: 100%;
	height: 60vh;
	position: relative;
	background: url('/img/mountain-dark.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.hero {	
	margin-top: 79px;
	background-color: #cccccc !important;
}

.hero, .case-hero {
	background: #cccccc;
}

.hero h1 {
	color: #ffffff;
	text-shadow: 2px 2px 0px black;
}

.caption-btm, .caption-top {
    position: absolute;
    background-color: rgba(0, 0, 0, 0.5);
    color: #ffffff;
    font-size: 12px;
    padding: 5px 10px;
}

.caption-btm {
    bottom: 20px;
    right: 10%;
}

.caption-top {
    top: 20px;
    right: 10%;
}

#intro, #about, #location, #body, #background, #expertise {
	padding: 100px 0;
}

#intro h3 {
	font-weight: 100;
	line-height: 40px;
}

#about-bg {
	width: 100%;
	height: 60vh;
	position: relative;
	background: url('/img/michael-freund-portrait-02.jpg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-attachment: fixed;
}

#about p {
	text-align: justify;
	line-height: 1.7;
}

#resume-bg {
	width: 100%;
	height: 60vh;
	position: relative;
	background: url('/img/dc-court-of-appeals.jpg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-attachment: fixed;
}


/* Resume */

#resume .resume {
	position: relative;
	background-color: #ffffff;
	width: 800px;
	padding: 0 200px;
}

#resume-bg .resume-top, #location-bg .resume-btm {
	background-color: #ffffff;
	height: 100px;
	margin: 0 auto;
	display: block;
	width: 100%;
}

#resume-bg .resume-top {
	bottom: 0px;
	margin-bottom: -1px;
}

#location-bg .resume-btm {
	top: 0px;
	margin-top: -1px;
}

#resume .resume li:last-child {
	padding: 0;
}

#resume .resume li:last-child p, #resume .resume ul:last-child {
	margin: 0;
}

#location-bg {
	width: 100%;
	height: 60vh;
	position: relative;
	background: url('/img/mission-blue-butterfly-lupine.jpg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-attachment: fixed;
}

#sticky-footer {
  flex-shrink: none;
}

#footer-bg {
	position: relative;
}

#footer-bg img {
	width: 100%;
}

.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 100px;
  line-height: 100px;
  color: #ffffff;
}


/* Page Heros */
#background-bg, #expertise-bg, #clients-bg, #allcases-bg {
	background-color: #cccccc !important;
}

#background h2, #expertise h2 {
	padding: 40px 0 10px;
}


/* Background */
#background-bg {
	width: 100%;
	height: 40vh;
	background: url('/img/background-hero.jpg');
	background-repeat: no-repeat;
	background-position: 50% 70%;
	background-size: cover;
}


/* Expertise */
#expertise-bg {
	width: 100%;
	height: 40vh;
	position: relative;
	background: url('/img/expertise-hero.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}


/* Clients */
#clients-bg {
	width: 100%;
	height: 40vh;
	background: url('/img/clients-hero.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.clients ul li {
	padding-bottom: 10px;
}


/* All Cases */
#allcases-bg {
	width: 100%;
	height: 40vh;
	background: url('/img/cases-hero.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.cases-container {
  overflow: hidden;
}

.cases-container a {
  color: #cccccc;
}

.cases-container a:hover, .cases-container a:hover {
  text-decoration: none;
}

/* Case Filter */
.filterDiv {
  display: none;
}

.show {
  display: block;
}

#myBtnContainer .btn {
  border: none;
  outline: none;
  background-color: #f1f1f1;
  cursor: pointer;
}

#myBtnContainer .btn:hover {
  background-color: #ddd;
}

#myBtnContainer .btn.active {
  background-color: #666;
  color: white;
}

#myBtnContainer.btn-group-vertical {
	width: 100%;
}

#myBtnContainer .btn {
	text-align: left;
}

.search .form-control {
	width: 180px;
	border-radius: 0px;
	font-size: 12px;
	padding: .55rem .75rem;
}

.search .btn {
	background-color: #29292A;
	color: #ffffff;
	border-radius: 0px;
	text-transform: uppercase;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .05rem;
	padding: .65rem .75rem;
}


/* Individual Cases */

.case-hero {
	width: 100%;
	padding-top: 79px;
	height: auto;
}

.case-nav {
	width: 100%;
	padding-bottom: 40px;
}

.case-nav a {
	color: #bbbbbb;
	text-transform: uppercase;
	font-size: 12px;
	line-height: 24px;
}


/* Responsive styling */
/* Smartphones (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 320px) 
and (max-device-width : 480px) {
/* Styles */
	h1 {
		font-size: 40px;
		padding: 0px;
	}
	h3 {
		font-size: 20px;
	}
	#background .resume {
		padding: 50px 20px;
	}
	#about-bg, #background-bg, #location-bg, #footer-bg, #clients-bg, #expertise-bg {
		background-attachment: scroll;
		background-size: cover;
	}
}

/* iPads (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) {
/* Styles */
	#background .resume {
		padding: 0 100px;
	}
}

/* Lg screens ----------- */
@media only screen 
and (max-width :991px) {
/* Styles */
	#background .resume {
		padding: 0px 100px;
	}
}

/* Med screens ----------- */
@media only screen 
and (max-width :767px) {
/* Styles */
	h1 {
		font-size: 50px;
	}
	h3 {
		font-size: 20px;
	}
	#intro, #about, #location {
		padding: 50px 0;
	}
	#about p {
		text-align: initial;
		line-height: 1.5;
	}
	#background .resume {
		padding: 50px 20px;
	}
}

/* Sm screens ----------- */
@media only screen 
and (max-width 575px) {
/* Styles */
	.search {
		float: right;
	}
	#myBtnContainer .btn {
		text-align: center;
	}
	.search .form-control {
		width: auto;
	}
	#allcases-bg {
		width: 100%;
		height: 20vh;
	}
}


