/*  CSS Reset by Reinaldo J. Nunes
    reinaldo.nunes2@gmail.com
    Lovatel Agência Digital - 2019    
    
    CLEARING FORMATTINGS AND TYPING
*/
* {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;

    text-decoration: none;
    outline: 0;

    list-style: none;
}

/* --- SETTING HTML5 TAGS -- */
article,
aside,
address,
blockquote,
button,
code,
colgroup,
details,
figcaption,
figure,
footer,
fieldset,
header,
hgroup,
i,
label,
legend,
map,
menu,
nav,
object,
section,
source {
    display: block;
}

/* Formatting page */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
}

select,
button,
input,
textarea {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ie-appearance: none;
}

/**********  ANOTHER ELEMENTS *********/
a,
button {
    transition-duration: 0.2s;
    -webkit-transition-duration: 0.2s;
    -moz-transition-duration: 0.2s;
}

/********** ALIGNS **********/
.left {
    float: left;
}

.right {
    float: right;
}

.t-center {
    text-align: center;
}

.t-right {
    text-align: right;
}

/********** BACKGROUNDS, TEXTURES AND CONTAINERS **********/
html {
    background: #fff;
}

body {
    background: #fff;
}

.container {
    width: 100%;
    display: flex;
    height: auto;
}

.main {
    margin: 0 auto;
    display: inherit;
    width: 100%;
    max-width: 1800px;
    /* EM or % */
    padding-left: 20px;
    padding-right: 20px;
    height: auto;
}

/* GRIDs SITE */
.grid,
.grid2,
.grid3,
.grid4,
.grid5 {
    display: grid;
    grid-auto-rows: minmax(auto, 100%);
    grid-gap: 20px;
}

.grid2 {
    grid-template-columns: repeat(2, 1fr);
}

.grid3 {
    grid-template-columns: repeat(3, 1fr);
}

.grid4 {
    grid-template-columns: repeat(4, 1fr);
}

.grid5 {
    grid-template-columns: repeat(5, 1fr);
}

.flex,
.flex_w,
.flex_c,
.flex_r {
    display: flex;
}

.flex_w {
    flex-wrap: wrap;
}

.flex_r {
    justify-content: space-between;
}

.flex_c {
    flex-direction: column;
}

/*********** FORMS **********/
form {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.input {
    width: 100%;
    background: #fff;
    padding: 15px 20px;
    display: table;
    margin-bottom: 5px;
    border-radius: 3px;
    border: 1px solid #ddd;
}

.e_input {
    width: 49.5%;
}

.three_input {
    width: 33%;
}

.b_input {
    width: 70%;
}

.s_input {
    width: 29%;
}

.msg {
    min-height: 110px;
    resize: none;
}

.btn {
    padding: 15px 20px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    border-radius: 2px;
    border: 0px;
    cursor: pointer;
}

.btn-right {
    margin-left: 70%;
    width: 30%;
}

/*********** PAGINATION  ************/
.wrap_page {
    width: 100%;
    margin-top: 15px;
    display: inline-table;
    height: auto;
}

.pagination {
    display: table;
    margin: 0 auto;
    height: auto;
    width: auto;
    margin-bottom: 15px;
}

.pagination li {
    float: left;
    font-size: 14px;
    display: table;
    margin: 0px 2px;
}

.pagination li a {
    color: #777;
    float: left;
    height: auto;
    width: auto;
    text-align: center;
    display: block;
    text-decoration: none;
    border-radius: 2px;
    font-weight: bold;
    padding: 10px 15px;
    background: #fff;
    border: 1px solid #e5e5e5;

    transition-duration: 0.2s;
    -webkit-transition-duration: 0.2s;
    -moz-transition-duration: 0.2s;
}

.pagination li a:hover,
.pagination li.current a {
    background: #aaa;
    color: #fff;
}

/* Termos de privacidade de formulário padrão */
.privacyTerms {
    width: 50%;
    margin-top: 5px;
}

.privacyTerms p {
    color: #444;
    font-size: 11px;
    margin-bottom: 0;
}

.privacyTerms a {
    text-decoration: underline;
    font-weight: bold;
    color: #444;
}

.privacyTerms input {
    outline: none !important;
    background: none;
    border-radius: 0;
    box-shadow: 0 !important;
    -webkit-appearance: checkbox !important;
    width: 20px;
    height: 20px;
    appearance: initial;
    margin-right: 10px;
}