@import url(http://fonts.googleapis.com/css?family=Open+Sans:300,400,700);

body {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  background: #ffffff;
  color: #000;
  padding-top: 20px;
}


/**
*   ESTILOS DO PANEL E FORMULÁRIO
*/

.panel {
  background-color: #fafafa;
  width: 760px;
  margin: 10px auto;
  font-size: 100%;
  box-shadow: 0 0 2rem 0 #8b8b8b;
}

.pan-header {
  margin-top: 0;
  margin-bottom: 0;
  background: #0c649d;
  padding: 10px;
  font-size: 150%;
  text-align: center;
  color: #fafafa;
  font-weight: 400;
}

.frmcalc {
  width: 720px;
  margin: 0 auto;
  padding-bottom: 1px;
}


/**
*   ESTILOS DO GROUPBOX
*/

.grpbox {
  background-color: #fafafa;
  border: 1px dotted #888a8c;
  padding: 20px 15px;
  position: relative;
  margin-bottom: 30px;
}

.grpbox h1 {
  background-color: #fafafa;
  color: #0c649d;  
  display: inline-block;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  margin: 0;
  position: absolute;
  text-transform: uppercase;
  left: 10px;
  top: -10px;
  padding: 0 10px;
}


/**
*   ESTILOS DOS LABELS
*/

label {
  display: inline-block; 
  color: #213e5b;
  font-size: 14px;
}

.lab-info {
  color: #40678a;
  display: block;
  font-weight: 300;
  font-size: 18px;
  line-height: 1.2;
  margin-bottom: 20px;
  margin-top: 10px;  
  text-align: center;  
}

.lab-id {
  width: 100px;
}

.lab-ns {
  text-align: right;
  width: 196px;
  margin-right: 10px;
}

.lab-rad {
  height: 18px;
  width: 180px;
  /*vertical-align: text-top;*/
  line-height: 32px;
}

.lab-ate {
  text-align: center;
  width: 40px;
}

.lab-cod {
  text-align: right;
  width: 177px;
  margin-right: 10px;
}



/**
*   ESTILOS DOS EDITS
*/

input[type='text'], input[type='password'] {
  box-sizing: border-box;
  background: #ffffff;
  border-width: 1px;
  border-style: solid;
  border-color: #b0b0b0;
  color: #202020;
  padding: 5px;
  outline: 0;
  font-size: 16px; 
}

input[type='text']:focus, input[type='password']:focus {
  border-color: #688cb6;
  box-shadow: 0 0 0.5rem 0.05rem #4d90fe;
}

.edt-id {
  width: 120px;  
}

.edt-ns {
  width: 249px;  
  text-transform: uppercase;  
}

.edt-data {
  width: 100px;    
}

.edt-data[disabled] {
  background-color: #f0f0f0;
  color: #c0c0c0;
}

.edt-max {
  width: 100px;    
}

.edt-max[disabled] {
  background-color: #f0f0f0;
  color: #c0c0c0;
}

.edt-cod {
  width: 249px;  
  text-transform: uppercase;  
  font-weight: bold;
}




/**
*   ESTILOS DOS RADIO BUTTONS
*/

input[type='radio'] {
  display: none;
  cursor: pointer;
}

input[type='radio'] + label {
  cursor: pointer;
  display: inline-block;
  position: relative;
  padding-left: 25px;
  margin-right: 10px;
  color: #213e5b;
  line-height: 16px;
}

input[type='radio'] + label:before, input[type='radio'] + label:after {
  content: '';
  font-family: helvetica;
  display: inline-block;
  width: 20px;
  height: 20px;
  left: 0;
  bottom: 0;
  text-align: center;
  position: absolute;
}

input[type='radio'] + label:before {
  background-color: #e0e0e0;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

input[type='radio']:checked + label:before {
  -moz-box-shadow: inset 0 0 0 10px #31b990; /*#158EC6;*/
  -webkit-box-shadow: inset 0 0 0 10px #31b990;
  box-shadow: inset 0 0 0 10px #31b990;
}

input[type='radio'] + label:before {
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}

input[type='radio'] + label:hover:after, input[type='radio']:checked + label:after {
  content: '\2022'; 
  position: absolute;
  top: 1px;
  font-size: 25px;
  line-height: 15px;
}

input[type='radio'] + label:hover {
  color: black;
}
  
input[type='radio'] + label:hover:after {
  color: #31b990;
}

input[type='radio']:checked + label:after, input[type='radio']:checked + label:hover:after {
  color: #fff;
}



/**
*   ESTILOS DO BOTÃO
*/

.btn-gerar {
  box-sizing: border-box;
  display: inline-block;
  width: 243px;
  height: 40px;
  border-width: 1px;
  border-style: solid;
  padding: 10px;
  outline: 0;
  font-size: 120%;
  background: #31b990;
  border-color: transparent;
  color: #ffffff;
  cursor: pointer;
  border-radius: 4px;
  /* margin: auto; */ /* para centralizar o botão use isso */
}

.btn-gerar:hover {
  background: #258b6c;
  border-color: #1c6851;
}

.btn-gerar:focus {
  border-color: #1c6851;
}

.btn-gerar:active {
  transition: all 60ms ease;
  transform: scale(.97);
}



/**
*   ESTILOS DOS ALERTAS
*/

.msg-box {
  padding: 10px;
  background-color: #f44336;
  color: white;
  margin-bottom: 30px;
  display: none;
  border-radius: 4px;
}

.msg-txt {
  cursor: pointer;
}

.msg-btn {
  margin-left: 15px;
  color: white;
  font-weight: bold;
  float: right;
  font-size: 22px;
  line-height: 20px;
  cursor: pointer;
  transition: 0.3s;
}

.msg-btn:hover {
  color: black;
}
