fieldset { border: 0; }

.formulario h2, .formulario label {font-family: "Trebuchet MS", Georgia, Times, "Times New Roman", serif;}

::-webkit-validation-bubble-message { padding: 1em; }

body, input, select, textarea, button, file {
    font-family: sans-serif;
    font-size: 14px;
    border-radius:10px 10px 10px 10px;
	 -moz-border-radius:10px 10px 10px 10px;
    -webkit-border-radius:10px 10px 10px 10px;
    -moz-transition: padding .25s; 
    -webkit-transition: padding .25s; 
    -o-transition: padding .25s;
    transition: padding .25s;
}

.grupo:before, .grupo:after {
    content: " ";
    display: table;
}

.grupo:after { clear: both; }

.campo { margin-bottom: 1em; }

.campo label {
    margin-bottom: 0.2em;
    padding-left: 4px;
    font-size: 11px;
    color: #999;
    display: block;
    text-align: left;
}

fieldset.grupo .campo {
    float:  left;
}

.campo input[type="text"],
.campo input[type="password"],
.campo input[type="email"],
.campo input[type="url"],
.campo input[type="tel"],
.campo select,
.campo textarea {
    padding: 0.1em;
    padding-left: 10px;
    padding-right: 10px;
    border: 1px solid #CCC;
    box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
    display: block;
}

.campo select option { padding-right: 1em; }

/*input[type=text]:focus { width: 250px; */}

.campo input:focus, .campo select:focus, .campo textarea:focus { 
   background: #DFF7DF; 
   -moz-transition: padding .25s; 
   -webkit-transition: padding .25s; 
   -o-transition: padding .25s;
   transition: padding .25s;
}

input:required, textarea:required, textarea:required {
    background: #fff url(/img/asterisco.png) no-repeat 98% center;
}
   
.formulario input:focus:invalid, .formulario textarea:focus:invalid { /* when a field is considered invalid by the browser */
    background: #fff url(/img/invalid.png) no-repeat 98% center;
    box-shadow: 0 0 5px #d45252;
    border-color: #b03535;
}

.formulario input:required:valid, .contact_form textarea:required:valid { /* when a field is considered valid by the browser */
    background: #fff url(/img/valid.png) no-repeat 98% center;
    box-shadow: 0 0 5px #5cd053;
    border-color: #28921f;
}

.campo label.checkbox {
    color: #000;
    display: inline-block;
    margin-right: 1em;
}

.botoes { text-align: center; }

.botao {
    font-size: 1em;
    background: linear-gradient(to bottom, #6db3f2 -50%, #1e69de 100%) repeat scroll 0% 0% transparent;
    border: 1;
    margin-bottom: 1em;
    margin-right: 50px;
    color: #FFF;
    padding: 5px 30px;
    box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
    text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
}

.botao:hover {
    background: linear-gradient(to bottom, #1e69de -50%, #6db3f2 100%) repeat scroll 0% 0% transparent;
    box-shadow: inset 2px 2px 2px rgba(0,0,0,0.2);
    text-shadow: none;
}

.botao2 {
    font-size: 13px;
    background: linear-gradient(to bottom, #6db3f2 -50%, #1e69de 100%) repeat scroll 0% 0% transparent;
    border: 1;
    min-width: 70px;
    padding: 4px;
    margin-bottom: 25px;
    padding-left: 10px;
    padding-right: 10px;
    color: #FFF;
    box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
    text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
    cursor: pointer;
}

.botao2:hover {
    background: linear-gradient(to bottom, #1e69de -50%, #6db3f2 100%) repeat scroll 0% 0% transparent;
    box-shadow: inset 2px 2px 2px rgba(0,0,0,0.2);
    text-shadow: none;
}

.botao3 {
    font-size: 14px;
    font-weight: bold;
    background: linear-gradient(to bottom, #6db3f2 -50%, #1e69de 100%) repeat scroll 0% 0% transparent;
    border: 1;
    height: 40px;
    min-width: 140px;
    padding: 4px;
    margin-bottom: 25px;
    padding-left: 10px;
    padding-right: 10px;
    color: #FFF;
    box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
    text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
    cursor: pointer;
}

.botao3:hover {
    background: linear-gradient(to bottom, #1e69de -50%, #6db3f2 100%) repeat scroll 0% 0% transparent;
    box-shadow: inset 2px 2px 2px rgba(0,0,0,0.2);
    text-shadow: none;
}

.botao, botao2, botao3, botao4, select, label.checkbox { cursor: pointer; }

.botao_verde { color: #000;
               background: linear-gradient(to bottom, #5cb85c -50%, #00ff80 100%) repeat scroll 0% 0% transparent;
}

.form_hint, .required_notification {
   font-size: 11px;
   text-align: center;
}

.form_hint {
    background: #d45252;
    border-radius: 3px 3px 3px 3px;
    color: white;
    margin-left:8px;
    padding: 1px 6px;
    margin-top:10px;
    z-index: 999; /* hints stay above all other elements */
    position: absolute; /* allows proper formatting if hint is two lines */
    display: none;
}

.form_hint::before {
    /* "\25c0" Triangulo para esquerda */
    /* "\25B6" Triangulo para direita */
    /* "\25B2" Triangulo para cima */
    /* "\25BC" Triangulo para baixo */
    /* "\2611" Tick */
    /* "\2612" X */
        
    content: "\25B2";
    color:#d45252;
    position: absolute;
    top:-9px;
    left:20px;
}

.formulario input:focus + .form_hint {display: inline;}
select option 
.formulario input:required:valid + .form_hint {background: #28921f; } /* change form hint color when valid */
.formulario input:required:valid + .form_hint::before {color:#28921f;} /* change form hint arrow color when valid */

.aviso {
   float: left;
   font-size: 11px;
   margin-top: -15px;
   padding: 10px;
   text_align: center;
}


.BSD { border-radius:10px 0px 0px 0px;
       -moz-border-radius:10px 0px 0px 0px;
       -webkit-border-radius:10px 0px 0px 0px;
}

.BSE { border-radius:0px 10px 0px 0px;
       -moz-border-radius:0px 10px 0px 0px;
       -webkit-border-radius:0px 10px 0px 0px;
}

.BID { border-radius:0px 0px 10px 0px;
       -moz-border-radius:0px 0px 10px 0px;
       -webkit-border-radius:0px 0px 10px 0px;
}

.BIE { border-radius:0px 0px 0px 10px;
       -moz-border-radius:0px 0px 0px 10px;
       -webkit-border-radius:0px 0px 0px 10px;
}

.BSUP { border-radius:10px 10px 0px 0px;
       -moz-border-radius:10px 10px 0px 0px;
       -webkit-border-radius:10px 10px 0px 0px;
}

.BINF { border-radius:0px 0px 10px 10px;
       -moz-border-radius:0px 0px 10px 10px;
       -webkit-border-radius:0px 0px 10px 10px;
}

/*==========================================*/
/*                 Checkbox                 */
/*==========================================*/
.checkbox {
  position: relative;
  display: block;
}

.checkbox legend {
  text-align: center;
  background: #00ff80;
}

.checkbox legend {
  width: 41px;
  height: 14px;
  background: #fe7076;
  position: relative;
  display: inline-block;
  -moz-border-radius: 46px;
  -webkit-border-radius: 46px;
  border-radius: 46px;
  -moz-transition: 0.25s;
  -o-transition: 0.25s;
  -webkit-transition: 0.25s;
  transition: 0.25s;
  box-shadow: inset 0 3px 3px rgba(0, 0, 0, 0.25);
}

.checkbox legend:after, .checkbox legend:before {
  content: '';
  text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.25);
  position: absolute;
  width: 23px;
  height: 23px;
  -moz-border-radius: 100%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  left: 0;
  top: -4px;
  background: #fff;
  -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  -moz-transition: 0.25s;
  -o-transition: 0.25s;
  -webkit-transition: 0.25s;
  transition: 0.25s;
}

.checkbox legend:before {
  content: '\f08d';
  content: '\f00d';
  font-family: FontAwesome;
  font-weight: normal;
  font-size: 15px;
  line-height: 22px;
  color: #00ff80;
  color: red;
  z-index: 1;
  overflow: hidden;
}

.checkbox input {
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  opacity: 0;
  cursor: pointer;
}

.checkbox input:not(:checked) ~ legend .indicators::before {
  color: red;
}

.checkbox input:checked ~ legend .indicators::after {
  color: #00ff33;
}

.checkbox input:not(:disabled):hover + legend:after {
  -moz-box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.2), 0 3px 8px 0 rgba(0, 0, 0, 0.15);
  -webkit-box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.2), 0 3px 8px 0 rgba(0, 0, 0, 0.15);
  box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.2), 0 3px 8px 0 rgba(0, 0, 0, 0.15);
}

.checkbox input:checked + legend {
  background: #008040;
}

.checkbox input:checked + legend:after, .checkbox input:checked + legend:before {
  content: "\f00c";
  background: #00ff80;
  color: #fff;
  left: 20px;
}

.checkbox input:checked + legend:before {
  -moz-animation: 0.25s pin-on forwards;
  -webkit-animation: 0.25s pin-on forwards;
  animation: 0.25s pin-on forwards;
}

.indicators {
  text-transform: uppercase;
  font-weight: bold;
}

.indicators::before, .indicators::after {
  position: absolute;
  line-height: 16px;
  cursor: pointer;
}

.indicators::before {
  left: -32px;
  text-align: right;
  content: attr(data-label-off);
}

.indicators::after {
  right: -25px;
  text-align: left;
  content: attr(data-label-on);
}

.checkbox label {
    margin-bottom: 0.2em;
    margin-left: -35px;
    padding-left: 4px;
    padding-bottom: 4px;
    font-size: 11px;
    color: #666;
    display: block;
}

.chekbox label.checkbox {
    color: #000;
    display: inline-block;
    margin-right: 1em;
}

.BotaoBase {
    font-family: sans-serif;
    font-size: 14px;
    border-radius:10px 10px 10px 10px;
	 -moz-border-radius:10px 10px 10px 10px;
    -webkit-border-radius:10px 10px 10px 10px;
    -moz-transition: padding .25s; 
    -webkit-transition: padding .25s; 
    -o-transition: padding .25s;
    transition: padding .25s;
    border: 1px solid #000;
    box-shadow: 4px 4px 4px rgba(0,0,0,0.4);
}
