/* NOVO LAYOUT */
.contact-form {
	padding: 120px 0;
}
.contact-form .box-info {
	margin-bottom: 60px;
}

.contact-form .form-group {
	position: relative;
	padding-top: 20px;
	margin-bottom: 20px; /* retirar quando tiver animação */
}

.contact-form .form-group h5 {
	margin: 0 0 20px;
	text-transform: uppercase;
	font-weight: 800;
}

.wpcf7-form p {
	margin: 0;
}

.fundo-mapa form h2 {
	line-height: 35px;
}

/* inputs, selects, textarea */
.ghostBox {
	position: relative;
}

.wpcf7-response-output {
	float: left;
}

.ghostBox:after {
	content: "";
	background: rgb(243, 243, 243);
	width: 98%;
	height: 80%;
	position: absolute;
	left: 10px;
	top: 5px;
	pointer-events: none;
}

.ghostBox:before {
	content: "Escolher arquivo";
	font-size: 23px;
	z-index: 999;
	position: absolute;
	color: #fff;
	background: #000;
	padding: 8px 20px;
	pointer-events: none;
	top: 50%;
	transform: translateY(-50%);
	left: 10px;
}

input.wpcf7-form-control.wpcf7-file.form-control {
	height: 100%;
	cursor:pointer;
}

.contact-form .form-group .form-control {
	width: 100%;
	min-height: 70px;
	padding: 0 20px;
	font-size: 1.5em;
	color: #000;
	border: solid 1px #f3f3f3;
	outline: solid 2px #f3f3f3;
	background-color: #f3f3f3;
	transition: border-color .12s cubic-bezier(.555,.205,.295,.975),outline-color .12s cubic-bezier(.555,.205,.295,.975);
	/* -webkit-appearance: none;
	-moz-appearance: none; */
	font-family: "Montserrat";
	margin: 5px 0 0;
}

.contact-form .form-group textarea.form-control {
	padding: 20px;
	height: 200px;
	resize: none;
}

.contact-form .form-group .form-control:focus {
	border-color: #000;
	outline-color: #000;
}

.contact-form .form-group .form-control.wpcf7-not-valid,
.contact-form .form-group .form-control.wpcf7-not-valid:focus {
	border: solid 2px #ff2d19;
	outline: none;
}

.contact-form .form-group label {
	font-weight: 800;
	color: #000;
	text-transform: uppercase;
	/* font-size: .8em; */
	font-size: .9em; /*retirar quando tiver animação  */
	letter-spacing: 1px;
	max-width: none;
}

.contact-form .form-group.required label:after {
	content: "*";
	color: #ff2d19;
	margin-left: 3px;
}

.contact-form .form-group .form-control+label {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	line-height: 1;
	margin: 0;
	opacity: 0;
	-webkit-transform: translateY(6px);
	transform: translateY(6px);
	transition: all .4s cubic-bezier(.58,.3,.005,1);
}

.contact-form .form-group .form-control:focus~label,
.contact-form .form-group .form-control.non-empty~label {
	opacity: 1;
	-webkit-transform: none;
	transform: none;
}

/* checkboxes, radio buttons */
.wpcf7 span.wpcf7-list-item {
	display: flex;
}

.wpcf7-checkbox > span,
.wpcf7-list-item {
	display: block;
	position: relative;
	padding-left: 45px;
	line-height: 35px;
	text-transform: uppercase;
	font-size: .9em;
	font-weight: 700;
	color: #000;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.wpcf7-list-item label {
	padding-left: 45px;
	cursor: pointer;
}

.wpcf7-checkbox span input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 35px;
	width: 35px;
}

.wpcf7-list-item > span {
	margin-left: 45px;
	line-height: 35px;
}

.wpcf7-list-item:before {
	content:"";
	position: absolute;
	top: 0;
	left: 0;
	height: 35px;
	width: 35px;
	background-color: #f3f3f3;
	z-index:20;
	pointer-events:none;
}

.wpcf7-list-item:after {
	content:"";
	pointer-events:none;
}

.wpcf7-list-item input:checked ~ ::after {
	content: "\f00c";
	font-family: fontawesome;
	position: absolute;
	left: 0;
	top: 0;
	height: 35px;
	width: 35px;
	background-color: #000;
	color: #fff;
	z-index: 22;
	pointer-events: none;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25em;
}

.wpcf7-list-item {
	margin-bottom: 10px !important;
	padding-left: 0 !important;
}

/* submit */
.send-form {
	border-radius: 0;
	height: 70px;
	width: 100%;
	font-size: 1.75em;
	font-weight: 800;
	margin-top: 30px; /* retirar quando tiver animação */
}

/* Controller */
.isolador.isHidden {
	display:none;
}

.emFoco h2 {
	padding-left: 33px;
}

.emFoco > .vc_column_container,
.clientInfo > .vc_column_container {
	padding-left: 15px;
}

.isolador {
	height: 60px;
	overflow: hidden;
	border-bottom: solid 3px #000;
	padding-bottom: 40px;
	transition: all .35s ease;
}

.controller {
	padding-bottom: 40px;
}

.controller h2 {
	position: relative;
}

.controller h2 a {
	cursor: pointer;
}

.controller h2 a[data-controller="show"]:after {
	content: "\f107";
	position: absolute;
	right: 0;
	top: 0;
	font-family: fontawesome;
	font-size: 24px;
}

.controller h2 a[data-controller="go-back"]:after {
	content: "\f106";
	position: absolute;
	right: 0;
	top: 0;
	font-family: fontawesome;
	font-size: 36px;
}

.chooseBtn {
	width: 100%;
	display: block;
	color: #000;
	border-bottom: solid;
}
.controller .chooseBtn{
	border: none !important
}

.controller a,
.controller a:hover,
a.chooseBtn,
a.chooseBtn:hover {
	text-decoration: none !important;
}

.controller li a {
	color: rgba(0, 0, 0, .55);
}

.selecoes.isChoosing {
	display: block;
}

ul.selecoes li {
	font-size: 1.4em;
	font-weight: 600;
	padding-top: 5px;
}

.wrapper__proposta.emFoco {
	padding-top: 15px;
}

.a_wrapper,
.clientInfo {
	visibility: hidden;
	opacity: 0;
	position: absolute !important;
	transform: translateY(100px);
}

.a_wrapper[data-id="default"] .clientInfo {
	position: relative !important;
	visibility: visible;
	opacity: 1;
	transition: all .35s ease;
	transform: translateY(0px);
}

.a_wrapper.emFoco {
	position: relative !important;
	visibility: visible;
	opacity: 1;
	transition: all .35s ease;
	transform: translateY(0px);
}

/* Efeito de Hover */
.selecoes li a {
	position: relative;
	/*width: 350px !important;*/
	display: inline-block;
	overflow: hidden;
	padding-left: 50px;
	transition: all .35s ease;
}

.selecoes li a:hover {
	padding-left:60px;
	transition: all .35s ease;
}

.selecoes li {
	position: relative;
}

.selecoes li a:after {
	content: "";
	display: inline-block;
	height: 1px;
	width: 30px;
	background: #000;
	vertical-align: middle;
	margin-bottom: 3px;
	margin-right: 10px;
	position: absolute;
	top: 50%;
	transform: translate(0px, -50%);
	left: 0px;
	margin-right: 40px;
	transition: all .35s ease;
}

.selecoes li a:hover:after {
	width: 43px;
	transition: all 200ms;
}

.selecoes li a:before {
	content: attr(data-hover);
	color: #000;
	position: absolute;
	width:0%;
	overflow: hidden;
	white-space: nowrap;
	z-index: 2;
	width: 0%;
	-webkit-transition: width 0.4s 0.3s;
	transition: width 0.4s 0.3s;
}

.selecoes li a:hover:before{
	opacity: 1;
	transition: all 1s ease;
	width: 100%;
}

.wrapper__default {
	margin-top: -30px;
}

.wrapper__trabalho {
	margin-top: -16px;
}

/* RESPONSIVO */

.form-group-file label {
	position: absolute;
	line-height: 12px;
}
@media (min-width:1151px){
	.form-group-file label {
		top: 50%;
		left: 260px;
		transform: translateY(50%);
	}
}
@media (max-width:1150px) and (min-width:992px){
	.form-group-file label {
		top: 50%;
		left: 260px;
		transform: translateY(0%);
	}
}
@media (max-width:991px) and (min-width:722px){
	.form-group-file label {
		top: 50%;
		left: 260px;
		transform: translateY(50%);
	}
}
@media (max-width:767px){
	form.wpcf7-form {
		padding-right: 20px;
	}
	.contact-form {
		padding: 60px 0;
	}
}
@media (max-width:721px) and (min-width:440px){
	.form-group-file label {
		top: 50%;
		left: 260px;
		transform: translateY(0%);
	}
}
@media (max-width:439px){
	.form-group-file label {
		position: inherit;
	}
}
