/* =Responsive (Mobile) Design
-------------------------------------------------------------- */

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

	#logo {
		display:none;
	}
	.menu a {
		padding: 14px 8px;
		font-size:12px;
	}
	#header-main-search {
		padding: 12px 0;
	}
	#searchform {
		top: 26px;
	}
	.font_resizer {
		padding: 12px 0;
	}


	#widgets.col-300 {
		width: 100%;
		margin-right:0;
		float: none;
	}
	.home.page #content.col-620 {
		width: 100%;
		margin-right:0;
	}
	#widgets .widget-title h3{
		padding:5px 0 0;
	}
	/* #widgets ul li:before {
		content: ">";
		float: left;
	} */
	#widgets ul li a {
		float: left;
		width: 83%;
	    line-height: 20px;
		padding-left: 5px;
		font-size: 12px;
	}
	#widgets.col-300 .widget-wrapper ul li {
		width: 33.3%;
		float: left;
	}
	#widgets.col-300 .widget-wrapper ul#menu-menu-pulsanti-sidebar-dx li {
		width: 48.5%;
		float: left;
		margin: 12px 0;
	}
	#widgets.col-300 .widget-wrapper ul#menu-menu-pulsanti-sidebar-dx li a {
		width: 100%;
	}
	#widgets.col-300 .widget-wrapper ul#menu-menu-pulsanti-sidebar-dx li:nth-child(2n) {
		margin-right:0;
		float: right;
	}

	#box_featured .flex-caption h2.post-title {
		font-size: 20px;
	}
	#box_featured .link_image img {
		margin-top: 70px;
	}

	#content.col-620, #content-archive.col-620 {
		width: 100%;
	}

	#footer .col-300 {
		width: 50%;
		margin-right: 0!important;
		float: left;
		margin-bottom: 0;
	}
	#footer #footer_widget .widget-wrapper {
		margin: 0px;
		padding: 0 20px;
	}
	/* #footer #footer_widget ul li {
		width: 33%;
		float: left;
	} */

	body {
	}

	.grid,
	.grid-right {
		display: block;
		float: none;
		width: 100%;
		margin-right: 0;
	}

	.copyright,
	.scroll-top,
	.powered {
		float: left;
	}

	#featured-image .fluid-width-video-wrapper {
		margin: 20px 0 0 0;
	}

	.front-page  #widgets {
		margin-top: 40px;
	}

	.top-widget,
	.front-page  .top-widget {
		margin-top: 0 !important;
	}

	.hide-desktop {
		display: block;
	}

	.show-desktop {
		display: none;
	}

	.hide-980 {
		display: none;
	}

	.show-980 {
		display: block;
	}

}

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

	.template_scuole .vc_tta-panels .vc_tta-panel-body .vc_column_container {
		padding-left: 15px;
		padding-right: 15px;
	}

}

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

	#header-main-search {
		float: right;
		padding: 5px 0 12px;
	}
	#searchform {
		top: 16px;
	}

	/*MENU MOBILE*/
	.main-nav ul li.menu-item-has-children span.btn_plus {
		display:block;
		visibility: visible;
	    position: absolute;
		right: 10px;
		top: 10px;
		color:#000;
		cursor:pointer;
		padding: 0px 4px;
		border: 1px solid #000;
		line-height: 18px;
		background:#fff;
		letter-spacing: -1px;
	}
	.main-nav ul li.menu-item-has-children span.btn_plus:hover {
		background:#ddd;
	}
	.main-nav ul li.menu-item-has-children ul.sub-menu li.menu-item-has-children span.btn_plus {
		display: block;
	}
	.main-nav ul li.menu-item-has-children ul.sub-menu li span.btn_plus,
	.main-nav ul li.menu-item-has-children ul.sub-menu li ul.sub-menu li span.btn_plus	{
		display: none;
	}
	.main-nav .menu ul.sub-menu {
		display: none;
	}


	.js #header .main-nav {
		float: none;
		clear: none;
		margin: 20px 10%;
		clear: both;
		position: relative;
		margin: 0 auto;
		background: transparent;
		margin-top: -28px;
	}
	.js #header .main-nav #responsive_current_menu_item {
		color: transparent!important;
	}
	.js #header .main-nav a#responsive_menu_button {
		display: block;
		position: absolute;
		top: -26px;
		left: 100%;
		width: 50px;
		height: 50px;
		margin-left: -30px;
		background: url("../images/select-icons.png") -15px -5px no-repeat;
		cursor: pointer;
		background-size: 100%;
	}

	.js #header .main-nav a#responsive_menu_button.responsive-toggle-open {
		background: url("../images/select-icons.png") -15px -5px no-repeat;
		background-size: 100%;
	}


	.font_resizer {
		float: none;
		padding: 5px 0;
		margin: 0;
		width: 100%;
		text-align: center;
	}

	.slide_header {
		display:none;
	}
	.slide_header_mobile {
		display:block;
	}
	#header .metaslider .caption-wrap {
		background: transparent;
		opacity: 1;
		font-size: 12px;
	}
	#header .metaslider .caption {
		padding: 10px;
	}
	#header .metaslider .caption h3 {
		margin: 10px 0;
		font-size: 20px;
	}


	#widgets.col-300 .widget-wrapper ul#menu-menu-pulsanti-sidebar-dx li {
		width: 100%;
	}

	.responsivevoice-button {
		display: block;
		margin: 10px 0;
		float:none;
	}

	#footer #footer_widget,
	#footer #footer_widget ul li {
		text-align:left;
	}

	body {
	}

	#logo {
		float: none;
		margin: 0;
		text-align: center;
	}

	.grid,
	.grid-right {
		float: none;
	}

	#featured-image .fluid-width-video-wrapper {
		margin: 20px 0 0 0;
	}

	.top-widget {
		float: none;
		margin: 0 auto 10px auto;
		position: relative;
		text-align: center;
		width: auto;
	}

	.top-widget .widget-title h3 {
		text-align: center;
	}

	.js .sub-header-menu {
		display: none;
	}

	.js .main-nav {
		position: relative;
		background-color: #585858;
		background-image: -webkit-gradient(linear, left top, left bottom, from(#585858), to(#3d3d3d));
		background-image: -webkit-linear-gradient(top, #585858, #3d3d3d);
		background-image: -moz-linear-gradient(top, #585858, #3d3d3d);
		background-image: -ms-linear-gradient(top, #585858, #3d3d3d);
		background-image: -o-linear-gradient(top, #585858, #3d3d3d);
		background-image: linear-gradient(to top, #585858, #3d3d3d);
		clear: both;
		-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#585858, endColorstr=#3d3d3d)";
		margin: 0 auto;
	}

	.js .main-nav .menu {
		display: none;
		position: absolute;
		width: 100%;
		top: 30px;
		z-index: 1000;
	}

	.js .main-nav .menu ul {
		margin-top: 1px;
	}

	.js .main-nav .menu li {
		float: none;
		background-color: #ffffff;
		border: none;
	}

	.js .main-nav .menu li a {
		color: #444444;
		font-size: 13px;
		font-weight: normal;
		height: 45px;
		line-height: 45px;
		padding: 0 15px;
		border: none;
		border-bottom: 1px solid #f5f5f5;
		text-shadow: none;
		text-align: left;
		cursor: pointer;
	}

	.js .main-nav .menu li.current_page_item,
	.js .menu .current_page_item a,
	.js .menu .current-menu-item a {
		background-color: #f5f5f5;
	}

	.js .main-nav .menu li li:hover {
		background: none !important;
	}

	.js .main-nav .menu li li a {
		position: relative;
		padding: 0 10px 0 30px;
	}

	.js .main-nav .menu li li li a {
		position: relative;
		padding: 0 10px 0 40px;
	}

	.js .main-nav .menu li a:hover,
	.js .main-nav .menu li li a:hover {
		background-image: none;
		filter: none;
		background-color: #f5f5f5 !important;
	}

	.js .main-nav .menu li li a::before {
		content: '\2013';
		position: absolute;
		top: 0;
		left: 20px;
	}

	.js .main-nav .menu li li li a::before {
		content: '\2013';
		position: absolute;
		top: 0;
		left: 20px;
	}

	.js .main-nav .menu li li li a::after {
		content: '\2013';
		position: absolute;
		top: 0;
		left: 30px;
	}

	.js .main-nav .menu li ul {
		position: static;
		visibility: visible;
		background-color: #ffffff;
	}

	.js .main-nav .menu ul {
		min-width: 0;
	}

	.js .main-nav #responsive_current_menu_item {
		display: block;
		padding: 5px 40px 5px 10px;
		color: #ffffff;
		font-weight: 700;
		cursor: pointer;
	}

	.js .main-nav a#responsive_menu_button {
		position: absolute;
		display: block;
		top: 0;
		left: 100%;
		height: 30px;
		width: 23px;
		margin-left: -30px;
		background: url('../images/select-icons.png') 0 5px no-repeat;
		cursor: pointer;
	}

	.js .main-nav a#responsive_menu_button.responsive-toggle-open {
		background: url('../images/select-icons.png') 0 -46px no-repeat;
	}

	.top-menu,
	.footer-menu li {
		float: none;
		font-size: 11px;
		text-align: center;
	}

	#author-meta {
		padding: 20px;
	}

	#wrapper .gallery .gallery-item {
		max-width: 100%;
	}

	.hide-650 {
		display: none;
	}

	.show-650 {
		display: block;
	}

	.hide-mobile {
		display: none;
	}

	#footer {
		text-align: center;
	}

	#footer .social-icons {
		padding-bottom: 10px;
		text-align: center;
	}
}

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

	.home #widgets #menu-menu-link-utili li {
		width: 50%;
	}

	h1.entry-title.post-title {
		font-size: 20px;
	}
	#footer .col-300 {
		width: 100%;
		float: none;
	}


	body {
	}

	#logo {
		float: none;
		text-align: center;
	}

	.grid,
	.grid-right {
		float: none;
	}

	#featured-image .fluid-width-video-wrapper {
		margin: 20px 0 0 0;
	}

	.featured-title {
		font-size: 40px;
		padding: 40px 20px 0 20px
	}

	.featured-subtitle {
		font-size: 24px;
	}

	.navigation .next,
	.navigation .previous {
		display: block;
		margin: 0 auto;
		text-align: center;
	}

	.menu ul,
	.menu li,
	.top-menu,
	.footer-menu li,
	.sub-header-menu li {
		float: none;
		text-align: center;
	}

	#wrapper .gallery .gallery-item {
		float: none;
	}

	.hide-480 {
		display: none;
	}

	.show-480 {
		display: block;
	}

	#footer {
		text-align: center;
	}

	#footer .social-icons {
		text-align: center;
	}
}

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

	body {
	}

	#featured p {
		font-size: 12px;
		line-height: 1.5em;
	}

	.featured-title {
		font-size: 35px;
	}

	.featured-subtitle {
		font-size: 15px;
	}

	.call-to-action a.button {
		font-size: 14px;
		padding: 7px 17px;
	}

	.hide-320 {
		display: none;
	}

	.show-320 {
		display: block;
	}
}

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

	body {
	}

	#featured p {
		font-size: 11px;
		line-height: 1.5em;
	}

	.featured-title {
		font-size: 20px;
	}

	.featured-subtitle {
		font-size: 11px;
	}

	.call-to-action a.button {
		font-size: 12px;
		padding: 5px 15px;
	}

	.top-widget area,
	.top-widget select,
	.top-widget textarea,
	.top-widget input[type="text"],
	.top-widget input[type="password"],
	.top-widget input[type="email"] {
		width: 75%;
	}

	.widget-title h3,
	.widget-title-home h3 {
		font-size: 14px;
		height: 13px;
		line-height: 13px;
		text-align: left;
	}

	.hide-240 {
		display: none;
	}

	.show-240 {
		display: block;
	}
}
