/* Links uteis
  Botoes: https://bootsnipp.com/snippets/featured/funky-radio-buttons
  Solucao para hover em mobiles: https://stackoverflow.com/questions/23885255/how-to-remove-ignore-hover-css-style-on-touch-devices
  Guia da flex: https://origamid.com/projetos/flexbox-guia-completo/
  */


/*basic reset*/

* {
  margin: 0;
  padding: 0;
}

/******** PAGINA ********/

html {
  height: 100%;
  /*Image only BG fallback*/
  /* background: repeating-linear-gradient(
        135deg,
        #f0f0f0,
        #f0f0f0 15px,
        #d4d4d4 12px,
        #d4d4d4 27px
    ); */
  /* background-image: url(../img/registro/background.png);
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
    background-size: cover;
    overflow: hidden; */
  background: repeating-linear-gradient( 135deg, #0d0d0d, #0d0d0d 12px, #121212 8px, #121212 20px);
  /* background: repeating-linear-gradient( 135deg, #cae7e1, #cae7e1 12px, #c8e2f8 8px, #c8e2f8 20px); */
  /* background: repeating-linear-gradient( 135deg, #ffffff, #ffffff 12px, #fafafa 8px, #fafafa 20px); */
  /* background: repeating-linear-gradient( 135deg, #10e4b5, #10e4b5 12px, #1f88e6 8px, #1f88e6 20px); */
}

html {
  background: transparent;
  font-family: 'Catamaran', sans-serif;
  color: #ffffffda;
  
  background-size: cover;
  position: relative;
  z-index: 0;
}

body:before {
  content: "";
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: repeating-linear-gradient( 135deg, #0d0d0daa, #0d0d0daa 12px, #121212aa 8px, #121212aa 20px);
}

body {
  background: transparent;
  font-family: 'Catamaran', sans-serif;
  color: #ffffffda;
  background: url(../img/hero-bg.jpg) top center;
}

a {
  cursor: pointer !important;
  color: #0261b2 !important;
}
/******** PAGINA ********/

/******** SECTION TITULO ********/

.titulo {
  text-align: center;
  max-width: 400px;
  margin: 0 auto;
}

.titulo img {
  width: 140px;
  margin: 20px 0;
}

.titulo p {
  margin: 0px;
}

.titulo a {
  color: #1989e7;
}

.titulo a:hover {
  color: #07e5b6;
}


/******** SECTION TITULO ********/

/******** OUTROS ********/
.pb-20 {
  padding: 0 0 20px 0;
}
.ptb-20 {
  padding: 20px 0;
}
.ptb-10 {
  padding: 10px 0;
}
.prl-5 {
  padding: 0px 5px;
}

/******** OUTROS ********/

/******** ANIMACAO CARREGANDO ********/

/* .loader{ */

.loader span {
  transition: all 500ms ease;
  background: #4A72DA;
  box-shadow: 1px 2px 3px #999;
  height: 10px;
  width: 10px;
  display: inline-block;
  border-radius: 10px;
  animation: wave 2s ease infinite;
}

.loader span:nth-child(1) {
  animation-delay: 0;
}

.loader span:nth-child(2) {
  animation-delay: 100ms;
}

.loader span:nth-child(3) {
  animation-delay: 200ms;
}

.loader span:nth-child(4) {
  animation-delay: 300ms;
}

.loader span:nth-child(5) {
  animation-delay: 400ms;
}

.loader span:nth-child(6) {
  animation-delay: 500ms;
}

.loader span:nth-child(7) {
  animation-delay: 600ms;
}

.loader span:nth-child(8) {
  animation-delay: 700ms;
}

@keyframes wave {
  0%,
  40%,
  100% {
    transform: translate(0, 0);
    background-color: #10e4b5;
  }
  10% {
    transform: translate(0, -15px);
    background-color: #1f88e6;
  }
}

/******** ANIMACAO CARREGANDO ********/

/******** CAIXA FORMULARIO ********/

#msform {
  max-width: 800px;
  padding: 15px;
  margin: auto;
  text-align: center;
  color: #222222;
  position: relative;
}

#msform fieldset {
  background: white;
  border: 0 none;
  border-radius: 3px;
  box-shadow: 0 0 15px 1px rgba(255, 255, 255, 0.4);
  /* box-shadow: 0 0 40px 1px rgba(0, 0, 0, 0.4); */
  padding: 20px;
  box-sizing: border-box;
  margin: auto;
  /*stacking fieldsets above each other*/
  position: relative;
}

#msform fieldset:not(:first-of-type) {
  /*Hide all except first fieldset*/
  display: none;
}

.perguntas {
  max-width: 700px;
  margin: auto;
}

.umaLinhaTelefonica{
  padding: 20px 0px;
  margin: 20px 0px;
}

.contratoUnico {
  padding: 20px 10px;
  border-radius: 3px;
  margin: 5px 0px;
}

/******** CAIXA FORMULARIO ********/

/******** Estilos Formulario ********/

/** Textos **/

#msform {
  font-size: 14px;
  color: #000;
}

#msform ol {
  font-size: 14px;
  color: #000;
  text-align: left;
}

#msform h2 {
  font-size: 18px;
  font-weight: 600;
  color: #000;
}

#msform h3 {
  text-align: center;
  font-weight: 600;
  color: #000;
}

/** Inputs **/

#msform input,
#msform textarea {
  padding: 15px;
  border: 1px solid #ccc;
  border-radius: 3px;
  margin-bottom: 10px;
  width: 100%;
  box-sizing: border-box;
  color: #2C3E50;
  font-size: 13px;
}

/** Botoes **/

#msform .action-button {
  width: 100px;
  background: rgb(174, 142, 39);
  font-weight: bold;
  color: white;
  border: 0 none;
  border-radius: 1px;
  cursor: pointer;
  padding: 10px 5px;
  margin: 10px 5px;
}

#msform .next,
#msform .enviar {
  background: #10e4b5;
  color: white;
}

#msform .previous {
  background: #bbdfff;
  color: #313131;
}

#msform .finalizar {
  background: #ffc000;
  color: #313131;
}

#msform .outros {
  width: unset;
  max-width: 3000px;
  background: #ffc000;
  color: #313131;
  padding: 5px 10px;
  font-weight: normal;
}

#msform .next:hover,
#msform .next:focus,
#msform .enviar:hover,
#msform .enviar:focus {
  box-shadow: 0 0 0 2px white, 0 0 0 3px #10e4b5;
}

#msform .previous:hover,
#msform .previous:focus {
  box-shadow: 0 0 0 2px white, 0 0 0 3px #bbdfff;
}

#msform .outros:hover,
#msform .outros:focus,
#msform .finalizar:hover,
#msform .finalizar:focus {
  box-shadow: 0 0 0 2px white, 0 0 0 3px #ffe8a3;
}

#msform .erro {
  color: red;
}
/******** Estilos Formulario ********/


/******** Modal ********/
.modal-header{
  display: block !important;
}
.modal-content
{
  background: #eaeaea !important;
  color: #666666;
}
.modal-body p{
  font-size: 1rem;
  margin-bottom: 1rem;
}
.modal-body label{
  font-weight: 700;
}
.modal-header{
  border-bottom: 1px solid #acaeb1 !important;
}
.modal-footer {
  border-top: none;
}
.modal-footer button{
  background-color: #acaeb1;
}
.modal-content body {
    color: #404040;
}
.modal-content a {
  color: #404040;
}
.modal-content a:hover {
  color: #1f1f1f;
}
/******** Modal ********/


/******** Select Operadora/Servico/Preço e Operadora na opcao Portal do Assinante *********/
#inicioForm select,
#portalAssinante select,
#pegar-email select { /*Objeto Select */
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  outline: 1px;
  box-shadow: none;
  border: 0 !important;
  background: #e7e7e7; /* Fundo da caixa de selecao, somente */
  background-image: none;
  width: 100%; /* O quanto a caixa de selecao vai ocupar da div classe select */
  height: 100%; /* O quanto a caixa de selecao vai ocupar da div classe select */
  margin: 0;
  padding: 0 0 0 .5em;
  color: #000; /* Cor da letra da caixa */
  cursor: pointer;
}
select::-ms-expand { /* Seta para baixo, botao de expansao, usado na Microsoft somente */
  display: none;
}
.select { /* Classe select */
  position: relative;
  width: 15em; /* Largura da caixa */
  height: 3em; /* Altura da caixa */
  line-height: 3;
  background: #d4d4d4; /* Nao mudou nada */
  overflow: hidden;
  border-radius: .25em;
}
.select::after { /* Seta que realmente aparece */
  content: '\25BC'; /* Desenho da setinha */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  padding: 0 1em;
  background: #d4d4d4; /* Cor de fundo da seta */
  pointer-events: none;
}
.select:hover::after {
  color: #f39c12; /* Cor que fica a seta quando passa a mao */
}
.select::after { /* Tempo que leva para mudar de cor */
  -webkit-transition: .25s all ease;
  -o-transition: .25s all ease;
  transition: .25s all ease;
}
#inicioForm .selecaoOperadora input {
  /* Select de operadora */
  font-weight: 600;
  font-size: 1.5rem;
}
#inicioForm .selecaoServico select {
  /* Select do servico */
  color: #000;
  left: 0px;
}
#inicioForm .selecaoOperadora {
  display: flex;
  align-items: center;
}
#inicioForm h3 {
  padding: 0px 20px;
  margin: 0px;
}
#inicioForm .servicos {
  padding: 30px 0;
}
#inicioForm .selecaoPreco {
  display: inline-flex;
  position: relative;
  width: 15em; /* Largura da caixa */
  height: 3em; /* Altura da caixa */
  line-height: 3;
  background: #d4d4d4; /* Nao mudou nada */
  overflow: hidden;
  border-radius: .25em;
}
#inicioForm .selecaoPreco input {
  margin: 0px;
  padding: 0px 0 0 4em;
}
#inicioForm .selecaoPreco::after { /* R$ antes da caixa de texto */
  content: "R$";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  padding: 0 1em;
  background: #d4d4d4; /* Cor de fundo da seta */
  pointer-events: none;
}
.plus-button {
    height: 2em;
    width: 2em;
    border-radius: 100%;
    background-color: #1f88e6;
    backface-visibility: hidden;
    transform: scale(0.92);
    margin: 3px;
}
.plus-button::before {
  content: "+";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 28px;
  font-weight: 600;
}
.plus-button:hover {
  transform: scale(1);
  box-shadow: 0 0 0 2px white, 0 0 0 3px #86c6fd;
}
/******** Select Operadora/Servico/Preço e Operadora na opcao Portal do Assinante *********/

/******** Exclusivos do portalAssinante *********/
#portalAssinante input {
  padding: 8px;
}
#portalAssinante .portalUnico {
  padding: 10px 0 0 0;
  margin: 10px 0;
  border-radius: 3px;
}
/******** Exclusivos do portalAssinante *********/



/******** Botoes servicos ********/
.funkyradio div {
  clear: both;
  overflow: hidden;
}

.funkyradio label {
  width: 100%;
  border-radius: 3px;
  border: 1px solid #D1D3D4;
  font-weight: bold;
}

.funkyradio input[type="radio"]:empty,
.funkyradio input[type="checkbox"]:empty {
  display: none;
}

.funkyradio input[type="radio"]:empty~label,
.funkyradio input[type="checkbox"]:empty~label {
  position: relative;
  line-height: 2.5em;
  text-indent: 3.25em;
  margin-top: 2em;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #777;
}

.funkyradio input[type="radio"]:empty~label:before,
.funkyradio input[type="checkbox"]:empty~label:before {
  position: absolute;
  display: block;
  top: 0;
  bottom: 0;
  left: 0;
  content: '';
  width: 2.5em;
  background: #D1D3D4;
  border-radius: 3px 0 0 3px;
}

.funkyradio input[type="radio"]:checked~label,
.funkyradio input[type="checkbox"]:checked~label {
  color: #000;
}

.funkyradio input[type="radio"]:hover:not(:checked)~label,
.funkyradio input[type="checkbox"]:hover:not(:checked)~label {
  color: #444;
}

.funkyradio input[type="radio"]:hover:not(:checked)~label:before,
.funkyradio input[type="checkbox"]:hover:not(:checked)~label:before {
  content: '\2714';
  text-indent: 0;
  color: #000e9131;
}


/* Evitar confusao do usuario com o hover no celular */
@media only screen and (max-width:769px) {
  .funkyradio input[type="radio"]:hover:not(:checked)~label:before,
  .funkyradio input[type="checkbox"]:hover:not(:checked)~label:before {
    content: '';
  }

  .funkyradio input[type="radio"]:hover:not(:checked)~label,
  .funkyradio input[type="checkbox"]:hover:not(:checked)~label {
    color: inherit;
  }
}

/* Checkbox selecionado */

.funkyradio input[type="radio"]:checked~label:before,
.funkyradio input[type="checkbox"]:checked~label:before {
  content: '\2714';
  text-indent: 0;
  color: #333;
  background-color: #ccc;
}

.funkyradio input[type="radio"]:focus~label:before,
.funkyradio input[type="checkbox"]:focus~label:before {
  box-shadow: 0 0 0 3px #999;
}

.funkyradio-azul1 input[type="radio"]:checked~label:before,
.funkyradio-azul1 input[type="checkbox"]:checked~label:before {
  color: #fff;
  background-color: #1f88e6;
}

.funkyradio-azul2 input[type="radio"]:checked~label:before,
.funkyradio-azul2 input[type="checkbox"]:checked~label:before {
  color: #fff;
  background-color: #1b9fda;
}

.funkyradio-verde1 input[type="radio"]:checked~label:before,
.funkyradio-verde1 input[type="checkbox"]:checked~label:before {
  color: #fff;
  background-color: #16beca;
}

.funkyradio-verde2 input[type="radio"]:checked~label:before,
.funkyradio-verde2 input[type="checkbox"]:checked~label:before {
  color: #fff;
  background-color: #00dbac;
}

.funkyradio-amarelo1   input[type="radio"]:checked~label:before,
.funkyradio-amarelo1 input[type="checkbox"]:checked~label:before {
  color: #fff;
  background-color: #ffbf00;
}
.funkyradio-amarelo2 input[type="radio"]:checked~label:before,
.funkyradio-amarelo2 input[type="checkbox"]:checked~label:before {
  color: #fff;
  background-color: #fceb00;
}
/******** Botoes servicos ********/


/******** Anexos ********/
.excluir {
  height: 2em;
  width: 2em;
  border-radius: 100%;
  background-color: #ce3737;
  backface-visibility: hidden;
  transform: scale(0.92);
  margin: 3px;
}
.excluir::before {
content: "x";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
font-size: 16px;
font-weight: 600;
}
.excluir:hover {
transform: scale(1);
box-shadow: 0 0 0 2px white, 0 0 0 3px #fd8686;
}
.custom-file { 
  -webkit-flex: 1; /* Safari 6.1+ */
  -ms-flex: 1; /* IE 10 */
  flex: 1;
}
/******** Anexos ********/




/******** Celular ********/
.legendaRange {
  margin: -12px -42px 0;
  padding: 0px 20px;
  list-style: none;
}

.legendaRange li {
  position: relative;
  float: left;
  width: 90.25px;
  text-align: center;
  color: #b2b2b2;
  font-size: 14px;
  cursor: pointer;
  display: inline;
}

/* Pontos na escala */
.legendaRange li::before {
  position: absolute;
  top: -25px;
  right: 0;
  left: 0;
  content: "";
  margin: 0 auto;
  width: 9px;
  height: 9px;
  background: #b2b2b2;
  border-radius: 50%;
  z-index: -1;
}


.legendaRange li .pontoAtivo {
  color: #37adbf;
}
  
.legendaRange li .pontoSelecionado::before {
  background: #37adbf;
}
  
.legendaRange li .pontoAtivo .pontoSelecionado::before {
  display: none;
}
/******** Celular ********/

/*headings*/

.fs-title {
  font-size: 15px;
  text-transform: uppercase;
  color: #2C3E50;
  margin-bottom: 10px;
}

.fs-subtitle {
  font-weight: normal;
  font-size: 13px;
  color: #666;
  margin-bottom: 20px;
}

.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  /* Set the fixed height of the footer here */
  height: 60px;
  line-height: 60px;
  /* Vertically center the text there */
  background-color: #f5f5f5;
}

/* Para controlar a exibição das mensagens de erros e dos fieldsets que dependem dos anteriores */

.erro,
.erro-outro,
.erro-envio,
.erro-tamanho,
.erro-tipo,
.erro-existe {
  color: red;
  display: none;
  margin: 0 0 20px;
  font-weight: 400;
  font-size: 15px;
}

.outro{
  display: none;
}

#celular-inicial,
#internet-inicial,
#tv-inicial,
#telefone-inicial {
  display: none;
}

/* Controlar a exibição do template */
body > select,
body > div.selecaoServico,
body > div.umaLinhaTelefonica,
body > div.contratoUnico,
body > div.portalUnico{
  display: none !important;
}

#inicioForm .selecaoServico{
  display: inline-flex;
}

/* .input-group {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-align: stretch;
	align-items: stretch;
	width: 100%;
}
*, ::after, ::before {
	box-sizing: border-box;
}
.input-group-append, .input-group-prepend {
	display: -ms-flexbox;
	display: flex;
}
.input-group-prepend {
	margin-right: -1px;
}
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group > .input-group-append:last-child > .input-group-text:not(:last-child), .input-group > .input-group-append:not(:last-child) > .btn, .input-group > .input-group-append:not(:last-child) > .input-group-text, .input-group > .input-group-prepend > .btn, .input-group > .input-group-prepend > .input-group-text {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
.input-group-text {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	padding: .375rem .75rem;
	margin-bottom: 0;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #495057;
	text-align: center;
	white-space: nowrap;
	background-color: #e9ecef;
	border: 1px solid #ced4da;
	border-radius: .25rem;
}
button, input {
	overflow: visible;
}
.form-control {
	display: block;
	width: 100%;
	height: calc(2.25rem + 2px);
	padding: .375rem .75rem;
	font-size: 1rem;
	line-height: 1.5;
	color: #495057;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	border-radius: .25rem;
	transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.form-control::placeholder {
	color: #6c757d;
	opacity: 1;
} */
