/*

MOBILE SIZE
	These are the mobile styles.
*/

/* typography */
body{
	background:#fff;
	color:#596369;
	font-family:'Libre Franklin', sans-serif; 
	font-size:1em;
	line-height:1.5em; 
	font-weight:normal;
}

h1 { font-family: 'Libre Franklin', serif; font-weight:normal; 
	margin:.45em 0;
	line-height:1.5em;
	padding:0; }

 h2, h3, h4, h5, h6{
	font-weight:normal;
	font-family:'Libre Franklin', serif;
	line-height:1.5em;
	margin:.45em 0;
	padding:0;
} 


/* links 
footer a,
a:visited,
a:active,
a:hover{color:#fff;}
a:hover{ text-decoration:none;}*/

h1, h2 a,
a:visited,
a:active,
a:hover{color:#694664;}
a:hover{ text-decoration:none;}

a,
a:visited,
a:active { color:#0e0e0e; text-decoration: none; font-weight: 500; }
a:hover{color:#8072a0; text-decoration:none; font-weight: 500;}


/* Box sizing */
*{	box-sizing:border-box;
	-moz-box-sizing:border-box;}

  
/* structure */   
.wrapper{
	width: 92%; 
	margin: 0 auto;
}
header{ 
	padding:15px 0; color: #000;
}

#hero{
	padding:0 0 20px 0;
	width: 100%; 
	background: #fafafc;
}

#hero1,
#page-header{
	background: #434549;
	padding:10px 0 20px 0;
	color: #fff;
}


#hero2 {
	background:#4d4660;
	padding:20px 0;
	margin-bottom: 20px;
}
#hero2 p { color: #fff; }

#hero3 {
	background:#4e4a58;
	padding:20px 0;
	margin-top: 20px;
}
#hero3 p { color: #fff; }

#hero h1{ 
	line-height:1.5em;
	margin-top:10px;
	margin-bottom:10px;
	color: #c7cbbb; }

#content {  
	margin:30px 0;
	background: #fff;
}

.dots { border-top: solid 1px #ccc; padding-bottom: 10px; }
#topnav, .srt-menu {
	margin: 1.5em 0 0 0;
	/*width: 92%;*/
}

/*MAIN MENU*/
.navigation {
		margin: 0 auto;
		/*float: right;*/
		}
		.navigation ul {
			float: none;
			-webkit-border-radius: 5px;
			-moz-border-radius: 5px;
			border-radius: 5px; 
		}
		.navigation ul li {
			display: block;
		}
		
	.navigation ul li a {
			padding: 1.5%;
			display: block;
			float: none;
			color: #596369;
			/*width: 94%;*/
			font-weight: normal;
			text-decoration: none;
		}
		.navigation ul li a:hover
		.navigation ul li a.nav-selected {
			color: #293135;
		}
		
/* RESPONSIVE IMAGES */
img{ max-width:100%; height:auto;}

/*SPACE GRID ELEMENTS VERTICALLY, SINCE THEY ARE ONE UNDER ANOTHER SO FAR*/
.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12 {
	margin-bottom:10px;
	/*positioning and padding*/
	position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
}
.grid_12a {
	margin-bottom:10px;
	/*positioning and padding*/
	position: relative;
    min-height: 1px;
    padding-left: 0;
    padding-right: 0;
}
div#ccm-highlighter {z-index:100!important;}

/*FOOTER*/
footer{  
	clear:both;
	padding:20px 0;
	background: #2f2d35 url(../images/footerlogo.png) no-repeat right;
	color: #faf9fb;
}
footer ul{
	margin:0;
	padding:0;
}

footer p { line-height: 2em; }

.contact { font-size: 1.2em; line-height: 35px; text-align: center; padding-top: 20px; }
.contact h1 { margin-bottom: 0!important; padding-bottom: 0!important; }

.linenbg { background: url(../images/linen.jpg); padding: 15px; width: 100%; margin: 20px auto; color: #fff; font-size: 1.1em; } 
.linenbg ul li { line-height: 1.6em; } 
.linenbgsm { background: url(../images/linen.jpg); padding: 15px; max-width: 700px; margin: 20px auto; color: #4f4e36; font-size: 1.1em; line-height: 1.7em; } 

/* Animation */

@keyframes fadeInUp {
    from {
        transform: translate3d(0,40px,0)
    }

    to {
        transform: translate3d(0,0,0);
        opacity: 1
    }
}

@-webkit-keyframes fadeInUp {
    from {
        transform: translate3d(0,40px,0)
    }

    to {
        transform: translate3d(0,0,0);
        opacity: 1
    }
}

.animated {
    animation-duration: 1s;
    animation-fill-mode: both;
    -webkit-animation-duration: 1s;
    -webkit-animation-fill-mode: both
}

.animatedFadeInUp {
    opacity: 0
}

.fadeInUp {
    opacity: 0;
    animation-name: fadeInUp;
    -webkit-animation-name: fadeInUp;
}

.back-to-top {
background: none;
margin: 0;
position: fixed;
bottom: 0;
right: 0;
width: 70px;
height: 70px;
z-index: 100;
display: none;
text-decoration: none;
/*color: #69c8df;*/
background-color: none;
}

.back-to-top i {
  font-size: 60px;
}
#tel { padding-top: 10px; }
#tel h2 { color: #928d5d; }

/*colors and backgrounds*/


h1 {
	color:#8577a3;
}
h2, h3 { color: #8577a3; }
h4, h5, h6 { color: #c59608; }


#logo { margin: 0 auto; }
.contact h3 { color: #705202; }

footer{ 
	padding-top: 50px;
}

footer h1 { color: #928d5d; }

footer ul{
	margin:0 0 0 8%;
}

/* Contain floats*/ 
.clearfix:before,
.clearfix:after,
.row:before,
.row:after {
  content: " ";
  display: table;
}
.clearfix:after,
.container:after,
.row:after{
  clear: both;
}

a.link2:link { color: #fff; text-decoration: none; background: #bcc3b9; font-size:1em; font-weight: 500; padding: 5px 10px; margin: 15px 0; }
a.link2:visited { color: #fff; background: #bcc3b9; text-decoration: none; font-size:1em;  font-weight: 500; padding: 5px 10px; margin: 15px 0; }
a.link2:hover { color: #fff; background: #a7afa3;  text-decoration: none; font-size:1em;  font-weight: 500; padding: 5px 10px; margin: 15px 0; }

a.link3:link { color: #c59608; text-decoration: none; background: transparent; font-size:1em; font-weight: 500; }
a.link3:visited { color: #c59608; background: transparent; text-decoration: none; font-size:1em;  font-weight: 500; }
a.link3:hover { color: #dab34a; background: transparent;  text-decoration: none; font-size:1em;  font-weight: 500; }

.paddingtop { padding-top: 30px; }
.padding { padding: 10px 0 0 0; }
.nodisplay { display: none; }

.whitelink a { color: #fff!important; text-decoration: none!important; }

.callaction { text-align: center; margin: 20px auto; max-width: 80%; }
.callaction1 { text-align: center;  margin: 20px 0 40px 0; }
a.callactionlink:link { border: solid 1px #000; padding: 10px 20px; white-space: nowrap; background: #fff; margin: 30px 0 0 0; transition: background .6s ease-in-out,color .2s ease-out,border .2s ease-in-out;  }
a.callactionlink:hover { border: solid 1px #000; padding: 10px 20px; white-space: nowrap; background: #000; color: #fff; margin: 30px 0 0 0; }

.space p { padding: 0; margin-top: -30px; }

.border { background: #fff; padding: 10px; }
.picright { float: right; margin: 0 20px; text-align: center; }
.picleft { float: left; margin: 0 20px; text-align: center; }

.slider img { min-width: 100%; }

hr { background-color: #ccc; border: 0; height: 1px; margin-bottom: 30px; }

/* Opacity #1 */
.hover11 figure img {
	opacity: 1;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.hover11 figure:hover img {
	opacity: .5;
}

.clear { clear: both; }

.rounded {  border: solid 1px #eaeaea; }

/* Make Facebook Widget responsive */
#fb-root {
    display: none;
}
.fb_iframe_widget, .fb_iframe_widget span, .fb_iframe_widget span iframe[style] {
    width: 100% !important;
	min-width: 400px!important;
}

/*Responsive Nav*/
* { box-sizing: border-box;
}

.navWrapper { height: 100%; width: 100%;  }
.navWrapper ul li { margin: 0; padding: 0; list-style: none; display: inline; }
.navWrapper a { font-weight: 500; margin: 0; padding: 5px 5px; letter-spacing: 1; text-decoration: none; color: #000; font-size: 15px; }

.navWrapper a:hover { color: #152649; }

.navMenu { margin: 30px 0 0 0; white-space: nowrap;  }

/* submenu */

.subMenu a {
font-weight: 700;
font-size: 14px;
padding: 4px 22px;
}

/* mobile icon */

.mobileTrigger {
display: none;
text-align: right;
}


@media screen and (max-width: 620px) {

.desktop-logo {
display: none;
}

.mobile-logo {
width: 45px;
float: left;
margin-bottom: 20px;
}

.navWrapper {
height: auto; width: 100%; overflow: hidden;
}

.navMenu {
display: none;
clear: both;
}

.navWrapper a {
display: block;
padding: 12px 14px;
border: none;
border-top: 1px solid #ebebeb;
text-align: left;
}

/* submenu */

.subMenu a {
padding-left: 50px;
background-color:#666;
}

/* mobile icon */

.mobileTrigger {
display: block;
color: #000;
padding: 5px 30px;
overflow: hidden;
}

.fa-bars {
font-size: 26px;
padding-top: 6px;
color: #000;
}

.nav-expanded {
display: block;
}
}
/*End Responsive Side Nav*/


/*
LARGER MOBILE DEVICES
This is for mobile devices with a bit larger screens.
*/
@media only screen and (min-width: 481px) {

.menu-toggle{/*make menu float right, instead of sitting under the logo*/
	margin-top:10px; /*this depends on the height of the logo*/
	float:right;
}
.nodisplay { display: none; }

} 

/*
TABLET & SMALLER LAPTOPS
The average viewing window and preferred media query for those is 768px.
But I think that some more breathing space is good:)
*/
@media only screen and (min-width: 968px) {

.wrapper{
	max-width: 85%; 
	margin: 0 auto;
}

header{
	padding:0;
}
#content {  
	float:left;
	width:100%;
}
#content.wide-content{
	float:none;
	width:100%;
	margin: 30px auto 0;
}
#tel { padding-top: 30px; }

/*MAIN MENU*/
.navigation {
	padding-top: 0;
	padding-bottom: 0;
}
.navigation ul {
	padding: 0;
	margin: 0;
	list-style: none;
}
.navigation ul li {
	display: inline;
	padding: 0;
	margin: 0;
}
.navigation ul li a {
	padding: 10px 20px;
	width: 100%;
	display: inline;
	float: none;
	color: #596369;
	font-weight: normal;
	text-decoration: none;
}
.navigation ul li a:hover,
.navigation ul li a.nav-selected {
	color: #293135;
}
.space p { padding: 5px; margin: 5px; }
/*GRID*/
/*
 & Columns : 12 

 */
 .row{
	 margin-left: -15px;
     margin-right: -15px;
}
 
.grid_1 { width: 8.33333333%; }
.grid_2 { width: 16.66666667%; }
.grid_3 { width: 25%; }
.grid_4 { width: 33.33333333%; }
.grid_5 { width: 41.66666667%; }
.grid_6 { width: 50%; }
.grid_7 { width: 58.33333333%; }
.grid_8 { width: 66.66666667%; }
.grid_9 { width: 75%; }
.grid_10 { width: 83.33333333%; }
.grid_11 { width: 91.66666667%; }
.grid_12 { width: 100%; }

.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12 {
	float: left;
	display: block;
}
.grid_12a {
	margin-bottom:10px;
	/*positioning and padding*/
	position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
}

.rightfloat {float:right;}
 
#hero [class*="grid_"] { margin-bottom:-20px;}
.nodisplay { display: block; }
.center { margin: 0; }
/*.callaction img  { max-width: 300px; }*/

.callaction { text-align: center; margin: 20px auto; max-width: 100%; }
.callaction1 { text-align: center; margin: 20px 30px 50px 30px;  }

}

/*
DESKTOP
This is the average viewing window. Desktops, Laptops etc
*/
@media only screen and (min-width: 1030px) {
.nodisplay { display: block; }
.grid_12a {
	margin-bottom:10px;
	/*positioning and padding*/
	position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
}
/*MAIN MENU*/
.navWrapper a { font-weight: 500; margin: 0; padding: 5px; letter-spacing: 1; text-decoration: none; color: #000; }
.center { margin: 0; }


} 

/*
LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.
*/
@media only screen and (min-width: 1240px) {
.nodisplay { display: block; }
.grid_12a {
	margin-bottom:10px;
	/*positioning and padding*/
	position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
}
/*Main Menu*/
.navWrapper a { font-weight: 500; margin: 0; padding: 5px 18px; letter-spacing: 1; text-decoration: none; color: #000; }
.callaction { text-align: center; margin: 20px auto; max-width: 80%; }
} 

/*
RETINA (2x RESOLUTION DEVICES)
This applies to the retina iPhone (4s) and iPad (2,3) along with
other displays with a 2x resolution.
*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
       only screen and (min--moz-device-pixel-ratio: 1.5),
       only screen and (min-device-pixel-ratio: 1.5) {
.nodisplay { display: none; }
#hero,
#page-header{
	background:#fafafc;
	padding:20px 0 0 0;
}
.grid_8 {
	margin-bottom:0;
	/*positioning and padding*/
	position: relative;
    min-height: 1px;
    padding-left: 0;
    padding-right: 0;
}
} 

/*
iPHONE 5 MEDIA QUERY
iPhone 5 or iPod Touch 5th generation styles (you can include your own file if you want)
*/
@media (device-height: 568px) and (-webkit-min-device-pixel-ratio: 2) { 

  .nodisplay { display: none; }
  #hero,
#page-header{
	background:#fafafc;
	padding:20px 0 0 0;
}
.grid_8 {
	margin-bottom:0;
	/*positioning and padding*/
	position: relative;
    min-height: 1px;
    padding-left: 0;
    padding-right: 0;
}
}

/*
PRINT STYLESHEET
*/
@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* h5bp.com/t */
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}