/*********************** STANDARD ELEMENTS ****************************/

html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
	font-weight:400;

}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    font-family: 'Roboto', sans-serif; /* 400,500,700,900 */
	font-weight:400;
	font-style:normal;
    font-size: 16px;
    color: #231f20;
    text-align: left;
    background: #fafafa;
	line-height:1.45em;
	min-width: 320px;
	overflow-x: hidden;
}

html,
body {
    height: 100%;
}

/* for the admin page editing area */
.mceContentBody { background-color: #ffffff !important; background-image:none; }


table {
    border-collapse: collapse;
    border-spacing: 0;

}

th, td {
	
border-bottom: 1px solid #ddd;}

tr:nth-child(even) {background-color: #f2f2f2;}

/* GENERAL FORMATTING */

a, a:visited, a:active {
    text-decoration: none;
    color: #000000;
}

a:hover {
	opacity: .8;
	text-decoration: underline;
}

#content a,
#content a:visited,
#content a:active,
#contentContact a,
#contentContact a:visited,
#contentContact a:active {
	/* color: #317082; */
	color: #da67ff;
	white-space: nowrap;
}

section.prodsection a,
section.prodsection a:visited,
section.prodsecton a:active {
	text-decoration: none !important;
    color: #99c775 !important;
}

section.prodsection a:hover {
	text-decoration: underline !important;
}

#proddetails a.addbutton {
	background: #99c775;
    color: white;
	width: 50%;
	margin: 0 auto;
	transition: all 0.4s;
}

#proddetails a.addbutton:hover {
	/* box-shadow: 0 0 7px #c7c7c7; */
    /* opacity: .8; */
	text-decoration: none;
	background: #5bb7e6;
}

#proddetails .addtocart#quantity {
	-webkit-flex: 1 0 0;
    flex: 1 0 0;
}



strong {font-weight:700}
em {font-weight:unset;}

li {
	/* margin-left:1.7em;
	line-height:1.8em; */
}




/* Headings */
h1, h2, h3, h4, h5, h6 {
    line-height: 1.45em;
    font-weight: 700;
    color: #000000;
	margin-bottom:0.7em;
}

h1 {
    font-size: 1.9em;
	font-weight: 700;
	margin-bottom: .5em;
	text-transform:uppercase;
	line-height: 1.35em;
}

h1.home {
	font-size: 2.35em;
	color: #5ab8e7;
	font-weight: 700;
	margin-bottom: .5em;
	text-transform:uppercase;
	line-height: 1.2em;
}

.connectHeader {
	font-size: 1.9em;
	font-weight: 600;
	margin-bottom: .5em;
	text-transform:uppercase;
	line-height: 1.45em;
	color: #000000;
}

/* h2 {
    font-size: 1.3em;
	font-weight: 500;
	text-transform:none;
	color: #317082;
	margin-top: 1.3em;
	margin-bottom: .5em;
	line-height: 1.35em;
	display: inline-block;
} */

h2 {
    font-size: 1.7em;
	font-weight: 500;
	text-transform:none;
	color: #da67ff;
	margin-top: 1.3em;
	margin-bottom: .5em;
	line-height: 1.35em;
	display: inline-block;
}

h2.home {
	font-size: 1.7em;
	font-weight: 700;
	color: #99c775;
	margin-top: 0;
	margin-bottom:1.35em;
	text-transform:uppercase;
	line-height: 1.2em;
	display: inline-block;
}

h2.darkbg {
	font-size: 1.5em;
	font-weight: 700;
	color: #9ac875;
	margin-top: 0;
	margin-bottom:.5em;
	text-transform:uppercase;
	display: block;
	text-align: center;
	
}


h2.designCriteria {
	font-size: 1.4em;
	font-weight: 700;
	color: #000000;
	margin-top: 0;
	margin-bottom:.5em;
	text-transform:uppercase;
	display: block;
	text-align: center;
	
}

h2.footnotes {
	font-size: 1.4em;
	font-weight: 700;
	color: #000000;
	margin-top: 0;
	margin-bottom: .7em;
	text-transform:uppercase;
	display: block;
	text-align: left;
	
}

h2.footnotesRosa {
	font-size: 1.4em;
	font-weight: 700;
	color: #307082;
	margin-top: 0;
	margin-bottom: .7em;
	text-transform:uppercase;
	display: block;
	text-align: left;
	
}

h2.application {
	font-size: 1.4em;
	font-weight: 700;
	color: #000000;
	margin-top: 0;
	margin-bottom:.5em;
	text-transform:uppercase;
	display: block;
	text-align: left;
	padding-bottom: 1em;
	border-bottom: 1px solid #000000;
	
}

p.mailUs {
	font-size: 1.4em;
	font-weight: 700;
	color: #000000;
	margin-top: 0;
	margin-bottom: .7em;
	text-transform:uppercase;
	display: block;
	text-align: center;
	
}

h3 {
    font-size: 1.15em;
	margin-bottom: 0;
	text-transform:uppercase;
}

h3.homeL {
    font-size: 1.15em;
	color: #307082;
	margin-bottom: 1em;
	text-transform:uppercase;
	margin-top: 1.15em;
}

h3.homeR {
    font-size: 1.15em;
	color: #307082;
	margin-bottom: 1em;
	text-transform:uppercase;
}



img,
embed,
object,
video {
    max-width: 100%;
    border: 0 none;
}

p 	{
	margin-bottom: .8em;
	
}

#content p {
	font-size: 16px;
	line-height: 1.7em;
	margin-bottom: 1em;
}

#content ul {
	margin-left: 1.1em;
	margin-bottom: 1.5em;
	margin-top: 0;
	
}

#content ul li {
line-height: 1.7em;
margin-bottom: .3em;
}

ul.redCheck {
	margin-left: 2.5%;
	margin-bottom: 1em;
	margin-top: 2.3em;
}

ul.redCheck li {
position: relative;
    list-style-type: none;
	margin-bottom: 1.4em;
	line-height: 25px;
	
}

ul.redCheck li:before {
content: "";
position: absolute;
left: -30px;
width: 25px;
height: 25px;
background-image: url('../../../images/red-bullet.png');
}

#middle #content_area.equipment{
	background: #ddecf3 !important;
}

@media (min-width: 1px) and (max-width: 767px) {

	.insetSmall .wrap h2,
	.insetLarge .wrap h2 {
		color: white !important;
		margin-left: .15em !important;
		margin-top: 1.2em !important;
		font-size: 1.3em !important;
	}
}


/*********************** MAIN DIVS ****************************/
#wrapper {
    min-height: 100%;
    position: relative;
}

#top {
    min-width: 320px;
    width: 100%;
}

#middle {
    width: 100%;
    /* position: relative; */
    min-width: 320px;
	padding-bottom: 175px;
	/* background: #ddecf3; */
}

#bottom {
	width: 100%;
	height: 175px;
    position: absolute;
	bottom: 0;
    min-width: 320px;
	background: #d0f4ff;
}

.footer-container {
	display: flex;
	width: 100%;
	height: 175px;
}

.footer-logo {
	width: 180px;
	margin: 0 1em 0 .5em;
}

.footer-logo a {
    width: 180px;
    height: 175px;
    display: block;
}

.footer-nav {
	width: 100%;
	position: relative;
}

.footer-container-email-contact {
	min-width: 375px;
	position: relative;
    font-weight: 300;
	color: #000000;
	text-align: right;
	margin-right: .5em;
}

.email-address-div.bottom-email {
	margin: 2em 0 1em;
	font-size: .9em;
	text-align:right;
}

.email-address-div .insert_email {
	display: inline-block;
	margin-left: .3em;
}

.footer-copyright {
	font-size: .8em;
	white-space: nowrap;
}

.footer-copyright a {
	color: #000000 !important;
}

.footer-copyright a:hover {
	color: #99c775 !important;
}

.footer-nav .bottom-menu {
	list-style: none;
	overflow: auto;
	xposition: absolute;
	margin-top:2em;
}

.footer-nav .bottom-menu li {
	float: left;
	margin: 0 2em;
}

.footer-nav .bottom-menu li a {
	color: #000000;
	font-size: 1em;
	text-transform: uppercase;
	transition: all 0.4s;
}

.footer-nav .bottom-menu li a:hover {
	color: #7500ac;
	text-decoration: none;
}

/* end main divs */


@media only screen and (max-width: 1150px) {
	.footer-nav .bottom-menu li {
		margin: 0 .5em;
	}
}

@media only screen and (max-width: 750px) {
	.footer-container-email-contact {
		min-width: unset;
	}

	.email-address-div.bottom-email {
		margin: 2em 0 1em;
		font-size: .9em;
		text-align:left
	}


	.email-address-div {
		text-align: left;
	}
	
	.footer-nav .bottom-menu li {
		margin: 0 .7em;
	}


	#middle {
		padding-bottom: 200px;
	}

	.footer-container {
		display: block;
		height: 175px;
	}

	.footer-logo a {
		width: 135px;
		height: 125px;
	}

	.email-address-div {
		text-align: left;
		margin-left: .7em !important;
	}

	.footer-copyright {
		text-align: left;
		margin-left: .7em;
	}
}

@media only screen and (max-width: 767px) {

}

@media only screen and (max-width: 679px) {

}

@media only screen and (max-width: 479px) {
	.header-container #header-logo a {
		width: 120px;
		height: unset;
	}
	.footer-logo a {
		width: 120px;
		height: unset;
	}
	.footer-nav .bottom-menu li a {
		font-size: .9em;
	}
	.footer-copyright {
		font-size: .7em;
	}
}


/* Main wrap: this defines the full width site limits */
.wrap {
	background: transparent;
    clear: both;
    display: block;
    margin: 0 auto;
    padding: 0;
    max-width: 1400px;
	min-width: 320px;
	
}
.wrap::after{
	clear:both;
	display:table;
	content:'';
}

.wrap-wide {
	background: transparent;
    clear: both;
    margin: 0 auto;
    padding: 0;
    max-width: 1800px;
	min-width: 320px;
	
}
.wrap-wide::after{
	clear:both;
	display:table;
	content:'';
}

/* Unwrap: removes the max-width restriction */
.unwrap {
	max-width:unset;
}
/* end .wrap */


/* cmsInnerWrap: divs with this class will have consistent margins and padding
** Used to wrap #content and #sidebar divs. Also add it to any div that should 
** have the same padding as the main content. In the header and footer, for example
** Notes: must be inside .wrap
**		  Changes here must be reflected in uncmsInnerWrap (found below)
**		  Margins must be in percentages to be unwrapped later
*/
.cmsInnerWrap {
	margin: 0 3%;
	position:relative;
}
.cmsInnerWrap::after{
	clear:both;
	display:table;
	content:'';
}
/* Undoes the innerwrap at each break 
** Useful for custom segments that need to fill the full site width instead of respecting padding
** eg   padding(.cmsInnerWrap)
** margin   |
** (.wrap)  |
**	   |    |
**	----------------------------------------
**  |     |   |inside cmsInnerWrap|   |     |  
**  |     |   |  Normal Content   |   |     |     
**  |     |   |                   |   |     |   
**  |     |    .uncmsInnerWrap        |     |
**  |     | lets us set content all   |     |
**  |     | the way to the margin.    |     |
**  |     | good for feature areas    |     |
**  |     | with full width images    |     |
**  |     | or backgrounds            |
**  |     |   |                   |   |     |  
**  |     |   |  Normal Content   |   |     |     
**  |     |   |                   |   |     |      
*/
.uncmsInnerWrap{
	margin-left: -3.2%;
	margin-right: 0;
	width:106.4%;
}
@media (min-width:600px){
	.cmsInnerWrap {
		margin: 0 2%;
	}
	.uncmsInnerWrap{
		margin-left: -2.1%;
		width:104.2%;
	}
	.cms_desktop #content .uncmsInnerWrap { unwrap_in_content_with_sidebar:;
		margin-left:-3%;
		width:105%;
		
	}
}
@media (min-width:1220px){
	.cmsInnerWrap {
		margin: 0;
	}
	.uncmsInnerWrap{
		margin-left: -1.4%;
		width:102.9%;
	}
	.cms_desktop #content .uncmsInnerWrap { unwrap_in_content_with_sidebar:;
		margin-left:-2%;
		width:103.6%;
		
	}
}
@media (min-width:1320px){
	.cmsInnerWrap {
		margin: 0;
	}
	.uncmsInnerWrap{
		margin:0;
		width:100%;
	}
}
/* end cmsInnerWrap */



/* Stacked class is used with the iconbar but can be used anywhere this arrangement is needed
**	small screen:
**	{Top Left   }{    Top Right}
**	{Left       }{        Right}
**
**	and fullscreen:
**	{                   TopLeft}{Top Right}{Left}{Right}
*/
.stacked{
	width:100%;
	position:relative;
	background:black;	
}
.stacked::after {
    display: table;
    content: '';
    clear: both;
}

.stacked .stackedTop{
	width: 100%;
	text-align:center;
	background:black;
}
.stacked .stackedTop::after{
	display:table;
	content:'';
	clear:both;
}
.stacked .stackedTopLeft{
	float:left;
}

.stacked .stackedTopRight{
	float:right;
}

.stackedBottom {
	background:black;
	border-bottom: 6px solid #93304a;
}
.stacked .stackedBottom::after{
	display:table;
	content:'';
	clear:both;
}

.stacked .stackedLeft{
	width: 50%;
	float:left;
}

.stacked .stackedRight{
	width:50%;
	float:right;
	text-align:right;
}

@media (min-width:600px){

	.stacked {
		border-bottom: 6px solid #93304a;
	}
	
	.stacked .stackedGroup{
		float:right;
	}
	
	.stacked .stackedTop{
		float:left;
		text-align:right;
		width:unset;
		border-bottom:unset;
	}
	
	.stacked .stackedBottom{
		float:right;
		text-align:right;
		width:unset;
		border-bottom:unset;
	}

	.stacked .stackedLeft{
		float:left;
		text-align:right;
		width:unset;
	}

	.stacked .stackedRight{
		float:left;
		text-align:right;
		width:unset;
	}
}
/* end .stacked */


/*  CONTENT and Sidebar */
/* 
#content_area .contentHome {
	padding: 4em 0;
} */
	

@media (min-width: 550px) and (max-width: 899px) {
	
	/* #content_area  {
    	margin-left: 1em;
	} */
}
	
@media (min-width: 900px) and (max-width: 1230px) {
	
	/* #content_area  {
    	margin-left: 1em;
	} */
}	
	

#content_wrap {
	margin-top: 0;
	margin-bottom: 1em;
	display:flex;
	flex-direction:column;
}


#content{
	order:2; /* put_in-middle_using_flex:; */
}

/* default sidebar behaviour (small screens or default if device has js disabled) */
.sidebarPart{ /*common class for sidebar-top and sidebar_bottom */
	box-sizing:border-box;
}
#sidebar-top{
	margin-top:0;
	margin-bottom:1em;
	order:1; /* above_content_w_flex:; */
}
#sidebar-bottom{
	margin-top:2em;
	order:3; /* below_content_w_flex:; */
}

/* Rules for Content and Sidebar for Desktop
	.cms_desktop_sidebar: class added to content_wrap with js when screen width >=900px and sidebar is present
	#jsSidebarWrap: added with js. This div wraps #sidebar_top/bottom iff screen width >= 900px and sidebar exists
	<div #jsSidebarWrap > <- only exists when sidebar exists and screen width >=900px
		<div #sidebar_top>
		<div #sidebar_bottom>
	
*/
#content_wrap.cms_desktop_sidebar{
	flex-direction:row;
	margin-left: 0;
}
#content_wrap.cms_desktop_sidebar #content{
	flex: 3 0px;
	order:1;
	padding-right:1em;
	
}
#content_wrap.cms_desktop_sidebar #jsSidebarWrap{
	order:2;
	width:20em;
	margin-top: 4em;
}

@media (min-width: 550px) and (max-width: 899px) {
	
	#content_wrap.cms_desktop_sidebar #jsSidebarWrap{
	order:2;
	width:17em;
	margin-top: 4em;
	}
	
}

/*  end CONTENT and Sidebar */

/*********************** Utility CLASSES ****************************/
.clearAfter::after {display:'table';clear:'both';content:'';}
.clear { clear:both; }
.nobr, .nowr {white-space: nowrap;}
.whiteBG {background:white;}
.blackBG {background:black;}
.left {float:left;}
.right {float:right;}
.full {width:100%;}
.leftimg {clear:left; float:left;margin:.3em 2em 2em 0;font-style:italic;}
.rightimg {clear:right; float:right;margin:.3em 0 2em 2em;font-style:italic;}
.leftimg p, .rightimg p {margin:.5em 0 0 0;}
.fullimg {width:100%; margin-bottom:1em;}
.half {width:50%;}
.halfleftimg {float:left; width:48%;margin:1em 0;}
.halfrightimg {float:right; width:48%;margin:1em 0;}
.imgfullwidth {width: 100%;}
.side2sideleft {width: 49%; margin-right:1%;}
.side2sideright {width: 49%; margin-left: 1%;}
.side3sideleft {width: 32%; margin-right:1%;}
.side3sidemid {width: 32%; margin-left: 1%; margin-right: 1%;}
.side3sideright {width: 32%; margin-left: 1%;}
.third {width:35%;}
.center {display:block;margin:2em auto;text-align:center;font-style:italic;width:auto;}
.noscale {max-width:none;}
@media (max-width: 549px) {
	.left, .right {float:none;}
	.leftimg, .rightimg {float:none;margin:2em auto;display:block;text-align:center;font-style:italic;}
	.half, .third  {width:auto;}
	.hideinmobile {display:none;}
}
.width25{
	max-width:25%;display:block;
}
.width50{
	max-width:50%;display:block;
}
.width75{max-width:75%;display:block;}
.toggleExpandable {
    cursor: pointer;
}
.toggleExpandable::before {
    content: '\0025BC';
    margin-right: 1rem;
	float:left;
}
.toggleExpandable.open::before {
    content: '\0025B2';
}
.expandableItem {
    display: none;
}


/* JUSTIFY FLOATING DIVS */

ul.justify {
    font-size: 0 !important;
    line-height: 0;
    list-style-type: none;
    margin: 0;
    padding: 0;
    text-align: justify;
    text-justify: distribute-all-lines;
}

ul.justify:after {
    content: "";
    display: inline-block;
    width: 100%;
}

ul.justify li {
    display: inline-block;
    font-size: 1rem;
    line-height: 1rem;
    margin: 0 auto !important; this-will-center-single-objects:;
    padding: 0 !important;
}

/* (untested) IE hacks to make li's line up */
*+html ul.justify li {display: inline;}
* html ul.justify li {display: inline;}


@media screen and (max-width: 549px) {
	/* #content ul {
    margin-left: 0;
	} */
	
	#content ul.longList {
	-webkit-column-count: 1; /* Chrome, Safari, Opera */
    -moz-column-count: 1; /* Firefox */
    column-count: 1;
	}

	#middle #content_area.equipment .contentHome{
		background: #ddecf3 !important;
	}
	
}

/** FORMS **/
/* form {
	display: -webkit-flex;
	display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
}
form div {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
    flex-direction: row;
    justify-content: space-between;
} */
form label .fmrequire, .fmrequire {
    color: #ff0000;
    margin-left: 3px;
}
form input[type=submit] {
    padding: 3px;
}
#fmMessage {
    padding: 1em;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 600;
    display: none;
}
#fmMessage.fmError {
    background: #fc6c6c;
}
#fmMessage.fmSuccess {
    background: #7cff8c;
}
form div.fmCheckboxRow, form div.fmRadioRow {
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    margin-bottom: 1rem;
}

form div.fmCheckboxRow label, form div.fmRadioRow label {
    margin-left: 0;
}

form div.fmRadioRow input[type=radio] {
    margin-left: 1em;
}

form input[type=text], form input[type=email], form textarea {
	width:100%;
	background: #ffffff;
	padding:.5rem;
	margin:0 0 1rem 0;
	vertical-align:middle;
	border:1px solid #c0c0c0;
    font-family: 'Lato', sans-serif;
	font-weight:400;
	font-style:normal;
    font-size: 15px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

form .selectType  {
    width:100%;
    ppheight:2em;
    pppadding-left:1em;
    padding:1rem;
    margin:0 0 1rem 0;
    vertical-align:middle;
    border:1px solid #c0c0c0;
    color: #757579 !important;
    font-family: 'Lato', sans-serif;
    font-weight:400;
    font-style:normal;
    font-size: 15px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.8em;
}
    
form .selectType select, form select {
    color: #757579;
    padding: .5em;
    margin-bottom: 1rem;
}

form textarea {
    margin-bottom: 1rem !important;
    min-height:12em;
}

form #captchaContainer {
    display: block;
    /* max-width: 330px; */
}

form #captcha-image-box {
    display: block;
}

form img#captcha {
    width: 100%;
}

form input[type=submit], form input#button {
	padding:1rem 2rem;
    text-transform: uppercase;
	font-size:1.15em;
	border:none;
	background:#0f75bc;
	color: #ffffff;
	font-weight:400;
	xmargin:1rem 0 0 0;
	letter-spacing: 1px;
}

form input[type=submit]:hover, form input#button:hover, form input[type=submit]:active, form input#button:active {
	background:#121212;
    color: #ffffff;
	cursor: pointer;
}
