.body {
    color: #333;
    font-family: "Open Sans", sans-serif;

    display: flex;
    flex-direction: column;
    justify-content: space-around;
    max-width: 900px;
}

table{
    border-collapse: collapse;
    border-spacing: 0;
}

.form {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.form .data-field {
    width: 100%;
    min-height: 3em;
    margin-top: 10px;
    

    display: flex;
    flex-direction: column;
    align-items: center;
}

.field-label{
    color: black;
    font-weight: 700;
    padding-bottom: 5px;
}


.form .data-field.invalid input {
    border-color: red;
}
.form .field-validation {
    display: none;
    color: red;
    cursor: default;
}
.form .data-field.invalid .field-validation {
    display: initial;
}
.form .validation-message {
    color: red;
    font-family: monospace;
}
.form .input {
    background-color: #EFEFEF;
    border-color: #ACAAAC;
    border-style: solid;
    border-width: 1px;
    min-height: 50px;
    border-radius: 5px;
    font-size: 17px;
    padding: 10px 13px;
}

.form .submit-btn {
    width: 73px;
    height: 48px;
    font-size: .4em;
    background-color: white;
    cursor: pointer;
    border-radius: 5px;
    border-style: none;
    border: 1px #0c326f solid;
    margin-top: auto;
    align-self: center;
    transition: 350ms;
}

.form .submit-btn::after{
    content: "";
    width: 15px;
    height: 15px;
    border: 4px solid #0c326f;
    border-top: none;
    border-left: none;
    position: absolute;
    transform: rotate(-45deg) translateY(-122%) translateX(-51%);
    transform-origin: center;
    border-radius: 2px;
    box-sizing: inherit;
}

.form .submit-btn::before{
    content: "";
    width: 15px;
    height: 15px;
    border: 4px solid #0c326f;
    border-top: none;
    border-left: none;
    position: absolute;
    transform: rotate(-45deg) translateY(-39%) translateX(30%);
    transform-origin: center;
    border-radius: 2px;
    box-sizing: inherit;
}

.form .submit-btn:hover{
   background-color: #0c326f;
}

.form .submit-btn:hover::before, .form .submit-btn:hover::after{
border: 5px solid white;
border-top: none;
border-left: none;
}


.result-field {
    color: navy;
    background-color: #E5F4DE;
    border: none;
    margin-top: 17px;
}
.result-field.empty {
    display: none;
}

.resposta-calc-ipca, .resposta-calc-ipca>tbody>tr>td{
    border: none;
    vertical-align: middle;
    padding: 0;
}

table.resposta-calc-ipca{
    width: 100%;
    margin: 0;
    background: #ccc;
    border: none;
    table-layout: fixed;
}

.resposta-calc-value{
    /* border-bottom: 1px solid #35A900; */
}

.resposta-calc-value>td{
    padding: 35px;
}

.resposta-calc-context>td{
    text-align: center;
    padding: 16px;
}

.resposta-calc-context>td>p{
    color: black;
    min-height: 46px;
    margin: 0;
    text-align: center;
    background: #f8f8f8 ;
    border: 1px solid #268744;
    border-top: none;
    border-radius: 0 0 5px 5px;
    padding: 11px;
}

p.valorReais{
    color: #268744;
    font-size: 35px;
    font-weight: 700;
    text-align: center;
    background-color: #ffffff ;
    height: 90px;
    margin: 0;
    border-radius: 5px 5px 0 0;
    padding-top: 11px;
    border: 1px solid;
}

p.valorReais small{
    color: #268744;
    font-size: 15px;
    font-weight: 700;
    display:block;
    margin-bottom: 5px;
}

.valorReais>p{
    display: inline-block;
}

.ipca-calc-form
{
    width: 100%;
}

.resposta-calc-context>td>p>span{
    font-weight: 700;
}

.description p {
    padding-bottom: 4px;
    margin: 10px 0 -1px;
    width: 100%;
    color: #505051;
    font-size: 12px;
}

.methodology .methodology-text {
    font-size: 12px;
    display: none;
    padding: 8px 10px 0 
}

.methodology .methodology-text p{
    font-size: 12px;
    line-height: 19px ;  
}

.methodology.on, .methodology.on .methodology-text {
    display: block;
}

.methodology-btn {
    position: relative;
    cursor: pointer;
    width: 100%;
    border: none;
    text-align: left;
    outline: 0;
    transition: .4s;
    border-bottom: 1px solid #e4e4e6;
    padding: 2px 15px;
    margin-bottom: 0;
    color: #333;
    font-weight: 400;
    padding-left: 25px;
    padding-bottom: 15px;
    margin-top: 20px;
    font-size: 1.2em;
}

.methodology-btn:before {
    content: "";
    top: 9px;
    left: 8px;
    width: 5px;
    height: 5px;
    border: 2px solid #1351B4;
    border-top: none;
    border-left: none;
    transform: rotate(-45deg);
    transform-origin: center;
    transition: transform 350ms;
    position: absolute;
    cursor: pointer;
}

.methodology.on .methodology-btn:before {
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(45deg);
    top: 10px;
}

/******************
* ESTILOS DESKTOP *
*******************/

@media (min-width: 720px) {
    /* .body {
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        align-items: center;
    } */
    
    .form {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
    }
    
    .form .data-field {
        width: 28%;
        min-height: 5em;
        align-items: flex-start;
        margin: 0;
    }

    .form .data-field:last-child {
        width: auto;
        min-height: 5em;
        align-items: flex-start;
        margin:0;
    }

    
}
@media (max-width: 420px){

    body{
        margin: 0 15px 0;
    }

    .form .submit-btn{

        width: 100%;
    }
}