/*
	Theme Name: MGVision
	Theme URI: https://www.mgvision.com
	Description: Tema personalizzato per WP MGVision.
	Author: MGVision Dev Team
	Author URI: https://www.mgvision.com
	Version: 1.0.0
	Stable tag: 1.0.0
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: mgvision
	Tags: accessibilità, header-flessibile, colori-custom, menu-custom, logo-custom, immagini-in-evidenza, supporto-lingua-rtl, thread-commenti, traducibile,
*/

@charset "utf-8";
@import "font-awesome.min.css";
@import "et-line.css";

@import url('https://fonts.googleapis.com/css2?family=Voltaire:wght@100;300;400;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;300;400;600&display=swap');

/* GENERALE */
::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}
::-webkit-scrollbar-track {
  background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
  background: #364E90;
  border-radius: 10px;
  border: 3px solid #f1f1f1;
}
::-webkit-scrollbar-thumb:hover {
  background: #FEC851;
}
@supports not selector(::-webkit-scrollbar) {
  html {
    scrollbar-color: #364E90 #f1f1f1;
    scrollbar-width: thin;
  }
}
::selection {
  background-color: #000000;
  color: #ffffff;
}
::-moz-selection {
  background-color: #000000;
  color: #ffffff;
}
:root :where(.wp-element-button, .wp-block-button__link) {
	font-family: 'Voltaire';
	text-transform: uppercase;
	font-size: 25px;
	background-color: #FEC851;
	border: 3px solid #FEC851;
	border-radius: 10px;
	color: #000!important;
	transition: .2s ease-in;
	box-shadow: 7px 9px 0px 0px rgba(0, 0, 0, 0.08);
}
:root :where(.wp-element-button, .wp-block-button__link):hover {
	border-color: #000;
	box-shadow: 8px 8px #000;
}
.gradiente-mouse {
    background-image: radial-gradient(
        circle at var(--mx, 50%) var(--my, 50%),
        #2b4373 0%,
        #1F3664 49%
    ) !important;
}
.img-round img {
    filter: drop-shadow(5px 5px 0px rgb(5 42 65 / 10%));
}
.img-box-2 {
	border: 8px solid #A9C9FF;
    border-radius: 9999px;
    width: 200px;
    display: block;
    margin-left: auto;
    margin-right: auto;	
}
.accordion-leggi-piu .e-n-accordion-item {
  display: flex;
  flex-direction: column-reverse;
}
.accordion-leggi-piu .e-n-accordion-item-title-text {
  visibility: hidden;
  position: relative;
}
.accordion-leggi-piu .e-n-accordion-item-title-text::after {
  content: "Leggi di più";
  visibility: visible;
  position: absolute;
  top: 0;
  left: 0;
  white-space: nowrap;
}
.accordion-leggi-piu .e-n-accordion-item[open] .e-n-accordion-item-title-text::after {
  content: "Chiudi";
}
.elementor-lightbox {
	backdrop-filter: blur(5px);
}
.grecaptcha-badge {
	width: 70px !important;
	overflow: hidden !important;
	transition: all 0.3s ease !important;
	left: 4px !important;
	bottom: 70px!important;
	z-index: 1;
}
.grecaptcha-badge:hover {
	width: 256px !important;
}
/* FINE GENERALE */

/* BOX SERVIZI */
.elementor-image-box-title {
    background: #fff;
    padding: 10px;
    border-radius: 8px;
    transition: all .3s;
}
.elementor-image-box-wrapper:hover .elementor-image-box-title {
    background: #FFC74A;
    margin: 0px;
    border-radius: 8px 8px 0 0;
    box-shadow: 0 0 15px #dce6fd;
    clip-path: inset(-20px -20px 0 -20px);
}
.elementor-image-box-wrapper:hover .elementor-image-box-img img {
    border-radius: 0 0 8px 8px !important;
    box-shadow: 0 0 15px #dce6fd;
    clip-path: inset(0 -20px -20px -20px);
}
.elementor-image-box-wrapper {
    display: flex;
    flex-direction: column-reverse;
}
/* FINE BOX SERVIZI */

/* CARD CASE STUDY */
.card {
  position: relative;
  overflow: hidden;
  transition: background-position .4s ease;
}
/*.card .card-logo {
  opacity: 0;
  transform: translateY(-100%);
  transition: opacity .4s ease, transform .4s ease;
}*/
.card .card-info {
  opacity: 0;
  transform: translateY(100%);
  transition: opacity .4s ease, transform .4s ease;
}
.card-logo-bkg {
	backdrop-filter: blur(10px)!important;
}

@media (hover: hover) {
  .card:hover {
    background-position: center -15px !important;
  }
  .card:hover .card-logo,
  .card:hover .card-info {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 767px) {
  .case-slider {
    display: flex !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 16px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .case-slider::-webkit-scrollbar {
    display: none;
  }
  .case-slider > * {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    scroll-snap-align: center;
  }
  .card .card-logo {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    opacity: 1;
    transform: translateY(-50%);
    transition: top .4s ease, transform .4s ease, opacity .4s ease;
  }
  .card .card-info {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    transform: translateY(100%);
    transition: opacity .4s ease, transform .4s ease;
  }
  .card.is-active .card-logo {
    top: 16px;
    transform: translateY(0);
  }
  .card.is-active .card-info {
    opacity: 1;
    transform: translateY(0);
  }
}
/* FINE CARD CASE STUDY */

/* CARD SERVIZI */
.card-servizi-wrap .card-servizi-titolo {
  transition: background-color .4s ease;
}

.card-servizi-wrap .card-servizi-overlay {
  opacity: 0;
  transition: opacity .4s ease;
}

.card-servizi-wrap:hover .card-servizi-titolo {
  background-color: #FFC74A !important;
}
.card-servizi-wrap:hover .card-servizi-overlay {
  opacity: 1;
}

/* Mobile: in slider */
@media (max-width: 767px) {
	/*
  .servizi-slider {
    display: flex !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 16px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .servizi-slider::-webkit-scrollbar {
    display: none;
  }
      .servizi-slider > * {
        flex: 0 0 70% !important;
        width: 70% !important;
        min-width: 70% !important;
        scroll-snap-align: center;
    } 

	.servizi-slider h3 {
	font-size: 0.8em;
    line-height: 120%;
	}
	.servizi-slider .card-servizi-titolo {
    padding: 10px;
		    min-height: 60px;
	}	*/
}
/* FINE CARD SERVIZI */

/* SLIDER MOBILE SEDE - GALLERIA MASONRY */
@media (max-width: 767px) {
	.slider-img-sede .e-gallery-container {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		height: auto !important;
		padding-bottom: 0 !important;
		gap: 10px;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		scrollbar-color: #FFC74A transparent;
	}
	.slider-img-sede .e-gallery-item {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		transform: none !important;
		margin: 0 !important;
		flex: 0 0 82% !important;
		max-width: 82% !important;
		height: auto !important;
		scroll-snap-align: center;
	}
	.slider-img-sede .e-gallery-image {
		position: relative !important;
		width: 100% !important;
		height: 0 !important;
		padding-bottom: 100% !important;
		background-size: cover !important;
		background-position: center !important;
	}
	.slider-img-sede .e-gallery-container::-webkit-scrollbar {
		height: 8px;
	}
	.slider-img-sede .e-gallery-container::-webkit-scrollbar-track {
		background: transparent;
	}
	.slider-img-sede .e-gallery-container::-webkit-scrollbar-thumb {
		background-color: #FFC74A;
		border-radius: 8px;
	}
}
/* FINE SLIDER MOBILE SEDE - GALLERIA MASONRY */

/* SLIDERS - NAVIGAZIONE */
@media (min-width: 768px) {
	.swiper-pagination-bullet {
	width: 70px !important;
	height: 4px !important;
	border-radius: 2px!important;
	background: #9AB2B9 !important;
	opacity: 0.4;
}
.swiper-pagination-bullet-active {
	opacity: 1;
	background: #D3A133 !important;
	}
}
/* FINE SLIDERS - NAVIGAZIONE */

/* BLOG - MAGAZINE */
[id^="ez-toc-container"] {
	background: #EEF4FF;
	border-color: #3A4060;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-right: 25px;
	padding-left: 25px;
}
.ez-toc-cssicon {
	background: #3A4060;
	border-color: #3A4060;
}
.ez-toc-cssicon svg {
	fill: #fff!important;
	color: #fff!important;
}
.elementor-post__read-more {
    border: 1px solid #FEC851;
    background-color: #FEC851;
	color: #000;
    border-radius: 10px;
    padding: 10px 25px;
    transition: all .3s;
    box-shadow:7px 9px 0px 0px rgba(0, 0, 0, 0.08)!important;
}
.elementor-post__read-more:hover {
    background-color: #FEC851;
    color: #000!important;
        box-shadow: 7px 9px 0px 0px #000000!important;
}
.elementor-post__excerpt {
    margin-bottom: 30px!important;
}

@media (max-width: 767px) {
    .elementor-post__read-more {
        display: block;
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }
}
/* FINE BLOG - MAGAZINE */

/* BTN FLUTTUANTE PREVENTIVO */
.btn-espandi .elementor-button-text {
    max-width: 0;
    overflow: hidden;
    white-space: nowrap;
    opacity: 0;
    transition: max-width .4s ease, opacity .3s ease, margin .4s ease;
    margin: 0;
}
.btn-espandi .elementor-button:hover .elementor-button-text {
    max-width: 250px;
    opacity: 1;
    margin-left: 8px;
	margin-right: 15px;
}
.btn-espandi .elementor-button {
    transition: all .4s ease;
}
/* FINE BTN FLUTTUANTE PREVENTIVO */

/* HEADER */
.header-mgv {
	transition: background-color 0.3s ease;
}
/* FINE HEADER */

.page-id-1933 .wsp-pages-list {
	font-family: 'Voltaire';
}
.page-id-1933 .wsp-pages-title {
	font-size: 3rem;
	font-weight: 400;
	color: #D3A133;
}

/* ARTICOLI */
.elementor-icon-list-text a {
	font-family: 'Voltaire';
	text-transform: uppercase;
}
/* FINE ARTICOLI */

/* PAG ACADEMY */
.tusaichi {
	background: url('/wp-content/uploads/2026/09/tusaichi.png');
	background-repeat: no-repeat;
	height: 80vh;
	background-size: 200%;
	background-position: 25% 50%;
	clip-path: polygon(0% 0%, 100% 5%, 85% 95%, 10% 85%);
}
.tusaichi-bg {
	background: url('/wp-content/uploads/2026/09/tusaichi-bg.jpg');
	height: 80vh;
	clip-path: polygon(0% 2%, 100% 10%, 82% 91%, 12% 80%);
}
@media screen and (min-width: 1200px) {
	.tusaichi {
		background-size: 100%;
		background-position: 50% -200%;
	}
}
.elementor-widget-html:has(.tusaichi-bg) {
	width: 100% !important;
}
/* FINE PAG ACADEMY */

/* FORM PREVENTIVO */
.form-new input, .form-new textarea, .form-new select.input-md.form-control {
    background: #EFF5FF !important;
    border-radius: 10px !important;
    border: 2px solid #dfebff !important;
    font-family: 'Poppins';
    font-weight: 600 !important;
}
.form-new select.input-md.form-control {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ADC0E8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");
    background-repeat: no-repeat;
    background-position: right 15px center;
    padding-right: 40px !important;
}
.form-new select.input-md.form-control:required:invalid {
    color: #ADC0E8 !important;
}
.form-new select.input-md.form-control option {
    color: #111 !important;
}
.form-new select.input-md.form-control:valid,
.form-new select.input-md.form-control:focus {
  color: #111!important;
}
.form-new label {
    font-family: 'Poppins';
    font-weight: bold;
    color: #000;
    float: left;
    font-size: 18px;
}
.privacy-check {
    margin-left: 10px;
    font-family: 'Poppins';
    font-weight: 600;
}
.privacy-check a{
    color: #cc8f08!important;
}
.top-form .privacy-check {
    color: #fff;
}
.top-form input, .top-form textarea, .top-form select {
    background: rgb(239 245 255 / 90%) !important;
    border-radius: 8px !important;
    margin-bottom: 10px;
    font-family: 'Poppins';
    font-weight: 600 !important;
}
.top-form input,
.top-form textarea,
.top-form select{
    background: rgb(239 245 255 / 90%)!important;
    border-radius: 8px!important;
    margin-bottom: 10px;
}
.top-form input::placeholder,
.top-form textarea::placeholder,
.top-form select::placeholder{
    font-family: 'Poppins';
    color: #758FC5;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0;
}
.top-form label{
    font-family: 'Poppins';
    color: #ffffff;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0;
}
.top-form button, button.btn-cta, a.btn-cta {
    text-shadow: none;
    font-size: 1.5em;
    background-color: #FEC851 !important;
    color: #000;
    text-transform: uppercase;
    font-family: 'Voltaire';
    text-decoration: none;
    padding: 20px 50px;
    transition: all .2s ease;
    border: 3px solid #FEC851;
}
.top-form button {
    padding: 4px 50px;
    margin: 0 auto;
    display: block;
}
.form-new input::placeholder,
.form-new textarea::placeholder {
    color: #ADC0E8!important;
    font-family: 'Poppins';
    font-weight: 600!important;
    font-size: 16px!important;
}
.top-form button:hover, button.btn-cta:hover, a.btn-cta:hover {
    background: #ffbc29 !important;
    box-shadow: 8px 8px #000;
    border-color: #000;
	color: #000;
}
span.divider-titolo, span.divider-titolo-dx {
    content: '';
    display: block;
    width: 80px;
    height: 6px;
    margin: auto;
    border-radius: 300px;
    background: #fec851;
    margin-bottom: 40px;
    margin-top: -30px;
}
.widget.form-new h2{
    font-weight: 600;
    font-size: 40px;
    font-family: "Voltaire";
    text-transform: inherit;
}
#topform .title-form p {
    font-family: 'Voltaire';
    font-style: normal;
    font-weight: bold;
    color: #FFFFFF;
    font-size: 2em;
    letter-spacing: -1px;
    text-align: left;
    margin-bottom: 0;
}
.sep {
    width: 100px;
    height: 7px;
    border-radius: 100px;
    background: #FFC74A;
    display: block;
    margin: 10px 0;
}
#inCima li a{
    color: #FFC74A;
}
.cta-small {
    font-size: 18px !important;
    padding: 10px 20px !important;
    margin: 0 10px;
}

.form-new .cf7-row {
    display: flex;
    gap: 16px;
    margin-bottom: 10px;
}
.form-new .cf7-col {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.form-new .cf7-col .wpcf7-form-control-wrap,
.form-new input,
.form-new textarea,
.form-new select {
    width: 100%;
}
.form-new input,
.form-new textarea,
.form-new select {
    margin-bottom: 20px;
    min-height: 50px;
}

.form-new .privacy-check {
    display: flex;
    align-items: center;
    justify-content: center;
    float: none;
    margin: 15px 0;
    clear: both;
}
.form-new .privacy-check .wpcf7-form-control-wrap {
    width: auto;
}
.form-new .privacy-check .wpcf7-list-item {
    margin: 0;
}
.form-new .privacy-check label {
    display: flex !important;
    align-items: center;
    gap: 8px;
    float: none !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    margin: 0;
    line-height: 1.3;
}
.form-new .privacy-check input[type="checkbox"] {
    width: auto !important;
    margin: 0;
    flex-shrink: 0;
}
.form-new button.btn-cta {
    display: block;
    margin: 20px auto 0;
    padding: 10px 50px;
}

@media (min-width: 768px){
    .cta-row{
        display: flex;
    }
    #inCima{
        min-height: 100vh;align-items: center;display: flex;
    }
}
@media (max-width: 768px) {
    .cta-small {
        font-size: 18px !important;
        padding: 10px 20px !important;
        margin: 0px;
        margin-top: 10px;
        width: 100%;
    }
    #inCima .col-sm-7 {
        margin: 0;
        padding: 0;
    }
    #inCima .col-sm-7 > div {
        padding: 0!important;
    }
    .title-form p {
        color: #172741!important;
        font-size: 2.3em;
        line-height: initial;
        padding-right: 30%;
    }
    section#inCima {
        background-size: 100vh !important;
        background-repeat: no-repeat !important;
        background-position: 5% 7% !important;
        background-attachment: inherit !important;
        background-color: #182741 !important;
        padding-bottom: 0 !important;
        height: fit-content;
        padding-top: 100px !important;
    }
    div#topform {
        background: #fff !important;
        width: 100%;
        position: relative;
        margin: 0;
        border-radius: 0 !important;
        height: 100%;
    }
    .banner-content-open {
        background: url(https://www.mgvision.com/images/angle-mobile.jpg);
        background-size: 100%;
        background-repeat: no-repeat;
        background-position: bottom;
        width: 100%;
        padding: 40% 8% 25% !important;
    }
    .top-form .privacy-check, .call-open {
        color: #1f3664 !important;
    }
    .form-new .cf7-row {
        flex-direction: column;
        gap: 0;
    }
}
/* FINE FORM PREVENTIVO */

/* CF7 - Errori */
.wpcf7 form.sent .wpcf7-response-output {
	background: #6ace73;
	border: 2px solid #6ace73;
	border-radius: 8px;
	color: #3A4060;
}
.wpcf7-not-valid-tip {
	background: #dc3232;
	color: #fff;
	border: 2px solid #880e0e;
	border-radius: 8px;
	font-size: .8em;
	text-align: center;
	padding: 5px;
}
/* FINE CF7 - Errori */

/* FORM SIDEBAR */
.form-new.form-flat input,
.form-new.form-flat textarea {
    background: #fff !important;
    border-radius: 0 !important;
    border: 1px solid #d5d5d5 !important;
    min-height: 40px;
    margin-bottom: 8px;
}
.form-new.form-flat textarea {
    height: 80px;
    min-height: 80px;
}
.form-new.form-flat input::placeholder,
.form-new.form-flat textarea::placeholder {
    font-family: 'Voltaire' !important;
    color: #999 !important;
}
.form-new.form-flat .privacy-check {
    justify-content: flex-start;
    margin: 5px 0;
}
.form-new.form-flat .privacy-check label {
    display: flex !important;
    float: none !important;
}
.form-new.form-flat button.btn-cta {
    margin-top: 5px;
}
/* FINE FORM SIDEBAR */