/* Master layout */

/* fonts-------
	Gnuolane
	
	Crimson-Semibold
	Crimson-Roman
	Crimson-Italic
*/

@font-face {
    font-family:'Gnuolane';
    src:url('../fonts/gnuolane_rg-webfont.eot'); /* IE8- */
    src:url('../fonts/gnuolane_rg-webfont.eot?iefix') format('embedded-opentype'), /* IE9 */
        url('../fonts/gnuolane_rg-webfont.ttf') format('truetype'); /* The rest of the world */
}

@font-face {
    font-family:'Crimson-Semibold';
    src:url('../fonts/crimsontext-semibold-webfont.eot'); /* IE8- */
    src:url('../fonts/crimsontext-semibold-webfont.eot?iefix') format('embedded-opentype'), /* IE9 */
        url('../fonts/crimsontext-semibold-webfont.ttf') format('truetype'); /* The rest of the world */
}

@font-face {
    font-family:'Crimson-Roman';
    src:url('../fonts/crimsontext-roman-webfont.eot'); /* IE8- */
    src:url('../fonts/crimsontext-roman-webfont.eot?iefix') format('embedded-opentype'), /* IE9 */
        url('../fonts/crimsontext-roman-webfont.ttf') format('truetype'); /* The rest of the world */
}

@font-face {
    font-family:'Crimson-Italic';
    src:url('../fonts/crimsontext-italic-webfont.eot'); /* IE8- */
    src:url('../fonts/crimsontext-italic-webfont.eot?iefix') format('embedded-opentype'), /* IE9 */
        url('../fonts/crimsontext-italic-webfont.ttf') format('truetype'); /* The rest of the world */
}

/* colors---------

crimson - #B02437
light gray - #F2F2F2
dark gray - #B6B6B6

*/

/************************************************************
Global styles */

html {
	background-color: #FFF;
	height: 100%;
}
body {
	margin:0;
	padding:0;
	font: 14px/1.2 Crimson-Roman, Georgia, serif;
}

/* Links */
a:link,
a:visited,
a:hover,
a:active {
	text-decoration:none;
	color: inherit;
}

a:hover, a:active {
	-webkit-transition:all 0.4s ease 0s;
	transition:all 0.3s ease 0s;
}

p a:hover, p a:active {
	color: #B02437;
}

img {
	max-width: 100%;
}

a img {
	border:none;
}

a[href^="tel:"] {
	color:#B02437;
	cursor:inherit;
	font-weight: bold;
}

/* Headings */
h1,h2,h3,h4,h5,h6 {
	font-family: Gnuolane, sans-serif;
	font-weight: lighter;
}

h1 {
	font-size: 2.75em;
	color: #B02437;
}

.content h1 {
	text-transform: uppercase;
}
h2 {
	font-size: 3.8em;
}

h3 {
	font: 1.6em Crimson-Italic, Times, serif;
	margin: 5px 0;
}

h4 {
	font-size: 2.5em;
	color: #B02437;
}

ul, ol {
	list-style: none;
	list-style-type: none;
}

/* Block-level */
address {
	font-style:inherit;
	font-weight:normal;
	text-align:left;
}

header {
	position: relative;
	width: 100%;
	height: 125px;
	z-index: 9;
}

#top {
	width: 100%;
	height: 68%;
	background-color: black;
}

.bg {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 32%;
	background-color: rgba(255,255,255,0.8);
}

nav li {
	display: inline-block;
}

#head-nav {
	margin: 0 auto;
	max-width: 1000px;
	padding: 0;
	position: relative;
	z-index: 4;
	height: 100%;
	font: 1.3em Gnuolane, Arial, sans-serif;
}

#head-nav > ul {
	margin: 0 auto;
	height: 100%;
	max-width: 1000px;
	padding: 0;
	text-transform: uppercase;
}

#head-nav > ul li {
	/* margin: 0 8px;*/
	padding: 0;
	line-height: 100%;
}

#head-nav > ul > li > a.dd-menu {
	padding-right: 17px;
	margin-right: 0;
}

#head-nav > ul > li > a.dd-menu:after {
	content: "";
	position: absolute;
	top:40%;
	right:3px;
	/*margin-left: 4px;*/
	border-top: 5px solid black;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	transform: scale(.9999);
}

/* set every li element after the third one to float/align right to avoid logo */
/*
#head-nav > ul li:nth-child(1n+4) {

	float: right;
	text-align: right;
}
*/

#head-nav > ul a {
	position:relative;
	display:block;
	padding:11px 8px 7px;
}

#head-nav>ul>li.sel>a,
#head-nav > ul > li:hover > a {
	border-top: 5px solid #B02437;
	box-sizing: border-box;
	background-image: url('../images/diag_stripes.png');
	transition: none;

	margin-top:-5px;
	
	height: 44px;

}

header a:link, header a:visited {
	color: black;
}

/* drop down styles */

#head-nav ul ul {
	margin:0;
	padding:10px 0;
	background:#fff;
	
	position: absolute;
	left: -9999px;
	z-index: 18;
	text-transform: capitalize;
}

#head-nav ul li:hover > ul { /* the 'sub' list, i.e. the drop-down menu */
 	display: block;
 	z-index: 19;
 	left: auto;
 	right: auto;	 	
}

#head-nav ul ul li { /* drop-down li elements */
	text-align: left;
	font-size:12pt;
	display: block;
	padding: 0 10px;
	margin: 0;
	font-size: .8em;
}

#head-nav ul ul a:hover {
	color: #B02437;
}

#head-nav ul ul li a {
	display: inline-block;
	vertical-align: bottom;
	padding: 5px 30px 5px 0;
	width: 100%;
	height: 100%;
	position:relative;

	-webkit-transition:all 0.4s ease 0s;
	transition:all 0.4s ease 0s;
}

/* mobile-only nav links */
#nav-jump,
#nav-close {
	display:none !important;
}

/* CSS arrow boxes */
#head-nav ul ul li a:before {
	content:' ';
	position:absolute;
	margin:-12px 0 0;
	height:24px;
	width:24px;
	top:50%;
	left:0;
	background:#000;
	box-shadow:inset -3px 0 0 9px #000, inset 0 0 0 15px #fff; /* This is the square of the arrow */
	visibility:hidden;
	opacity:0;

	-webkit-transition:all 0.3s ease 0.1s;
	transition:all 0.3s ease 0.1s;
}
#head-nav ul ul li a:after { /* This is the triangle of the arrow */
	content:' ';
	position:absolute;
	margin:-6px 0 0 0;
	top:50%;
	left:12px;
	border-left:6px solid #fff;
	border-top:6px solid transparent;
	border-bottom:6px solid transparent;
	visibility:hidden;
	opacity:0;

	-webkit-transition:all 0.3s ease 0.1s;
	transition:all 0.3s ease 0.1s;
}
#head-nav ul ul li a:hover {
	padding:5px 0 5px 30px;
}
#head-nav ul ul li a:hover:before,
#head-nav ul ul li a:hover:after {
	visibility:visible;
	opacity:1;
}

/*
#head-nav ul ul div.arrow {
	margin: 0 10px 0 0;
	vertical-align: middle;
	visibility: hidden;
}

#head-nav ul ul li:hover div.arrow {
	visibility: visible;
}
*/


/* logo */

#logo {
	position: absolute;
	top: 0;
	left: 50%;
	right: 0;
	margin: 0 auto;
	margin-left:-140px;
	background-color: #000;
	height: 105%;
	max-height: 131px;
	max-width: 280px;
	z-index: 23;
}

#logo img {
	position: relative;
	margin: 15px auto;
	display: block;
	padding: 0;
	max-height: 111px;
}

#logo a:after { /* bottom angle */
	content: "";
	color: white;
	position: absolute;
	top: 100%;
	left: 0;
	/* width: 210px; */
	border-left: 140px solid transparent;
	border-right: 140px solid transparent;
	border-top: 15px solid black;
	transform: scale(.9999); /* firefox aliasing fix */
	
	cursor: default;
	
}

#logo:before { /* left angle */
	content: "";
	position: absolute;
	right: 100%;
	border-left: 30px solid transparent;
	border-top: 129px solid #000;
	-moz-transform: scale(.9999); /* fixes aliasing in FF */
}


#logo:after { /* right angle */
	content: "";
	position: absolute;
	left: 100%;
	top: 0;
	border-right: 30px solid transparent;
	border-top: 129px solid #000;
	-moz-transform: scale(.9999); /* fixes angled-border aliasing in FF */
}

/* --------header phone number-------- */

.header-number {
	color: #ffffff !important;
	position: absolute;
	bottom: 54%;
	right: 4%;
	font-size: 140%
}

/* --------footer styles-------- */

footer {
	position: relative;
	clear:both;
	/* height: 150px; */
	width: 100%;
	background-color: #F2F2F2;
	overflow: auto;
	
	margin-top: 5px;
	border-top: 20px solid #B02437;
}

footer:before {
	content: "";
	position: absolute;
	top: 0;
	width: 100%;
	border-top: 5px solid #FFF;	
}

#foot-nav {
	display: block;
	position: relative;
	max-width: 1000px;
	margin: 0 auto;
	padding: 25px 0 35px;
	border-bottom: 1px solid #CCC;
	
	overflow: auto;
}

#foot-nav section {
	display: inline-block;
	float: left;
	margin: 5px 0 0 0;
	padding: 0;
	font-size: .9em;
	overflow: hidden;
}

#foot-nav h5 {
	margin: 0;
	font-size: 1.2em;
	font-weight: lighter;
}

#foot-nav strong, #foot-nav div {
	display: inline-block;
	vertical-align: middle;
	clear: none;
}

#foot-nav strong {
	text-indent: -9999px;
	height: 75px;
	width: 115px;
	margin-right: 5px;
	background-image: url('../images/cvdoor_logo_bw.png');
	background-size: 100% 100%;
}

#foot-nav strong:hover {
	background-image: url('../images/cvdoor_logo.png');
}

#foot-nav section address, #foot-nav section p {
	margin: 7px 0;
	line-height: 1.3em;
}

#foot-nav div {
	margin: 8px 10px 0 20px;
	font-size: 1.15em;
}

#foot-nav ul {
	display:inline-block;
	float: right;
	margin: 8px 0 0;
	padding: 0;
}

#foot-nav li {
	vertical-align: middle;
	margin: 0 12px;
}

footer > span {
	display: block;
	margin: 10px auto 35px;
	padding: 0;
	max-width: 1000px;
	clear: both;
}




/************************************************************
Miscellaneous */

a.button {
	background-color: #B02437;
	font-family: Gnuolane, sans-serif;
	font-weight: lighter;
}

a.button:hover {
	
}

/* arrow icon div *

div.arrow {
	display: inline-block;
	margin: 0;
	padding: 0;
	position: relative;
	height: 25px;
	width: 25px;
	background-color: #000;
}

div.arrow:before {
	content:"";
	height: 5px;
	width: 10px;
	background-color: #FFF;
	/*
	border: 1px solid #000;
		border-width: 5px 0;
	*
	position: absolute;
	top: 10px;
	left: 5px;
}

div.arrow:after {
	content:"";
	height:0;
	width:0;
	
	border-left: 6px solid #FFF;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	position: absolute;
	top: 6px;
	right: 5px;
}
*/

/* Used for top nav... */

.pushLeft{
	float: left;
	text-align: left;
}

.pushRight{
	float: right;
	text-align: right;
}

/* Text alignment */
.left { text-align:left !important; }
.center { text-align:center !important; }
.right { text-align:right !important; }

/* Font sizes */
small { font-size:90%; }
big { font-size:115%; }


/* Columns */
.col {
	display:inline-block;
	vertical-align:top;
}

hr {
	margin: 10px auto;
	width: 75%;
	border-image:url('../images/squares.png') 5 6 5 0 repeat;
	border-width: 5px 0 0 0 ;
}

.main {
	width: 66%;
	max-width: 680px;
	margin: 0 3% 0 0; 
	font-size: 14pt;
}

.side {
	width: 30%;
	max-width: 300px;
	text-align: center;
}

.side > * {
	margin: 10px 0;
}

.side > *:first-child {
	margin-top: 30px;
}

.side a img {
	border: 8px solid #BABABA;
}

.col-contain {
	margin: 0 auto;
	max-width: 1000px;
	padding: 0;
/* 	text-align: center; */
}

colgroup col {
	width: 50%;
}

/* Fix extra button padding in Firefox */
input[type="submit"]::-moz-focus-inner {
	border:none;
	padding:0;
	line-height:1;
}

