.form {
    font-family:inherit;
    margin-top: 50px;
}

.form.newsletter-form {
    margin-top: 20px;
}

/* label */
.form .label {
    font-size: 14px;
    text-transform: uppercase;
}

/* campi di imput */
.form input[type=text],
.form input[type=email],
.form input[type=tel],
.form input[type=url],
.form textarea {
	display: flex;
	width: 100%;
	font-family: inherit;
	margin: 0;
	padding: 15px 20px 15px 20px;
	border-radius:0;
	box-sizing: border-box;
	line-height: 14px;
	font-size: 14px;
	background-color: transparent;
    border-bottom:1px solid #59646F;
    border-right:0;
    border-top:0;
    border-left: 0;
    color: #fff;
}
.form input[type=text]:focus,
.form input[type=email]:focus,
.form textarea:focus,
.form select:focus {
    padding-left: 15px;
}

.form input::placeholder,
.form textarea::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    opacity: 1; /* Firefox */
    color: #fff;
    text-transform: uppercase;
  }

.form textarea {
	min-height: 150px;
}

.form .button:has(input[type=submit])  {padding: 0;}
.form .button input[type=submit] {
    color: #ffffff;
    border: 0;
    padding:10px 35px 10px 35px;
    background-color: transparent;
    cursor: pointer;
    border-radius: 40px;
    display: block;
}


.form .button input[type=submit]:disabled, .form .button:has(input[type=submit]:disabled), .form .button:hover input[type=submit]:disabled, .form .button:has(input[type=submit]:disabled):hover  {opacity: .5 !important; background-color:#C28936 !important; color: #fff !important;}


/* select */
.form .wrap-select {
    overflow-x: hidden; 
    width: calc( 100% + 0px);
    position: relative;
	background-color: #fff;
	
    border-bottom:10px solid #eeeeee;
    border-right:10px solid #eeeeee;
    border-top:0;
    border-left: 0;

	background-repeat: no-repeat;
    background-position: center right 15px;
    background-size: 14px auto;
	background-image: url("../img/arrow-down-select.svg");
	

}

.form select {
    background-color: transparent;
    border: none; 
    border-radius: 0 !important;
    -webkit-appearance:none;
	font-family: inherit;
	margin: 0;
	padding: 15px 20px 15px 0;
	border-radius: 0;
	border:0;
	box-sizing: border-box;
	width: 100%;
	font-size: 20px;
    opacity: .5;
}

.form select.selected {opacity: 1;}
.form select:focus {opacity: 1;}
/**/

/* messaggi errore/response */
				
.error, .wpcf7-not-valid-tip {
	color: #AE0018;
    margin-top: 5px;
    font-size: 13px;
}

.success {
	color:green;
}

.wpcf7-response-output {
    padding: 15px !important;
    font-size: 12px;
    line-height: 125%;
    margin: 25px 0 0 0 !important;
    font-family: 'inter-regular', sans-serif;
}

/* custom input radio e checkbox */

.form .wpcf7-list-item {
    margin: 0;
}


.form input[type=radio],
.form input[type=checkbox] {
   display: none;
}

.form .txt-small p,
.form .wpcf7-list-item-label {
    font-size: 12px;
    line-height: 125%;
}

.form .txt-small p a {text-decoration: underline;}

.form input[type=radio] ~ .wpcf7-list-item-label:before {
    content:""; 
    border-radius: 100%;
    content:"";
    width: 20px;
    height: 20px;
    border-bottom:4px solid #eeeeee;
    border-right:4px solid #eeeeee;
    border-top:1px solid #eeeeee;
    border-left:1px solid #eeeeee;
    display: inline-block;
    transform: translateY(7px);
    margin-right: 4px;
    margin-bottom: 4px;
}

.form input[type=checkbox] ~ .wpcf7-list-item-label:before {
    content:"";
    width: 15px;
    height: 15px;
    border-bottom:0px solid #333333;
    border-right:0px solid #333333;
    border-top:0px solid #333333;
    border-left:0px solid #333333;
    background-color: #E9E0D2;
    display: inline-block;
    transform: translateY(7px);
    margin-right: 4px;
    margin-bottom: 4px;
}

.form .label-radio:before,
.form .label-checkbox:before {
    /*margin-left: -22px;*/
}

.form input[type=radio].checked ~ .wpcf7-list-item-label:before {
    /*border-color: #000000;*/
    background-image: url("../img/form/radio_checked_gold.svg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 10px 10px;
}
 
.form input[type=checkbox].checked ~ .wpcf7-list-item-label:before {
    /*border-color: #000000;*/
    background-image: url("../img/form/checkbox_checked_gold.svg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 10px 10px;
}

/* bottone upload */
.form input[type=file] {
    background-color: transparent;
    display: block;
    width: 100%;
    height: 100px;
    background-color: transparent;
    opacity: 1;
}

.form .upload {
    background-color: transparent;
    border:1px dashed #59646F;
    padding: 10px;
    margin-top: 10px;
    position: relative;

    display: block;
    cursor: pointer;  
}

.form .upload .label-inputfile {
    position: absolute;
    z-index: -1;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: calc(100% - 20px);
    font-size: 12px;
    line-height: 155%;
    font-weight: 200;
    font-family: "inter-regular", sans-serif;
    text-align: center;
}

.form .upload .label-inputfile span {font-weight: 800; text-decoration: underline;}

.form .wrap-spinner {position: relative;}

.form .wpcf7-spinner {
    /* visibility: hidden; */
    display: block;
    background-color: #1E2E3E;
    opacity: 0.75;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 100%;
    padding: 0;
    margin: 0;
    position: absolute;
    top:50%;
    transform: translateY(-50%);
    right: 3px;
}

.wpcf7-spinner::before {
    content: '';
    position: absolute;
    background-color: #fff;
    top: 4px;
    left: 4px;
    width: 6px;
    height: 6px;
    border: none;
    border-radius: 100%;
    transform-origin: 8px 8px;
    animation-name: spin;
    animation-duration: 1000ms;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

/*--------------------------------------------------------------------------------*/
/*** Media Query ***/
/* sopra 000px -> bootstrap ref. */
@media (min-width: 415px) {}
@media (min-width: 576px) /* SM */ {}
@media (min-width: 768px) /* MD */ {}
@media (min-width: 992px) /* LG */ {
    .form {margin-top: 100px;}
}
@media (min-width: 1200px) /* XL */ {}
@media (min-width: 1367px) {}
@media (min-width: 1920px) {}

/* sotto 000px -> bootstrap ref. */
@media (max-width: 1200px) /* XL */ {}
@media (max-width: 992px) /* LG */ {}
@media (max-width: 768px) /* MD */ {}
@media (max-width: 576px) /* SM */ {}

/* orientamento finestra/dispositivo */
@media all and (orientation:portrait) {}
@media all and (orientation:landscape) {}

/* solo dispositivi touch */
@media (hover: none) {}