
/* element styles */

html {
	overflow: scroll;
}

body{
	margin: 0;
	padding: 0; 
	background: #fff;
	font-size: 100%;
}	 

div {
	font-family: "Source Sans Pro", arial, verdana, sans-serif;
	font-size: 100%;
	color: #3b3b3b;
}

p {
	font-family: "Source Sans Pro", arial, verdana, sans-serif;
	font-size: 100%;
	color: #3b3b3b;
	margin: 0 0 15px 0;
	line-height: 120%;
}

li {
	font-size: 100%;
	color: #3b3b3b;
}

td {
	font-size: 100%;
	color: #3b3b3b;
	vertical-align: top;
}

img {
	border: 0;
}

a {
	font-size: 100%;
	color: #f4921f;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

h1 {
	font-family: "Source Sans Pro", arial, verdana, sans-serif;
	font-size: 220%;	
	color: #000;
	margin: 0 0 10px 0;
	padding: 0;
	font-weight: normal;
}

h2 {
	font-family: "Source Sans Pro", arial, verdana, sans-serif;
	font-size: 150%;	
	color: #000;
	margin: 0 0 10px 0;
	padding: 0;
	font-weight: bold;
}

h3 {
	font-family: "Source Sans Pro", arial, verdana, sans-serif;
	font-size: 130%;	
	color: #000;
	margin: 0 0 10px 0;
	padding: 0;
	font-weight: bold;
}


h4 {
	font-family: "Source Sans Pro", arial, verdana, sans-serif;
	font-size: 120%;	
	color: #000;
	margin: 0 0 10px 0;
	padding: 0;
	font-weight: normal;
}

form {
	margin: 0;
}

textarea {
	font-family: "Source Sans Pro", arial, verdana, sans-serif;
	font-size: 90%;
}


/* page element styles */ 

#top_bar_1 {
	height: 35px;
	color: #fff;
	margin: 16px 0 0 0;
}

#top_bar_1 a {
	color: #fff;
}

#top_languages {
	float: right;
	color: #fff;
}

.nav_item, 
.nav_item:hover, 
.nav_item_active  {
	font-family: "Source Sans Pro", arial, verdana, sans-serif;
	display: block;
	text-align: center;
	color: #fff !important;
	font-weight: 400 !important;
	padding: 13px 20px 0 20px;
	height: 37px;
	font-size: 110% !important;
	border-left: 1px #666 solid;
	text-transform: uppercase;
	transition: background-color 0.3s;
}

.nav_item:hover, .nav_item_active {
	background: #f4921f;
	color: #000 !important;
	text-decoration: none !important;
}

/* finder */

#finder {
	margin-top: 50px;
}

#finder_title {
	background-color: #f4921f;
	color: #000;
	padding: 15px;
	font-size: 120%;
}

#finder_text {
	background-color: #f0f0f0;
	color: #000;
	padding: 15px;
}

#finder_intro {
	margin-bottom: 20px;
}

#finder_text .icheckbox_flat {
	margin-bottom: 10px;
}

#product_range {
	display: block;
	margin: 0 auto;
}	

.product_grid h2, .project_box h2 {
	color: #f4921f !important;
}

#city {
	background: url(../images/site/city-bg.png) repeat-x top left;
	height: 130px;
}
	
#footer {
	padding: 50px;
	margin: 0;
	background: url(../images/site/footer-bg.png) repeat-x top left;
	background-size: auto 100%;
	font-size: 90%;
}

#footer * {
	color: #fff;
}

#footer_left {
	width: calc(100%/3*2);
	float: left;
}

#footer_logo {
	width: calc(100%/3);
	float: left;
	text-align: right;
}

.footer_logo_left {
	margin-right: 50px;
	float: left;
}

/* content pages */

#breadcrumb {
	float: right;
	margin: -30px 0 0 0;
}


/* product finder */

.app_sub {
	display: none;
}

.app_sub_expanded {
	display: block;
}

.app_level_0 {
	margin-left: 0px;
}

.app_level_1 {
	margin-left: 10px;
}

.app_level_2 {
	margin-left: 20px;
}

.app_level_3 {
	margin-left: 30px;
}

.app_level_4 {
	margin-left: 40px;
}


/* left nav */

#left_nav a {
	display: block;
	color: #333333;
}

.nav_item_1, .nav_item_2, .nav_item_3 {
	border-bottom: 1px #e1edf2 solid;
	padding: 10px;
	transition: background-color 0.3s;
}

.nav_item_1:hover, .nav_item_2:hover, .nav_item_3:hover, #nav_print:hover {
	background-color: #1C6983;
}

.nav_item_1:hover *, .nav_item_2:hover *, .nav_item_3:hover *, #nav_print:hover * {
	color: #fff !important;
	text-decoration: none;
}

.nav_item_1_active, .nav_item_2_active, .nav_item_3_active {
	background-color: #1C6983;
	border-bottom: 1px #e1edf2 solid;
	padding: 10px;
}

.nav_item_1_active *, .nav_item_2_active *, .nav_item_3_active * {
	color: #fff !important;
	text-decoration: none;
}

.nav_item_2, .nav_item_2_active {
	padding-left: 20px;
}

.nav_item_3, .nav_item_3_active {
	padding-left: 40px;
}

#nav_print {
	background: url(../images/site/print-icon.png) no-repeat 5px 3px;
	padding-left: 35px;
}


/* form styles */


.user_form .row_0 {
	background-color: #f7f7f7;
}

.user_form .row_1 {
	background-color: #f2f2f2;
}

.user_form .row_section {
	background-color: #fff;
}

.user_form .row_section td {
	border: 0 !important;
	padding-top: 30px;
}

.user_form .cell {
	padding: 10px;
}

.user_form .cell_left {
	padding: 10px;
}

.user_form .cell_right {
	padding: 10px;
}

.user_form .cell_span {
	padding: 10px;
}

.user_form .error {
	display: block;
	color: #c00;
	font-weight: bold;
}

.user_form .input_box {
	width: 300px;
	padding: 8px;
}

.user_form .input_box_200 {
	width: 300px;
	padding: 8px;
}

.user_form .input_box_small {
	width: 80px;
	padding: 8px;
}

.user_form form {
	margin: 0px;
}

.user_form select {
	width: 300px;
	padding: 8px;
}

.user_form .textarea {
	width: 300px;
	height: 200px;
	padding: 8px;
}

.user_form .textarea_small {
	width: 300px;
	height: 50px;
	font-family: "Source Sans Pro";
	font-size: 90%;
	padding: 8px;
}

.user_form .section {
}	

.user_form h3 {
	padding: 20px 0 0 0;
}

.user_form .select_box_200 {
	width: 300px;
}

/* FAQs */

.faq_area_label,
.faq_question_block {
	margin: 25px 0 0 0;
}

.faq_question {
	display: block;
	background: #fff url(../images/site/expand.png) top left no-repeat;
	padding: 0 0 0 50px;
	height: 30px;
	margin: 10px 0 0 0;
	transition: background-color 1s;
}

.faq_question:hover {
	background-color: #1C6983;
	color: #fff;
	text-decoration: none;
}

.faq_question_expanded {
	text-decoration: none;
	cursor: pointer;
	color: #fff;
	background: #1C6983 url(../images/site/contract.png) top left no-repeat;
	transition: background-color 1s;
}

	
.faq_answer {
	margin: 0 0 20px 0;
	background: #1C6983;
	padding: 20px 30px 10px 30px;
}

.faq_answer * {
	color: #fff;
}


/* side panels */

.panel {
	margin: 30px 0 0 0;
	box-shadow: 0 0 11px rgba(0,0,0,0.4); 
}

.panel_top {
	padding: 10px;
	font-size: 110%;
	color: #fff;
	background: #1C6983;
}

.panel_bottom {
	padding: 10px;
	background: #fff;
	color: #3b3b3b;
}

.panel_bottom p {
	color: #3b3b3b !important;
}

.panel_bottom a {
	color: #f4921f !important;
}

/* home page video */

#home_page_video {
	position: relative;
	top: 0;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: calc(100%);
	height: auto;
	z-index: -100;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

/* home page grid */

.hp_grid_item:hover {
	color: #000;
	text-decoration: none;
	cursor: pointer;
}
	
.hp_grid_item_image {
	display: block;
	height: 300px;
	background-size: cover;
	background-position: center center;
	opacity: 0.8;
	border-radius: 5px;
}

.hp_grid_item h3 {
	transition: color .3s;
}

.hp_grid_item:hover h3 {
	color: #000;
}

.hp_grid_item:hover .hp_grid_item_image {
	opacity: 1;
}


.hp_grid_item_text {
	display: block;
	padding: 20px 0 0 0;
}


/* home page tweets */

.tweet {
	padding: 0 0 25px 0;
	margin: 0 0 25px 0;
	border-bottom: 3px #f0f0f0 solid;
}

.tweet p {
	margin: 10px 0 0 0;
}

.tweet_date {
	font-style: italic;
	text-align: right;
	margin: 0 !important;
}



/* read more button */

#read_less_button {
	width: 100px;
	display: none;
	float: left;
}

 #read_more_text {
	display: none;
}

.button {
	display: inline-block;
	text-align: center;
	color: #000 !important;
	background: #f4921f;
	padding: 15px 20px;
	font-size: 120%;
	cursor: pointer;
	margin: 20px auto 0 auto;
	border: 0;
}	

.button:hover {
	background: #000;
	color: #fff !important;
	text-decoration: none;
}

/* news styles */

.news_grid_item:hover {
	color: #000;
	text-decoration: none;
	cursor: pointer;
}

.news_grid_item_image {
	display: block;
	height: 200px;
	background-size: cover;
	background-position: top left;
	opacity: 0.8;
	transition: opacity 0.3s;
	border-radius: 5px;
}

.news_grid_item:hover .news_grid_item_image {
	opacity: 1;
}

.news_grid_item h3 {
	transition: color .3s;
}

.news_grid_item:hover h3 {
	color: #000;
}

.news_grid_item_text {
	display: block;
	padding: 20px 0 0 0;
}

.news_page_image {
	display: block;
	height: auto;
	border-radius: 5px;
}


/* blog */

.blog_text_full img {
	max-width: calc(100%) !important;	
	height: auto !important;
}

.blog_intro:hover {
	text-decoration: none;
}

.blog_intro:hover .blog_image {
	opacity: 1;
}

.blog_intro h2 {
	transition: color .3s;
}

.blog_intro:hover h2 {
	color: #000;
}

.blog_divider {
	clear: both;
	height: 3px;	
}

#blog_right_side {
	position: fixed;	
	width: 200px;
}

.blog_title h2 a {
	color: #000;
}

.archive_link {
	display: block;
}

.archive_link_1 {
	font-weight: bold;	
	background: url(../images/site/archive-year.png) left top no-repeat;
	padding: 0 0 0 20px;
	margin: 5px 0 0 0;
}

.archive_link_1.active {
	background: url(../images/site/archive-year.png) left bottom no-repeat;
	padding: 0 0 0 20px;
	margin: 5px 0 0 0;
}

.archive_link_2 {
	padding: 0 0 0 30px;
	margin: 5px 0 0 0;
}

.archive_link_2.active {
	font-weight: bold;	
	padding: 0 0 0 30px;
	margin: 5px 0 0 0;
}

.archive_month {
	display: none;	
}

.archive_month.active {
	display: block;	
}


/* testimonials */

.testimonial {
	background: url(../images/site/speech-mark.png) top left no-repeat;
	font-size: 120%;
}

.testimonial_fader {
	display: none;
	padding: 0 0 0 60px;
}

#testimonial_fader_1 {
	display: block;
}

.testimonial img {
	float: right;
	margin: 0 0 0 30px;
	max-width: 100px;
	height: auto;
}

.testimonial_name {
	display: block;
	font-size: 90%;
	color: #000;
}

.testimonial_title {
	display: block;
	font-weight: bold;
	font-size: 80%;
	color: #999;
}


/* general styles */

.orange {
	color: #fe9900 !important;
}

.top_margin_50 {
	margin-top: 50px !important;
}

.padded_img img {
	padding: 0;
}

.smallText {
	font-size: 80%;
}

.smallText a {
	font-size: 100%;
}

.error {
	color: #c00;
	font-weight: bold;
}

.pad30lr {
	padding: 0 30px 0 30px;
}

.clear {
	clear: both;
}

.float_left {
	float: left;
}

.float_right {
	float: right;
}

.hide {
	display: none;
}

/* simple slider */

#simple_slider {
	position: relative;
	display: block;
	width: 100%;
	height: auto;	
	padding-top: 45%;
}

.ss_wrapper {
	position: relative;
	top: 0;
	height: 100%;
}

#ss_previous {
	cursor: pointer;
	display: block;
	position: absolute;
	top: calc((100% - 115px)/2);
	left: 30px;
	width: 63px;
	height: 115px;
	background: url(../images/site/arrows.png) no-repeat left top;
	z-index: 9999;
}

#ss_next {
	cursor: pointer;
	display: block;
	position: absolute;
	top: calc((100% - 115px)/2);
	right: 30px;
	width: 63px;
	height: 115px;
	background: url(../images/site/arrows.png) no-repeat right top;
	z-index: 9999;
}

.ss_slide {
	position: absolute;
	left: 0;
	top: 0;
	width: calc(100%);
	height: calc(100%);
	display: none;
}

#ss_1 {
	display: block;
}

.ss_image {
	display: block;
	position: absolute;
	width: calc(100%);
	height: calc(100%);
	background: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.ss_caption {
	display: block;
	position: absolute;
	left: 0;
	bottom: 50px;
	width: calc(33%);
}

.ss_caption_inner {
	display: block;
	padding: 30px;
	color: #fff;
	background: url(../images/site/30-percent.png);
	border-radius: 5px;
}

.ss_caption_inner * {
	margin:0;
	padding:5px;
	color: #fff;
}


/* document types */

.icon {
	list-style-type: none;
	padding: 0 0 0 25px !important;
	margin: 0 0 10px -3px !important;
}

.pdf_download {
	display: block;
	background: url(../images/site/pdf.png) no-repeat;
	padding: 16px 0 16px 55px;
}

.pdf {
	background: url(../images/resources/pdf.gif) no-repeat;
}

.doc, .docx {
	background: url(../images/resources/doc.gif) no-repeat;
}

.xls, .xlsx {
	background: url(../images/resources/xls.gif) no-repeat;
}

.ppt, .pptx {
	background: url(../images/resources/ppt.gif) no-repeat;
}

.wav {
	background: url(../images/resources/wav.png) no-repeat;
}

.avi {
	background: url(../images/resources/avi.png) no-repeat;
}

.folder {
	background: url(../images/resources/folder.png) no-repeat;
}

/* cookie preferences */

#cookie_popup_message {
	display:  none;
	position: fixed; 
	z-index: 9999; 
	bottom: 20px; 
	left: 20px; 
	width: 310px; 
	background-color: #ffffffcc; 
	padding: 10px;  
	border-radius: 5px; 
	box-shadow: 0 0 1px #00000066;
}

#cookie_popup_message p {
	font-size: 85% !important; 
	color: #000; 
	margin: 0 0 10px 0;
}

#cookie_options {
	display:  flex;
	flex-direction: column;
}

.cookie_options_row {
	display:  flex;
	flex-direction: row;
}

.cookie_options_label {
	font-size: 85% !important; 
	font-weight:  bold;
	margin: 0 20px 20px 0;
}

.cookie_options_yes,
.cookie_options_no {
	display:  block;
	color:#fff !important; 
	font-size: 90% !important;  
	text-decoration: none; 
	padding: 3px 15px 0 15px; 
	height:  22px;
	border-radius: 5px; 
	font-weight: bold;
	transition: background-color 0.3s;
	margin:  0 10px 0 0;
}

.cookie_options_no {
	background: #666; 
}

.cookie_options_yes {
	background: #666; 
}

.cookie_options_yes:hover,
.cookie_options_no:hover {
	text-decoration: none; 
}

.cookie_options_no:hover,
.cookie_options_no.active {
	background: #c33; 
}

.cookie_options_yes:hover,
.cookie_options_yes.active {
	background: #3c3; 
}

#cookie_accept_all,
#cookie_set_preferences {
	background: #666; 
	color:#fff !important; 
	font-size: 90% !important;  
	text-decoration: none; 
	padding: 5px 25px; 
	border-radius: 5px; 
	font-weight: bold;
	transition: background-color 0.3s;
}

#cookie_accept_all:hover,
#cookie_set_preferences:hover {
	background: #000; 
}

/* admin nav bar styles */

#admin_navbar {
	position: fixed; 
	top: 0; 
	right: 10px; 
	height: 50px; 
	background: -moz-linear-gradient(top, #e7e9eb 0%, #d8dade 100%); 
	background: -webkit-linear-gradient(top, #e7e9eb 0%,#d8dade 100%) ; 
	background: linear-gradient(to bottom, #e7e9eb 0%,#d8dade 100%); 
	border: 1px solid #e7e9eb;
	box-shadow: 0 0 11px rgba(0,0,0,0.4); 
	z-index: 9999999;
	padding: 10px;
	color: #fff;
	border-radius: 0 0 3px 3px;
}

.admin_navbar_icon {
	color: #fff;
	margin-right: 10px;
	opacity: 0.6;
	width: 48px;
	height: 48px;
}

.admin_navbar_icon img {
	width: 48px;
	height: 48px;
}

.admin_navbar_icon:hover {
	color: #fff;
	margin-right: 10px;
	opacity: 1;
}

#admin_navbar .admin_navbar_hassubnav {
	font-size: 85%;
	color: #000;
}

#admin_navbar .admin_navbar_hassubnav .admin_navbar_subnav {
	display: none;
}

#admin_navbar .admin_navbar_hassubnav .admin_navbar_subnav span,
#admin_navbar .admin_navbar_hassubnav .admin_navbar_subnav a  {
	display: block;
	color: #000;
	border-bottom: 1px solid #bdbdbd;
	padding: 0 0 5px 0;
	margin: 0 0 5px 0;
	height: auto;
}

#admin_navbar .admin_navbar_hassubnav:hover .admin_navbar_subnav {
	display: block;
	position: absolute;
	top: 60px;
	left: 175px;
	width: 150px;
	background: #d8dade; 
	padding: 10px;
}

#admin_navbar_extended {
	float: left; 
	height: 50px;
	overflow-y: hidden;
	width: 0;
}

#admin_navbar_icon {
	float: left;
	margin: 0;
}
	
@keyframes slide_out {
	0%   { width: 0px; }
	100% { width: 380px; }
}

.slide_out {
	animation-name: slide_out;
	animation-duration: 0.5s;
	animation-timing-function: ease-out;
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both;
}

@keyframes slide_in {
	0%   { width: 380px; }
	100% { width: 0px; }
}

.slide_in {
	animation-name: slide_in;
	animation-duration: 0.5s;
	animation-timing-function: ease-out;
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both;
}


/* iCheck plugin flat skin, black
----------------------------------- */
.icheckbox_flat,
.iradio_flat {
    display: inline-block;
    *display: inline;
    vertical-align: middle;
    margin: 0 10px 0 0;
    padding: 0;
    width: 20px;
    height: 20px;
    background: url(../images/site/flat.png) no-repeat;
    border: none;
    cursor: pointer;
}

.icheckbox_flat {
    background-position: 0 0;
}
    .icheckbox_flat.checked {
        background-position: -22px 0;
    }
    .icheckbox_flat.disabled {
        background-position: -44px 0;
        cursor: default;
    }
    .icheckbox_flat.checked.disabled {
        background-position: -66px 0;
    }

.iradio_flat {
    background-position: -88px 0;
}
    .iradio_flat.checked {
        background-position: -110px 0;
    }
    .iradio_flat.disabled {
        background-position: -132px 0;
        cursor: default;
    }
    .iradio_flat.checked.disabled {
        background-position: -154px 0;
    }

/* HiDPI support */
@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi), (min-resolution: 1.25dppx) {
    .icheckbox_flat,
    .iradio_flat {
        background-image: url(../images/site/flat@2x.png);
        -webkit-background-size: 176px 22px;
        background-size: 176px 22px;
    }
}