/* ----- FONTS ----- */
@font-face {
    font-family: 'viper';
    src: url('../fonts/sfvipersquadron-webfont.woff2') format('woff2'),
         url('../fonts/sfvipersquadron-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'vipersolid';
    src: url('../fonts/sfvipersquadronsolid-webfont.woff2') format('woff2'),
         url('../fonts/sfvipersquadronsolid-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'viperitalic';
    src: url('../fonts/sfvipersquadronsolid-italic-webfont.woff2') format('woff2'),
         url('../fonts/sfvipersquadronsolid-italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'nurom';
    src: url('../fonts/nurom-bold-webfont.woff2') format('woff2'),
         url('../fonts/nurom-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* ----- GENERIC STYLING ----- */
html
{
	position: relative;
	min-height: 100%;
	font-size: 12px;
}

@media (min-width: 768px) { html { font-size: 14px; } }
@media (min-width: 992px) { html { font-size: 14px; } }
@media (min-width: 1200px) { html { font-size: 16px; } }

body
{
	line-height: 1.5;
	font-size: 1rem;
	margin-bottom: 80px;
    background: white;
	font-family: calibri, sans-serif;
	color: black;
}

h1
{	
	font-family: 'nurom', sans-serif;
}

a, a:hover
{
	color: #BC1123;
}

/* ----- HEADER---- */
header 
{
	background: black;
	padding: 20px 0px 10px 0px;
	font-family: 'nurom', sans-serif;
}

header #logo a
{
	font-size: 2rem;
	color: #BC1123;
	text-decoration: none;
	display: block;
}

header #logo a:hover
{
	color: #BC1123;
	text-decoration: none;
}

@media (min-width: 768px) { header #logo a { font-size: 1.5rem; padding-top: 0px; } }
@media (min-width: 992px) { header #logo a { font-size: 1.25rem; padding-top: 5px; } }
@media (min-width: 1200px) { header #logo a { font-size: 1.45rem; padding-top: 5px; } }

header .right-col
{
	text-align: right;
}

#main-nav
{    
    text-align: right;
}

#main-nav a
{
    display: inline-block;
    color: white;
    padding: 5px 10px;
    font-size: 1rem;
    margin: 0 5px;
    font-weight: bold;
}

@media (min-width: 992px) { #main-nav a { font-size: 1.2rem; margin: 0 10px; } }
@media (min-width: 1200px) { #main-nav a { font-size: 1.4rem; } }

#main-nav a:hover, #main-nav a.current
{
    color: #BC1123;
}

/* ----- MOBILE NAV ----- */
.overlay {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 10;
  left: 0;
  top: 0;
  background-color: rgb(188,17,35);
  background-color: rgba(188,17,35, 0.98);
  overflow-x: hidden;
  transition: 0.5s;
}

.overlay-content {
  position: relative;
  top: 15%;
  width: 100%;
  text-align: center;
  margin-top: 30px;
}

.overlay a {
  padding: 8px;
  text-decoration: none;
  font-size: 2rem;
  color: black;
  display: block;
  transition: 0.3s;
  font-weight: bold;
  text-transform: uppercase;
  font-family: 'nurom', sans-serif;
}

.overlay a:hover, .overlay a:focus {
  color: #FFFFFF;
}

.overlay .closebtn {
  position: absolute;
  top: 20px;
  right: 45px;
  font-size: 60px;
}

#menubtn:hover {
	cursor: pointer;
}
	
#menubtn img {
    display: block;
	max-height: 25px;
	margin-left: 10px;
}

@media screen and (max-height: 450px) {
  .overlay a {font-size: 20px}
  .overlay .closebtn {
    font-size: 40px;
    top: 15px;
    right: 35px;
  }
} 

/* ----- FOOTER ----- */
footer
{
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 80px;
	font-size: 1rem;
	padding-top: 20px;
	background: #BC1123;
	color: white;
	font-family: 'nurom', sans-serif;
}

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

@media (min-width: 768px) 
{ 
	footer
	{
		padding-top: 30px;
	}

	footer .right-col
	{
		text-align: right;
	}
}

footer span
{
	display: block;
	margin-bottom: 10px;
}

/* ----- HOME PAGE ----- */
.home section
{
	font-size: 2rem;
	line-height: 2.5rem;
	font-family: 'nurom', sans-serif;
}

@media (min-width: 768px) { section { padding-top: 100px; } }

#top
{
	position: relative;
	min-height: 70vh;
	color: white;
	text-align: center;
	background: #BC1123;
	padding-top: 10vh;
	font-size: 1.75rem;
}

@media (min-width: 992px) { #top { font-size: 2rem; } }

#intro
{
	padding-bottom: 20px;
	padding-right: 50px;
	font-size: 1.75rem;
}

#intro .alt
{
	margin-bottom: 30px;
	padding: 10px 5px 5px 5px;
	color: black;
	background: #F5F5F5;
	font-size: 1.5rem;
}

.accreditations img
{
	margin-bottom: 20px;
}

.accreditations .portrait img
{
	max-height: 200px;
}

@media (min-width: 768px) 
{
	.middle-col
	{
		padding-left: 50px;
	}
}

@media (min-width: 992px) 
{
	.accreditations img 
	{ 
		max-width: 200px; 
	}
}

#services
{
	background:white;
	color: #BC1123;
	font-size: 1.5rem;
}

@media (min-width: 768px) { #services { font-size: 1.1rem; } }
@media (min-width: 992px) { #services { font-size: 1.5rem; } }

#services p
{
	color: black;
	margin: 0px 20px 40px 0px;
}

#services h1
{	
	font-size: 3rem;
	line-height: 3.5rem;
	color: #BC1123;
	margin-bottom: 30px;
}

#services img
{
	max-width: 50px;
	margin-top: -10px;
	margin-right: 10px;
}

#services .wow
{
	margin-bottom: 30px;
}

#contact
{
	background: #000000;
	color: white;
}

#contact h1
{
	margin-bottom: 30px;
}

#icons span
{
	margin: 20px 0px;
	display: block;
	font-size: 1.25rem;
}

#icons img
{
	max-height: 40px;
	margin-right: 10px;
	margin-top: -10px;
}

#icons a
{
	color:black;
}

#icons a:hover
{
	color: #BC1123;
	text-decoration: none;
}

.home #icons span
{
	font-size: 1.5rem;
}

.home #icons a
{
	color:white;
}

/* ----- MAIN CONTENT ----- */
main
{
	padding-top: 20px;
	padding-bottom: 20px;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	font-size: 1.2rem;
}

@media (min-width: 768px) { main { padding-top: 50px; } }

.main-image
{
	display: block;
	margin: 10px 0px 20px 0px;
	max-width: 100%;
}


@media (min-width: 768px) { 
	.main-image 
	{ 
		float: right;
		max-width: 30%;
		margin: 0px 0px 50px 50px; 
	} 
}

main h1
{
	margin-bottom: 20px;
}

.red
{
	color: white;
	background: #BC1123;
}

.black
{
	color: white;
	background: black;
}

section
{
	padding-top: 60px;
	padding-bottom: 100px;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
}

.pins
{
	padding-top: 30px;
}

.pins div
{
	padding-bottom: 10px;
}

.pins img
{
	max-height: 40px;
}

.contact .btn
{
	margin-top: 20px;
}

.contact textarea
{
	resize: none;
	height: 120px;
}

.contact input, .contact textarea, .contact select
{
	border: 1px solid #BC1123;
	border-radius: 2px;
	padding:10px;
	display: block;
	width: 100%;
	margin-bottom: 20px;
	font-size: 1.25rem;
}

#confirmemail
{
	display: none;
}

.gap
{
	padding-top: 30px;
}

.thumb
{
	margin-bottom: 30px;
}

.highlight, .pricing li strong
{
	color:#BC1123;
	font-weight: bold;
}

.spaced li
{
	margin-bottom: 10px;
}

.post
{
	margin-bottom: 50px;
}

.post h2
{
	font-weight: bold;
	margin-bottom: 0;
}

.post span
{
	display: block;
    border-bottom: 1px solid #BC1123;
    padding-bottom: 10px;
    margin-bottom: 20px;
}