/* Does the same thing as <meta name="viewport" content="width=device-width">,
 * but in the future W3C standard way. -ms- prefix is required for IE10+ to
 * render responsive styling in Windows 8 "snapped" views; IE10+ does not honor
 * the meta tag. See http://core.trac.wordpress.org/ticket/25888.
 */
@-ms-viewport {
	width: device-width;
}
@viewport {
	width: device-width;
}

/************************************
Mobile navigation 
************************************/
.mobile-nav {
    list-style: outside none none;
    margin: 0;
}
.mobile-nav ul li > a {
    padding-left: 15px;
    padding-right: 30px;
}
.mobile-nav ul.sub-menu a {
    padding-left: 30px;
    padding-right: 30px;
}
.mobile-nav > li.cta-design > a {
    margin: 12px auto;
    width: 90% !important;
}
.site-header .header-main { position: relative; }
.menu-toggle { width: 50px; }
.menu-toggle, .mega-menu-toggle {
    border-radius: 3px;
    cursor: pointer;
    float: right;
    font-size: 18px;
    height: 50px;
    line-height: 50px;
    margin: 0;
    outline: medium none;
    overflow: hidden;
    padding: 0;
    text-align: center;
    position: absolute;
    right: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.mega-menu-toggle {
    padding: 0 10px 0 15px;
}
.mega-menu-toggle.mega-menu-open {
	padding: 0 10px;
}
.sidr-main-open .menu-toggle { display: none; }

#sidr-main.sidr { width: 320px; }
#sidr-main.sidr .sidr-inner {
    padding: 0;
}
#sidr-main.sidr ul li {
    border-bottom: 0 none;
}

#sidr-main.sidr .sidr-class-field {
    background: rgba(255, 255, 255, 0.1) none repeat scroll 0 0;
    padding: 5px 15px;
}
#sidr-main.sidr .sidr-class-submit {
    background: #fff none repeat scroll 0 0;
    border: medium none;
    border-radius: 35px;
    line-height: 30px;
    margin-bottom: 15px;
    outline: medium none;
    text-transform: uppercase;
    width: 100%;
}
#sidr-main.sidr .sidr-class-submit:hover {
    background: #efefef none repeat scroll 0 0;
    color: #333;
}

a.sidr-class-menu-toggle::before {
    content: "\f0c9";
    font-family: "FontAwesome";
    left: 50%;
    line-height: 40px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}
a.sidr-class-menu-toggle, .mega-menu-toggle {
    background: rgba(0, 0, 0, 0.1) none repeat scroll 0 0;
    color: #fff;
    display: block;
    font-size: 18px;
    height: 50px;
    line-height: 50px;
    margin: 5px 30px 5px 15px;
    position: relative;
    width: 50px;
}
a.sidr-class-menu-toggle:hover {
    color: inherit;
}
.sidr-class-iclflag {
    margin-right: 10px;
}

body .sidr-class-sub-menu .sidr-class-sub-menu li a {
    padding-left: 45px;
}


/************************************
Media queries
************************************/

/* Admin bar fixes*/
@media screen and (max-width: 782px) {
	.fixed-header.admin-bar #top-bar, .fixed-header.admin-bar .site-header.header-on-top {
	    top: 46px !important;
	}
}
@media screen and (max-width: 600px) {
	.fixed-header.admin-bar.on-scroll .site-header {
	    top: 0 !important;
	}
}

/* Extra Small devices */
@media screen and (max-width: 767px) {

	#top-bar .topbar-column-1 {}
	#top-bar .topbar-column-2 { 
		margin-top: 5px; 
		margin-bottom: 5px;
	}
	.site-header { 
		border: medium none; 
		z-index: 9999;
	}

	#content-header {
	    background-size: auto auto;
	    min-height: inherit !important;
	}
	#content-header h1 {
	    line-height: normal;
	    word-wrap: break-word;
	}
	#masthead.site-header {
		padding: 0 !important;
	}
	#masthead.site-header.header-on-top {
	    height: auto;
	}
	.site-title {
	    height: 60px;
	    max-height: 60px;
	    position: relative;
	    line-height: 60px !important;
	}
	.site-title a {
	    line-height: inherit !important;
	}
	.site-title img {
	    max-height: 60px;
	    vertical-align: middle;
	}

	.mobile #mega-menu-wrap-mobile {
		clear: none; 
	}

	.mobile #secondary {
		border-style: none;
		margin-bottom: 0;
	    padding-left: 0;
	    padding-right: 0;
	}
	#content.boxed-sidebar-right #secondary {
		margin-top: 25px;
	}

	/* Some widget */
	.widget_dual_somewidget .align-horizontal.spacing-small .item { padding-right: 5px !important; }
	.widget_dual_somewidget .align-horizontal.spacing-medium .item { padding-right: 25px !important; }
	.widget_dual_somewidget .align-horizontal.spacing-large .item,
	.widget_dual_somewidget .align-horizontal.spacing-huge .item { padding-right: 50px !important; }
	.widget_dual_somewidget .align-vertical.spacing-small .item { padding-bottom: 5px !important; }
	.widget_dual_somewidget .align-vertical.spacing-medium .item { padding-bottom: 25px !important; }
	.widget_dual_somewidget .align-vertical.spacing-large .item,
	.widget_dual_somewidget .align-vertical.spacing-huge .item { padding-bottom: 50px !important; }
	.widget_dual_somewidget .style-1x .item a {
	    font-size: 16px !important;
	    width: 26px !important;
	    height: 26px !important;
	    line-height: 26px !important;
	}
	.widget_dual_somewidget .style-1_2x .item a {
	    font-size: 18px !important;
	    width: 42px !important;
	    height: 42px !important;
	    line-height: 42px !important;
	}
	.widget_dual_somewidget .style-2x .item a {
	    font-size: 28px !important;
	    width: 52px !important;
	    height: 52px !important;
	    line-height: 52px !important;
	}
	.widget_dual_somewidget .style-3x .item a {
	    font-size: 34px !important;
	    width: 68px !important;
	    height: 68px !important;
	    line-height: 68px !important;
	}
	.widget_dual_somewidget .style-4x .item a {
	    font-size: 42px !important;
	    width: 76px !important;
	    height: 76px !important;
	    line-height: 76px !important;
	}
	.widget_dual_somewidget .style-5x .item a {
	    font-size: 58px !important;
	    width: 92px !important;
	    height: 92px !important;
	    line-height: 92px !important;
	}

	#footer-menu ul.nav-footer li {
		clear: both;
	}

	/* oEmbedded media file */
	.oembedded-media iframe {
	    height: auto;
	    width: 100%;
	}

	#nav-below .titled-nav .nav-next {
	    padding: 12px 12px 12px 5px;
	}
	#nav-below .titled-nav .nav-previous {
	    padding: 12px 5px 12px 12px;
	}

	.entry-content .footer-meta .social-share {
	    clear: both;
	    float: left;
	    margin: 20px auto 0;
	    padding-left: 10px;
	    position: static;
	}

	.wpb_column {
		overflow-wrap: break-word;
	}	

	.full-height-row {
	    height: auto;
	}	

	.mobile .blog article, .mobile .archive article, .mobile .error404 article {
		float: none;
	}

	/* Align contents */
	.site-content {
	    padding: 15px !important;
	}

	.entry-content {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.single .entry-content,
	.blog .entry-content,
	.woocommerce-page .entry-content {
		padding-left: 0 !important;
		padding-right: 0 !important;
	    padding-top: 15px !important;
	}

	/* Scroll to tob button */
	#scroll-to-top-btn {
	    height: 50px;
	    line-height: 50px;
	    width: 50px;
	}
}

/* Remove not needed paddings - Portrait tablets and medium screens */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
	.site-content {
		padding: 15px !important;
	}
	.entry-content {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.single .entry-content,
	.blog .entry-content {
		padding-left: 0 !important;
		padding-right: 0 !important;
	    padding-top: 0 !important;
	}
} 
@media screen and (min-width: 768px) and (max-width: 992px) {
	.site-content {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
} 


/* Small devices */
@media screen and (min-width: 768px) and (max-width: 991px) {
	.header-on-top #nav-wrapper {
	    position: relative;
	    transform: none;
	    -ms-transform: none;
	    -webkit-transform: none;
	}

	#nav-wrapper .social {
		display: none;
	}
	.mobile-social {
		display: block;
		width: 100%;
	}

	/* Entry date */
	.entry-header .entry-date .day-month {
	    padding: 10px 20px 11px;
	}
	.entry-header .entry-date .day-month > span.day {
	    font-size: 20px;
	}
	.entry-header .entry-date .day-month > span.month,
	.entry-header .entry-date .day-month > span.year {
	    font-size: 11px;
	}
	.entry-header .entry-date .day-month-year {
	    font-size: 13px;
	    line-height: 18px;
	    padding: 6px 14px;
	}
	.entry-header .entry-date .day-month-year > span.day,
	.entry-header .entry-date .day-month-year > span.month {
	    padding-right: 5px;
	}

	.entry-content .footer-meta .social-share {
	    clear: both;
	    float: left;
	    position: static;
	}

	#footer aside, #footer .widget {
		padding-left: 0;
		padding-right: 0;
	}
	#footer-widgets .clear-fix {
	    clear: left;
	}
}


/* Larger than small devices */
@media screen and (min-width: 768px) {
	/* hide menu-toggle by default to prevent flashing */
	.menu-toggle, .mega-menu-toggle { display: none; }

	.menu-toggle {
		padding: 0;
	}

	nav.site-navigation {
	    border: medium none;
	    float: right;
	    margin: 0;
	    min-height: unset;
	    position: relative;
	    z-index: 200;
	}

	/* Boxed */
	#page.boxed, #footer.boxed {
	    clear: both;
	    margin: 0 auto;
	    max-width: 1170px;
	}
	#page.boxed.shadowed, #footer.boxed.shadowed {
		-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
		box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
	}

	.boxed #page.no-fi .entry-header {
		padding-left: 10px;
	}
	 #page.boxed #content-header {
		margin-bottom: 0 !important;
	    padding-left: 20px;
	    padding-right: 20px;
	}

	.single .boxed .site-content {
		margin-top: 0;
	}
	.page .boxed .site-content {
		margin-top: 0;
	}
	.archive .site-content,
	.search .site-content,
	.error404 .site-content {
		padding-top: 40px;
	    padding-bottom: 40px;
	}

	#top-bar .topbar-column-1 {}
	#top-bar .topbar-column-2 { text-align: right; }

	#mobile-logo {
		display: none;
	}

	/* site-header layout-2: logo on top and menu below */
	.site-header.layout-2,
	.site-header.layout-2 #nav-wrapper {
	   	text-align: center;
	}
	.site-header.layout-2 .nav-center #mega-menu-wrap-primary #mega-menu-primary {
	    text-align: center;
	}
	.site-header.layout-2 {
	    clear: both;
	    display: block;
	    float: left;
	    width: 100%;
	}
	.site-header.layout-2 #nav-wrapper {
   		clear: both;
	}
	.site-header.layout-2 .site-title {
	    width: 100%;
	}
	.site-header.layout-2 .site-title a {
	    display: inline-block;
	}
	.site-header.layout-2 .primary-navigation {
	    margin: 0 auto -7px; 
	    display: inline-block;
    	float: none;
    	position: relative;
	}
	.site-header.layout-2 .nav-center {
		float: none;
	}
	.site-header.layout-2 .nav-left {
		float: left;
	}
	.site-header.layout-2 .nav-right {
		float: right;
	}
	/* eo. layout-2 */
	
	.sf-arrows ul.sub-menu .sf-with-ul:after {
		content: "" !important;
	}
	
	.site-navigation .nav-menu {
	    border-bottom: 0 none;
	    display: block;
	    margin: 0;
	}

	.site-navigation .nav-menu ul {
	    left: 0;
	    list-style: outside none none;
	    margin: 0;
	    padding: 0;
	    position: absolute;
	    top: 100%;
	    z-index: 99;
	}
	.site-navigation .nav-menu ul ul {
	    left: 100%;
	    margin: 0;
	    top: 0;
	}
	.site-navigation a {
	    display: block;
	    position: relative;
	    white-space: nowrap;
	}

	/* Some widget */
	.widget_dual_somewidget .align-horizontal.spacing-small .item { padding-right: 5px !important; }
	.widget_dual_somewidget .align-horizontal.spacing-medium .item { padding-right: 25px !important; }
	.widget_dual_somewidget .align-horizontal.spacing-large .item { padding-right: 50px !important; }
	.widget_dual_somewidget .align-horizontal.spacing-huge .item { padding-right: 250px !important; }
	.widget_dual_somewidget .align-vertical.spacing-small .item { padding-bottom: 5px !important; }
	.widget_dual_somewidget .align-vertical.spacing-medium .item { padding-bottom: 25px !important; }
	.widget_dual_somewidget .align-vertical.spacing-large .item { padding-bottom: 50px !important; }
	.widget_dual_somewidget .align-vertical.spacing-huge .item { padding-bottom: 250px !important; }
	.widget_dual_somewidget .style-1x .item a {
	    font-size: 16px !important;
	    width: 26px !important;
	    height: 26px !important;
	    line-height: 26px !important;
	}
	.widget_dual_somewidget .style-1_2x .item a {
	    font-size: 18px !important;
	    width: 42px !important;
	    height: 42px !important;
	    line-height: 42px !important;
	}
	.widget_dual_somewidget .style-2x .item a {
	    font-size: 28px !important;
	    width: 52px !important;
	    height: 52px !important;
	    line-height: 52px !important;
	}
	.widget_dual_somewidget .style-3x .item a {
	    font-size: 44px !important;
	    width: 78px !important;
	    height: 78px !important;
	    line-height: 78px !important;
	}
	.widget_dual_somewidget .style-4x .item a {
	    font-size: 52px !important;
	    width: 86px !important;
	    height: 86px !important;
	    line-height: 86px !important;
	}
	.widget_dual_somewidget .style-5x .item a {
	    font-size: 68px !important;
	    width: 102px !important;
	    height: 102px !important;
	    line-height: 102px !important;
	}

	/* Sidebar */
	.search #secondary,
	.error404 #secondary,
	.archive #secondary,
	.boxed-sidebar-right #secondary {
	    border-right: medium none;
	}
	.boxed-sidebar-left #secondary {
		border-left: medium none;
	}

	/* Footer */
	#footer-menu ul.nav-footer {
	    display: inline-block;
	    margin-bottom: 0;
	    margin-left: 0;
	}
	#footer-menu ul.nav-footer li {
	    float: left;
	    padding: 0 17px;
	}
	
	#footer-menu ul.nav-footer .sub-menu {
	    margin-left: 0;
	    padding-top: 5px;
	}
	#footer-menu ul.nav-footer .sub-menu li {
	    float: none;
	    padding-left: 0;
	}
}

/* Larger than medium devices */
@media screen and (min-width: 991px) {
	.entry-content .footer-meta .social-share {
	    float: right;
	}
	#footer-menu ul.nav-footer > li:first-child { padding-left: 0; }
}


/* 
 * Logo 
 */

/* Mobile */
@media screen and (max-width: 767px) {
	/* hide desktop logo if shrink or mobile logo set */
	.hasmobilelogo img.desktop-logo { display: none; }
	.hasmobilelogo img.mobile-logo { display: block; }
}
 /* Desktop */
@media screen and (min-width: 768px) {
	#logo img.mobile-logo { display: none; }
}

/* Retina - Desktop */
/* https://gist.github.com/marcedwards/3446599#file-high-dpi-media-css */
@media only screen and (-webkit-min-device-pixel-ratio: 1.3) and (min-width: 768px), only screen and (-o-min-device-pixel-ratio: 13/10) and (min-width: 768px), only screen and (min-resolution: 120dpi) and (min-width: 768px) {
	.hasretinalogo #logo img.no-retina.desktop-logo { display: none; }
	#logo img.retina-logo.desktop-logo { display: block; }
}
/* Retina - Mobile */
@media only screen and (-webkit-min-device-pixel-ratio: 1.3) and (max-width: 767px), only screen and (-o-min-device-pixel-ratio: 13/10) and (max-width: 767px), only screen and (min-resolution: 120dpi) and (max-width: 767px) {
	.hasmobileretinalogo #logo img.no-retina.mobile-logo { display: none; }
	#logo img.retina-logo.mobile-logo { display: block; }
}