/** ++++++++++++++++++++++++++++++
substratum / root/ global
++++++++++++++++++++++++++++++ **/ 
/*
::-webkit-scrollbar {
display: none;
scrollbar-width: none;
}
*/

#menu-primary::-webkit-scrollbar {
display: none;
scrollbar-width: none;
}

#menu-primary {
-ms-overflow-style: -ms-autohiding-scrollbar;
-ms-overflow-style: none; 
}

/*
html, * {
-ms-overflow-style: -ms-autohiding-scrollbar;
-ms-overflow-style: none; 
}
*/

*, *:after, *:before {
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-font-smoothing: antialiased;
font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}

*,
*:after,
*:before {
-webkit-font-smoothing:antialiased;
font-smoothing:antialiased;
text-rendering:optimizeLegibility;
box-sizing:border-box;
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
scrollbar-width: none;
} 

html::selection {
background: #333  !important; 
color:#fff !important;
}
span::selection {
background: #333   !important; 
color:#fff !important;
}
div::selection {
background: #333   !important; 
color:#fff !important;
}
h1::selection {
background: #333 !important; 
color:#fff !important;
}
h2::selection {
background: #333 !important; 
color:#fff !important;
}
h3::selection {
background: #333 !important; 
color:#fff !important;
}
h4::selection {
background: #333 !important; 
color:#fff !important;
}
a::selection {
background: #333 !important; 
color:#fff !important;
}
li::selection {
background: #333 !important; 
color:#fff !important;
}
ul::selection {
background: #333 !important; 
color:#fff !important;
}
p::selection {
background: #333 !important; 
color:#fff !important;
}
html::-moz-selection  {
background: #333 !important; 
color:#fff !important;
}
img::selection {
background: #333 !important; 
color:#fff !important;
}





/** ++++++++++++++++++++++++++++++
root html, base tags
++++++++++++++++++++++++++++++ **/ 
html{
font-size:16px;
line-height: 1.5;
padding:0;
margin:0; 
width:100%;
float:left;
clear:both;
display:block;
box-sizing: border-box;
min-width: 15rem !important;
font-family: open sans, 'Open Sans', sans-serif;
}

body{
font-size:100%;
padding:0;
margin:0;
color:#333;
padding:0;
margin:0; 
width:100%;
float:left;
clear:both;
display:block;
color:#000;
background:#efedf2;
}

#page{
padding:0;
margin:0; 
width:100%;
float:left;
clear:both;
display:block;
position: relative;
padding:1rem;
}

a, a:hover, a:visited, a:active, a:link{
outline: none !important;
border:none;
color:#333;
text-decoration: underline;
}

ul, ol {
margin: 0;
}

h1,h2,h3,h4,h5,h6,p{
padding:0;
margin:0;
}

p:empty {
display: none !important;
}

img{
max-width: 100% !important;
height: auto !important;
}

.widget{
    padding:0;
    margin:0;
}

section.grid{
display: grid;
width:100vw;
float:left;
clear:both;
margin:0;
padding:0;
}

section.section{
display: block;
width:100%;
float:left;
clear:both;
margin:0;
padding:0;
}

.row{
display: block;
clear:both;
width:100%;
}

.block{
display: inline-block;
clear:none;
float: none;
}

/** ++++++++++++++++++++++++++++++
forms - generic forms
++++++++++++++++++++++++++++++ **/

form, form.wpcf7{
	padding:0;
	margin:0;
	max-width:100%;
	display: block;
}

form p, form.wpcf7 p,
form label, form.wpcf7 label{
display:block;
width:100%;
clear:both;
float:left;
}

input[type="text"], 
input[type="email"], 
input[type="url"], 
input[type="password"], 
input[type="search"], 
input[type="number"], 
input[type="tel"], 
input[type="range"], 
input[type="date"], 
input[type="month"], 
input[type="week"], 
input[type="time"], 
input[type="datetime"], 
input[type="datetime-local"], 
input[type="color"], 
textarea {
    color: #666;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 3px;
    width:100%;
    float:left;
    clear:both;
}

.button, button, input[type="button"], input[type="reset"], input[type="submit"] {
    border: 1px solid;
    border-color: #ccc #ccc #bbb;
    border-radius: 3px;
    background: #e6e6e6;
    color: rgba(0, 0, 0, 0.8);
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1;
    padding: .6em 1em .4em;
    width:100%;
    float:left;
    clear:both;
}

/** ++++++++++++++++++++++++++++++
header, .site-header, #masthead
++++++++++++++++++++++++++++++ **/
header, .site-header, #masthead{
display:block;
clear:both;
width:100%;
padding:0;
margin:0;
float:left;
position: relative;
}






/** ++++++++++++++++++++++++++++++
#top-bar
++++++++++++++++++++++++++++++ **/ 
#top-bar{
display:flex;
clear:both;
width:100%;
padding:0;
margin:0;
float:left;
position: relative;
}

#top-bar > div{
flex-grow: 1;
}

#top-bar ul#menu-topnav{
display: flex; 
padding: 0;
margin: 0;
list-style: none;
}

#top-bar ul#menu-topnav li{
flex-grow: 1;
}

.topbar-widget-wrapper .widget .textwidget {
	display:flex;
}
.topbar-widget-wrapper .widget .textwidget > div{
	flex-grow: 1;
}


.social-bar a{
	text-decoration: none !important;
}

 

/** ++++++++++++++++++++++++++++++
#site-branding
++++++++++++++++++++++++++++++ **/ 
#site-branding{
display:block;
clear:both;
width:100%;
padding:0;
margin:0;
float:left;
position: relative;
}





/** ++++++++++++++++++++++++++++++
#site-navigation
++++++++++++++++++++++++++++++ **/ 
#site-navigation{
display:block;
clear:both;
width:100%;
padding:0;
margin:0;
float:left;
position: relative;
}

#site-navigation.main-navigation ul{
display: flex;
}

#site-navigation.main-navigation ul li{
flex-grow: 1;
}




/** ++++++++++++++++++++++++++++++
main .main-body #main
++++++++++++++++++++++++++++++ **/ 
main, .main-body, #main{
display:block;
clear:both;
width:100%;
padding:0;
margin:0;
float:left;
position: relative;
}




/** ++++++++++++++++++++++++++++++
#content site-content sidebar Right  Width_25  Default
++++++++++++++++++++++++++++++ **/
#content.site-content {
display:block;
clear:both;
width:100%;
padding:0;
margin:0;
float:left;
position: relative;
}

#content.site-content.sidebar {
width:100%;
display: grid;
padding:0;
margin:0;
float:left;
clear:both;
position: relative;
}

#content.site-content.sidebar.Right.Width_33 {
grid-template-columns: 66.666666% 33.333333%; 
} 

#content.site-content.sidebar.Left.Width_33 {
grid-template-columns: 33.333333% 66.666666%; 
} 

#content.site-content.sidebar.Right.Width_25 {
grid-template-columns: 75% 25%; 
} 

#content.site-content.sidebar.Left.Width_25 {
grid-template-columns: 25% 75%; 
} 

#content.site-content.sidebar.Left #primary{
order:2 !important;
}

#content.site-content.sidebar.Left #secondary{
order:1 !important;
}

#content.site-content.sidebar.Bottom {
grid-template-columns: 100%; 
} 
#content.site-content.sidebar.Bottom #secondary{
	display: flex;
}

#content.site-content.sidebar.Bottom #secondary .widget{
	flex-grow: 1;
}


/** ++++++++++++++++++++++++++++++
#primary article hentry & content tags
++++++++++++++++++++++++++++++ **/ 
#primary article.hentry{
width:100%;
padding:0;
margin:0;
float:left;
display:block;
clear:both;
}

#primary article.hentry header.entry-header{
padding:0;
margin:0;
width:100%;
display: block;
clear:both;
}

#primary article.hentry header.entry-header h1.entry-title{
padding:0;
margin:0;
width:100%;
display: block;
clear:both; 
}

#primary article.hentry .entry-content{
padding:0;
margin:0;
width:100%;
display: block;
clear:both;
}

#primary article.hentry .entry-content p{
padding:0;
margin:0;
width:100%;
display: block; 
}

#primary article.hentry .entry-content ul,
#primary article.hentry .entry-content ol{
}





/** ++++++++++++++++++++++++++++++
footer, .site-footer, #colophon
++++++++++++++++++++++++++++++ **/ 
footer, .site-footer, #colophon{
display:block;
clear:both;
width:100%;
padding:0;
margin:0;
float:left;
position: relative;
}

#colophon #footer-widgets{
display: flex;
width:100%;
clear:both;
}

#colophon #footer-widgets .widget{
flex-grow:1;
padding:0;
margin:0;
max-width: 100%;
}

.wpcf7-form .wpcf7-checkbox .wpcf7-list-item {
    width:100% !important;
    display:block  !important;
    float: none  !important;
    clear:none !important;
}







@media only screen and (max-width: 860px) {
	
	#site-navigation.main-navigation ul {
	display: block;
	}

	#site-navigation.main-navigation ul li {
	display: block;
	clear:both;
	width:100%;
	}

	#content.site-content.sidebar.Right.Width_25,
	#content.site-content.sidebar.Right.Width_33,
	#content.site-content.sidebar.Left.Width_25,
	#content.site-content.sidebar.Left.Width_33 {
	grid-template-columns: 100%;
	}

	#content.site-content.sidebar.Left #primary {
	order: 1 !important;
	}

	#content.site-content.sidebar.Left #secondary {
	order: 2 !important;
	}

	#content.site-content.sidebar.Bottom #secondary{
	display: block;
	}

	#content.site-content.sidebar.Bottom #secondary .widget{
	display:block;
	}



	#colophon #footer-widgets {
	display: block;
	width: 100%;
	clear: both;
	}
}
