@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
body {
   font-family: "Inter", serif;
   font-optical-sizing: auto;
}
/* CSS Document */

/* STILI GENERICI */
.placeholder {
	color: #9a9a9a !important;
}






.btn-fattura {
	display: inline-block;
	color: #ffffff;
	background-color: #1BAD97;
	border-radius: .3rem;

	border: 0;
	line-height: 1.5;
	font-size: 1.18rem;
	padding: .5rem 1rem;
	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	font-weight: 400;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	padding-right: 60px;
	padding-left: 60px;
}

#apply-coupon {
   background: white;
   box-shadow: none;
   text-decoration: none;
}
#coupon-code {
   border: 1px solid #E5E7EB;
   box-shadow: none;
}
#apply-coupon.applica {
   color: #1BAD97;
   font-weight: bold;
   
}
#apply-coupon.rimuovi {
   color: #000;
   font-weight: normal;
}

.btn-fattura i {
	vertical-align: baseline;
}

.btn-fattura:hover,
.btn-fattura:focus,
.btn-fattura:active,
.btn-fattura.active,
.btn-fattura.disabled,
.btn-fattura[disabled] {
	color: #ffffff;
	background-color: #078B75;
	text-decoration: none;
}

.btn-fattura-secondary {
	display: inline-block;
	color: #6D7E99;
	background-color: #EEF3FE;
	border-radius: .3rem;

	border: 0;
	line-height: 1.5;
	font-size: 1.18rem;
	padding: .5rem 1rem;
	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	font-weight: 400;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	padding-right: 30px;
	padding-left: 30px;
}

.btn-fattura-secondary i {
	vertical-align: baseline;

}

.btn-fattura-secondary:hover,
.btn-fattura-secondary:focus,
.btn-fattura-secondary:active,
.btn-fattura-secondary.active,
.btn-fattura-secondary.disabled,
.btn-fattura-secondary[disabled] {
	color: #6D7E99;
	background-color: #EEF3FE;
	text-decoration: none;
}

.btn-fattura img, .btn-fattura-secondary img {
	height: 22px;
	margin-right: 7px;
	padding-bottom: 4px;
}

/* HEADER E FOOTER*/
#footer {
	position: fixed;
	left: 0px;
	bottom: 0px;
	height: 35px;
	padding: 13px 0 10px 22px;
	width: 100%;
	background: black;
}

#header {
	width: 100%;
	height: 85px;
	background-image: url(/img/header_bgr.png);
	margin-bottom: 15px;

}

#header_shadow {
	width: 960px;
	margin: 0 auto;
	text-align: center;
	background: url(/img/bg_fondo_ombra.png) top center no-repeat;
}

/* aggiunto dani */


#footer .text {
	color: white;
	font-size: 14px;
	font-weight: normal;

}

#footer .number {
	font-weight: bold;
	font-size: 16px;
}




/* CHAT */

/* WINDOW */
/* Frame */

#wrapper #title-container,
.outline,
#wrapper .footer {
	background-color: grey !important;
}

/* Top bar */
#wrapper #title-container {
	background-color: grey;
}



/* Border - color */
.outline,
#wrapper .operators-bar .wrapper,
#wrapper #body,
#wrapper #textarea-wrapper {
	border-color: grey !important;
}

/* Border - radius */
#wrapper {
	border-radius: 4px 4px 0px 0px;
}

#operators .wrapper {
	border-radius: 3px 3px 0px 0px;
}

#textarea-wrapper {
	border-radius: 0px 0px 6px 6px;
}

/* Border - thickness*/
.outline {
	padding: 1px;
}


/* CONTENT */
/* Window header */
#title {
	color: White;
}

#wrapper .title-font {
	text-shadow: 1px 1px 0px #1F6596;
}

#title {
	padding: 0px 7px 0px 8px;
}

/* Operator header */
#content img.avatar {
	border-radius: 60px;
	-webkit-border-radius: 60px;
	-moz-border-radius: 60px;
	-o-border-radius: 60px;
	-ms-border-radius: 60px;
	box-shadow: 0px 1px 3px rgba(110, 110, 110, .3);
	border: 0px;
	padding: 0px;
}

.operator {
	background-color: White;
	border-color: Whitesmoke;
}

.operator .author {
	color: Silver;
	font-weight: normal;
}

.client {
	background-color: AliceBlue;
	border-color: Whitesmoke;
}

.client .author {
	color: Grey;
	font-weight: normal;
}







/* Evitiamo di colorare il testo dell'help inline con la validazione */
.control-group.error .help-block,
.control-group.error .help-block label,
.control-group.error .help-inline,
.control-group.error .help-inline label,
.control-group.success .help-block,
.control-group.success .help-block label,
.control-group.success .help-inline,
.control-group.success .help-inline label {
	color: #595959 !important;
	font-size: 75%;
}




/* Jquery Validation */

label.valid {
	width: 24px;
	height: 35px;
	/* Stessa altezza dei campi di input per allineamento verticale */
	background: url(/img/valid.png) center center no-repeat;
	display: inline-block;
	margin: 0 0 10px 0 !important;
	/* Stesso margine dei campi di input per allineamento verticale */
	vertical-align: middle;
	text-indent: -9999px;
}


label.error {
	font-weight: normal;
	color: #c00;
	margin: 0 0 10px 0 !important;
	vertical-align: middle;
	display: inline-block;
}






/* Override bootstrap for inline fields in horizontal form */

.form-horizontal .control-group {

	margin-top: 20px;


}

.control-group.inline {
	display: table-cell;
	*display: inline;
	zoom: 1;
}

.control-group.inline-right .control-label {
	width: 0 !important;


}

.control-group.inline-right .controls {
	margin-left: 0 !important;

}

.control-group.inline-right select,
.control-group.inline-right input {
	margin-left: 5px;
	margin-top: -14px;
}

.control-group.inline-left label.error,
.control-group.inline-right label.error {
	display: block;
}

.control-group.inline label.valid {
	#display: inline-block;

}


/* BOX Subtotal */
#subtotal h4 {
	margin: 0 0 5px 0;
}

#subtotal .price.discounted {
	text-decoration: line-through;
	font-weight: normal;
	font-size: 16px;
}


/* Advice in fondo al form */
.advice {
	margin-top: 5px;
	display: none;
}

/* Fix per l'errore nel checkbox della scelta sesso del codice fiscale */
#sex label.error {
	position: absolute;
	bottom: 8px;
	left: 185px;

}


/* comportamenti vari */
.float_right {
	float: right;
}

/* 09-08-2017 nuove classi per l'accettazione delle condizioni */

div.acceptance-condizioni {
	display: inline-block;
	background-color: #eee;
	width: auto;
	padding-top: 5px;
	padding-left: 10px;
	padding-bottom: 5px;
	margin-bottom: 10px;
	padding-right: 20px;
	#width: 50%;
}

div.acceptance-clausole-vessatorie {
	display: inline-block;
	background-color: #eee;
	width: auto;
	padding-top: 5px;
	padding-left: 10px;
	padding-bottom: 5px;
	margin-bottom: 10px;
	padding-right: 20px;
	#width: 50%;
}

div.acceptance-privacy {
	display: inline-block;
	background-color: #eee;
	width: auto;
	padding-top: 5px;
	padding-left: 10px;
	padding-bottom: 5px;
	margin-bottom: 10px;
	padding-right: 20px;
	#width: 50%;
}



label.acceptance-condizioni {
	background-color: #eee;
	vertical-align: center;
}

label.acceptance-clausole-vessatorie {
	background-color: #eee;
	vertical-align: center;
}

label.acceptance-privacy {
	background-color: #eee;
	vertical-align: center;
}

button#company_details.btn.btn-large {
	background: #f8ac59;
	border-radius: 2px;
	text-shadow: none;
	border-color: #333;
	color: #333;
	border-style: solid;
	width: 29%;
	margin-bottom: 2px;
}

div.attiva-btn {
	width: 100%;
}

label.attiva-btn-tip {
	font-size: 12px;
}

input#condizioni.condizioni-required {
	border-color: #c00;
}

/* 09-08-2017 modifiche .css a index.ctp */
/* campi non obbligatori */
.phone-not-required {
	display: inline-block;
	margin: 0px -10px 0px -89px;
	padding-top: 24px;
	float: left;
	font-size: 12px;
	color: #595959;
}

/* bottone "Continua"*/
#continua-btn {
	background: #f8ac59;
	border-radius: 2px;
	text-shadow: none;
	border-color: #333;
	color: #333;
	border-style: solid;
	width: 250px;
	margin-top: 20px;
	margin-bottom: 4px;
	display: block;
}

/* testo sotto input Nome */
label.company-name-tip {
	font-size: 12px;
	margin-bottom: 0;
	margin-top: -10px;
}

/* bottone "Ricomincia" */
#restart-btn.btn.btn-large {
	background: #f8ac59;
	border-radius: 2px;
	text-shadow: none;
	border-color: #333;
	color: #333;
	border-style: solid;
	width: 250px;
}

/* bottone "Stampa" */
#print-btn.btn.btn-large {
	background: #f8ac59;
	border-radius: 2px;
	text-shadow: none;
	border-color: #333;
	color: #333;
	border-style: solid;
	width: 250px;
}

/* bottone "Completa ordine*/
"
 #btnSubmit.btn.btn-large.btn-primary {
	background: #f8ac59;
	border-radius: 2px;
	text-shadow: none;
	border-color: #333;
	color: #333;
	border-style: solid;
	width: 250px;
}

/* bottone "Ricarica" */
#recharge-btn.btn.btn-large {
	background: #f8ac59;
	border-radius: 2px;
	text-shadow: none;
	border-color: #333;
	color: #333;
	border-style: solid;
	width: 250px;
}

/* bottone "Conferma" */
#confirm-btn.btn.btn-large {
	background: #f8ac59;
	border-radius: 2px;
	text-shadow: none;
	border-color: #333;
	color: #333;
	border-style: solid;
	width: 250px;
}

/* bottone "Ritorna" */
#return-btn.btn.btn-large {
	background: #f8ac59;
	border-radius: 2px;
	text-shadow: none;
	border-color: #333;
	color: #333;
	border-style: solid;
	width: 250px
}

.container-fluid {
	max-width: 982px;
	margin-left: auto;
	margin-right: auto;
}



/* COUPON CODE */
#coupon a {
	display: block;
	color: #333333;
	cursor: pointer;
}

#coupon .coupon-code {

	height: 22px !important;
	width: 180px;
	margin-top: 8px;
}

/* */


@media screen and (max-width: 576px) {
	.spunta {
		width: calc(100% - 43px);
		/* Crea lo spazio per la label contenete la spunta verde (24px). Se la label contiee un testo di errore, sar� certamente pi� larga di 24px e andr� automaticamente a capo. */
	}

	.form-horizontal .control-label {
		float: none;
		display: inline-block;
		width: auto;
		padding: 0px;
		text-align: left;
		margin: 0px;
	}

	.form-horizontal .controls {
		display: block;
		padding: 0px;
		margin: 0px;
	}

	.form-horizontal .control-group {
		margin: 0px;
	}

	.phone-not-required {
		margin: 0px;
		padding: 0px;
		float: none;
	}

	#continua-btn,
	#company_details {
		width: calc(100% - 30px) !important;
	}

	.modal {
		width: 90%;
		left: 5%;
		margin-left: 0;
	}

	#generateFiscalCodeModal input[type=text] {
		width: 100%;
		box-sizing: border-box;
		height: 35px !important;
	}
}



label.valid+input {
	margin-left: 7px;
	/* Per campi sulla stessa riga */
}

.cittacap {
	display: inline-block;
	white-space: nowrap;
}

select,
textarea,
input[type=text] {
	height: 25px !important;
	line-height: 25px !important;
}

select {
	box-sizing: content-box;
}

.acceptance-condizioni .checkbox,
.acceptance-clausole-vessatorie .checkbox,
.acceptance-privacy .checkbox {
	display: flex;
	flex-wrap: wrap;
}

.acceptance-condizioni label,
.acceptance-clausole-vessatorie label,
.acceptance-privacy label {
	margin-bottom: 0px;
}

.acceptance-condizioni label.error,
.acceptance-clausole-vessatorie label.error,
.acceptance-privacy label.error,
.acceptance-condizioni label.valid,
.acceptance-clausole-vessatorie label.valid,
.acceptance-privacy label.valid {
	order: 2;
	margin-bottom: 0px !important;
	/* Era per allineare le input */
}

/* Forza le spunte verdi sulla stessa linea */
.acceptance-condizioni label.valid,
.acceptance-clausole-vessatorie label.valid,
.acceptance-privacy label.valid {
	flex-basis: 0px;
	flex-grow: 1;
	height: 24px;
}

html,
body,
.modal {
	touch-action: pan-y;
}

.well {
   border: none;
   box-shadow: none;
   background: #F5F4F7;
}
.well h4 {
   line-height: 150%;
   font-size: 16px;
   margin: 0;
}
.label-success {
   background: #1BAD97;
}
.label {
   text-shadow: none;
   padding: 3px 6px;
}
.modal-footer {
	background: none;
}
.modal {
	box-shadow: none;
}

.btn-fattura-modal {
	display: inline-block;
	color: #fff;
	font-size: 14px;
	line-height: 14px;
	
	background-color: #1BAD97;
	border-radius: .3rem;
	padding: 8px 12px;
	border: 0;
	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	text-align: center;
}

.btn-fattura-modal:hover,
.btn-fattura-modal:focus,
.btn-fattura-modal:active,
.btn-fattura-modal.active,
.btn-fattura-modal.disabled,
.btn-fattura-modal[disabled] {
	color: #ffffff;
	background-color: #078B75;
	text-decoration: none;
}

.btn-fattura-secondary-modal {
	display: inline-block;
	color: #333;
	font-size: 14px;
	line-height: 14px;
	
	background-color: none;
	border-radius: .3rem;
	border: solid 1px #EDF2F9;
	padding: 8px 12px;
	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	text-align: center;
}

.btn-fattura-secondary-modal:hover,
.btn-fattura-secondary-modal:focus,
.btn-fattura-secondary-modal:active,
.btn-fattura-secondary-modal.active,
.btn-fattura-secondary-modal.disabled,
.btn-fattura-secondary-modal[disabled] {
	color: #6D7E99;
	background-color: #EEF3FE;
	text-decoration: none;
}

@media (max-width: 767px) {
	body {
		padding: 0;
	}
	.container-fluid {
		padding: 0 20px;
	}
}


.service-plan-box {
	display: flex; /* Attiva Flexbox */
    align-items: center; /* Centra verticalmente */
    justify-content: space-between;
    border: 1px solid #E5E7EB; /* Bordo leggero */
    border-radius: 8px; /* Angoli arrotondati */
    padding: 16px; /* Spaziatura interna */
    margin-bottom: 12px; /* Spaziatura tra i box */
    gap:12px
}

.service-plan-box input[type="radio"] {
    margin-left: 0; /* Annulla il margine negativo */
    margin-right: 10px; /* Aggiunge un po' di spazio tra il radio e il testo */
}

.service-plan-box label {
    margin: 0; /* Annulla eventuali margini indesiderati */
    padding-bottom: 0!important; /* Rimuove padding extra */
}

@media (max-width: 768px) { /* Schermi mobili */
    .service-plan-box {
        flex-direction: column; /* Dispone i figli in colonna */
        align-items: flex-start; /* Allinea i contenuti a sinistra */
    }

    .service-plan-box input {
        margin-bottom: 10px; /* Aggiunge spazio tra input e label */
    }
}

.payment-options-row {
    display: flex!important; /* Usa Flexbox per allineare gli elementi */
    align-items: center; /* Centra verticalmente tutto il contenuto */
    justify-content: space-between; /* Spinge il contenuto alle estremità */
    gap: 10px; /* Spaziatura tra gli elementi */
}

.payment-options-row img {
    vertical-align: middle; /* Centra le immagini rispetto al testo */
    height: 1.2em; /* Imposta un'altezza proporzionata al testo */
    margin-left: 5px; /* Spaziatura tra le immagini */
}



