:root {
	--corPrincipal: #153849;
	--hoverDark: #061014;
	--corSecundariaAzul: #00BFD8;
	--corAuxiliarVerde: #05C0A9;
	--corBG: #f0f0f0;
	--cinzaEscuro: #191819;
	--titleColor: #191819;
	--txtColor: #636166;
	--txtDanger:#ED183F;
}


*,
*::before,
*::after {
	box-sizing: border-box;
}


/* width */
::-webkit-scrollbar {width: 6px;}
/* Track */
::-webkit-scrollbar-track {	background: transparent;}
::-webkit-scrollbar-track-piece {
	background: var(--corBG);
	margin: 8px;
	border-radius: 8px;
}
/* Handle */
::-webkit-scrollbar-thumb {
	background: var(--cinzaClaro);
	border-radius: 8px;
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {background: var(--cinzaEscuro);}

button:focus,
.navbar-toggler:focus,
.navbar-toggler:hover {	outline: none !important;}

html,
body {
	text-rendering: optimizeLegibility;
	font-feature-settings: "lnum";
	scroll-behavior: smooth;
	overflow-x: hidden;
}

.nav-link:focus,
.nav-link:hover {
	text-decoration: none;
	outline: none;
	box-shadow: none;
}

body {
	margin: 0;
	padding: 0;
	background-color: var(--corBG);
	font-family: 'Mulish', sans-serif !important;
	font-size: 16px;
	font-weight: 400;
	line-height: 28px;
	color: var(--txtColor);
}

p {margin-bottom: 30px;}

p:last-child {margin-bottom: 0;}

p.lead {color: var(--titleColor);}

ul{list-style:none; padding:0;}
h1,h2,h3,h4,h5 {
	font-family: 'Mulish', sans-serif !important;
	font-weight: 700;
	color: var(--titleColor);
}

h4{
	font-size: 20px;
	line-height: 28px;
}
h5{
	font-size: 16px;
	line-height: 28px;
}

b {	font-weight: 700;}

hr {background: var(--corBG);}

.on-mobile {display: none !important}

a{color:var(--corPrincipal)}

a:hover,
a:focus {color:var(--hoverDark)}

.invalid-feedback,
.feedback {
	display:none;
	width: 100%;
	margin-top: .05rem;
	font-size: 80%;
	padding-left: 20px;
}

.invalid-feedback {	color: var(--txtDanger);}
.feedback {	color: var(--corSecundariaAzul); font-weight:bold;}

/*------------------------------------------------------- BOTÕES -------------------------------------*/
.btn {
	font-weight: 700;
	border-radius: 1000px;
	font-size: 14px;
	line-height: 1;
	text-align: center;
	padding: 16px 50px;
}

.btn-primary {
	color: #fff;
	background: var(--corPrincipal);
	border-radius: 1000px;
	border: none;
}



.btn-secondary {
	color: #fff;
	background: var(--corSecundariaAzul);
	border: none;
}

.btn-primary:hover,
.btn-secondary:hover {background: var(--hoverDark);}

button.btn.btn-toggle {
	color: var(--txtColor);
	padding: 0;
	box-shadow: none;
}

button.btn.btn-toggle:hover {
	color: var(--corSecundariaAzul);
	text-decoration:underline;
}

span.toggle-password {
	height: calc(100% - 2px);
	background: #fff;
	width: 28px;
	position: absolute;
	top: 1px;
	right: 40px;
	cursor: pointer;
	overflow: hidden;
}

.toggle-password img {
	height: 20px;
	position: absolute;
	top: 14px;
	right: 4px;
}

.toggle-password.on img {right: auto;}
/*------------------------------------------------------- Steps-------------------------------------*/
.steps ul {	padding: 30px 0 20px;	overflow: hidden; margin-bottom:0}
.steps li {	list-style: none; opacity:0.5;position:relative;width: 33%;}
.steps li span {
	margin-top: 15px;
	position: absolute;
	width: calc(112% - 30px);
	left: -45%;
	height: 0;
	border-top-width: 2px;
	border-top-style: dashed;
	border-top-color: #8c8c8c;
	z-index: -1;
}
.steps li:first-child::before {content:none;}
.steps li.active {	opacity:1;	z-index: 2;}
.steps li.active span {
	border-top-style: solid;
	border-top-color: var(--titleColor);
}

.steps li img {max-height: 30px;background: #fff;z-index: 2;}

@media (max-width: 767.98px) {
	.steps li::before {
	width: 20vw;
	left: -20.1vw;
}
}
/*------------------------------------------------------- INPUTS -------------------------------------*/

input.form-control{
	border-radius: 1000px;
	font-size: 14px;
	line-height: 14px;
	padding: 8px 21px;
	height: 50px;
}

label {
	font-size: 16px;
	font-weight: 600;
	line-height: 16px;
	margin-bottom: 10px;
}

.custom-checkbox .custom-control-label {
	font-weight: normal;
	line-height: 1.3;
}

.custom-control-input:checked~.custom-control-label::before {
	color: #fff;
	border-color: var(--corSecundariaAzul);
	background-color: var(--corSecundariaAzul);
	border-radius: 50%;
	margin: 0;
	box-shadow: none !important;
}

.custom-checkbox .custom-control-label::before {
	color: #fff;
	border-radius: 50% !important;
	margin: 0;
	box-shadow: none !important;
}

select#parcelamento:focus,
input[type=checkbox]:focus, 
input[type=radio]:focus,
.form-control:focus{
	border-color: var(--corSecundariaAzul)!important;
	box-shadow: none !important;
}

.card-pagamento .custom-control.custom-checkbox {
	display: flex;
	align-items: center;
}

.card-pagamento .card-header button, .card-pagamento .card-header label {
	border: none;
	background: none;
	color: var(--txtColor);
	font-size: 16px;
}

select#parcelamento {
	border-radius: 1000px;
	font-size: 14px;
	line-height: 14px;
	min-height: 50px;
	padding: 0 24px;
}
.input-group-append button.btn {
	padding: 0 30px;
}

/*------------------------------------------------------- CARDS-------------------------------------*/

.card {
	background: #fff;
	border-radius: 8px;
	padding: 0;
	border: none;
	margin-bottom: 24px;
}

.card-body {padding: 24px;}

.card-header {background-color: #fff;}

.card-pagamento {
	border: solid 1px #ced4da !important;
	border-radius: 8px !important;
}

.card-pagamento.active {
	border-color: #00bfd8 !important;
	background: var(--corBG);
}

.card-pagamento.active button,
.card-pagamento.active label,{font-weight:bold}



.card-pagamento label {
	margin-bottom: 0;
	line-height: 1;
	margin-left: 8px;
	vertical-align: revert;
}

#accordion .card {
	box-sizing: border-box;
	border-radius: 8px !important;
	margin-bottom: 24px;
}

#accordion .card-header {
	background: #fff;
	border-bottom: none;
	border-radius: 8px !important;
}

#accordion h5 button {
	font-family: 'Mulish', sans-serif !important;
	font-weight: 700;
	font-size: 16px;
	line-height: 24px;
	text-align: left;
	color: var(--titleColor);
	position: relative;
	width: 100%;
	padding: 16px 30px;
	border-radius: 0;

}

#accordion button::after {
	content: url(../fonts/arrow.svg);
	position: absolute;
	top: 18px;
	right: 18px;
	transform: scale(1.5) rotate(180deg);
	cursor: pointer;
}

#accordion button.collapsed::after {
	transform: scale(1.5) rotate(0deg);
}

#accordion .card-body {
	padding: 30px 16px;
	font-size: 16px;
	line-height: 24px;
}
.card-pagamento .card-header {
	padding: 18px 12px;
}

.card-pagamento .card-body {
	padding: 16px;
}


/*------------------------------------------------------- Concluido-------------------------------------*/
.dados-compra li {
	padding: 10px 0;
	border-bottom: solid 1px #e5e5e5;
	display: flex;
	justify-content: space-between;
	font-size: 14px;
}


.dados-compra li:last-child {border-bottom: none;}

.dados-compra li span:last-child {font-weight: bold; color:var(--titleColor)}

span.cupom-desc {color: var(--txtDanger) !important;}

li.total {
	text-transform: uppercase;
	font-weight: bold;
	padding: 20px 0;
}

li.total span:last-child {color:var(--corSecundariaAzul)}

.btn-download {
	padding: 0;
	color: var(--titleColor);
}
.btn-download:hover {
	color: var(--titleColor);
	text-decoration:underline;
}

.btn-download img {
	max-height: 24px;
	margin-right: 8px;
}

ol.instrucoes-pix li {
	list-style: decimal !important;
	display: list-item;
	border: none;
}

ol.instrucoes-pix {
	padding: 0 15px;
}

.instrucoes-pix li::marker {
	font-weight: bold;
	color: var(--corSecundariaAzul);
}

a#btn-whats {
	position: fixed;
	bottom: 3rem;
	right: 3rem;
	background: #fff;
	padding: 16px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	box-shadow: -2px 1px 9px 3px #d1d1d1;
}

#btn-whats img {
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}
p.total-atualizado {
	font-weight: bold;
	margin: 0;
	padding: 0;
	font-size: 14px;
	color: var(--titleColor);
}


ul.bandeiras {
	display: flex;
	justify-content: flex-start;
	flex-flow: wrap;
}

.bandeiras li img {
	max-height: 25px;
	min-height: 20px;
	margin: 0 6px 0 0;
}

.iti{
	margin-top: 0;
	width: 100%;
	font-size: 14px !important;
}
.iti__flag-container:hover .iti__selected-flag {
	background: none !important;
}

.iti input#phone {
	padding-left: 64px;
	font-size: 14px !important;
}

 .iti__flag-container {	left: 10px!important;}
 
 .iti--separate-dial-code .iti__selected-flag {
    background-color: rgba(0,0,0,.00);
}
 /*------------------------------------------------------- UPDATE MULTI ITEM-------------------------------------*/
 .card .quantity {
	display: flex;
	text-align: right;
		width: 100%;
}

.card .quantity > div {
	width: 100%;
}

.card .item-inner {
	display: flex;
	justify-content: space-between;
}

card .item-details {
	padding-right: 20px;
}

.card .value {
	margin-bottom: 1rem;
	font-weight: bold;
}

.item.card{
	background-color: var(--corBG);
	padding: 20px;
	margin-bottom: 20px;
}

.btn-ico-cart {
	font-size: 12px;
	align-items: center;
	padding: 8px;
	min-height: inherit;
}
 
img.ico-cart {
	height: 20px;
	margin: 0 5px 0 0;
}

.quantity .form-group {
	height: auto;
	border: none;
	padding: 0;
	justify-content: flex-end;
	display: flex;
	align-items: center;
}

.form-group input{
	border-radius: 8px;
	box-sizing: border-box;
	box-shadow: none;
	font-size: 16px;
	width: 45px;
	padding: 10px;
	text-align: center;
}

.quantity button.control {
	background: none;
	font-size: 24px;
	color: var(--txtColorClaro);
	padding: 16px;
	
}

.lista-produtos .item {
	padding: 24px 0;
	border-bottom: solid 1px var(--corBG);
}

.lista-produtos .item:last-child {
	margin-bottom: 3rem !important;
}

.lista-produtos .value{margin:0}

@media (max-width: 767.98px) {
	.card .item-inner {
	display: block;
	}
	.card .quantity {
		text-align: left;
	}

	.card .value {
		margin: 1rem 0 0.5rem;
	}
	.btn-ico-cart {width:100%;}
	.lista-produtos .value{margin:0 !important}
}


#accordion.accordion-item button::after {
	content: url(../fonts/ico_arrowdown.svg);
	position: absolute;
	top: 0;
	right: 0;
	transform: rotate(180deg);
	cursor: pointer;
}

#accordion.accordion-item button.collapsed::after {
	transform:rotate(0deg);
}
