/*****
* FONTES
*****/
@import url('https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700');
/*****
* HELPERS
*****/
*,
body {
    font-family: 'Roboto', sans-serif !important;
}
h1, h2, h3, h4, h5, h6,
p, span, li, address, button, a, 
strong, u, i {
    color: #575755;
    font-family: 'Roboto', sans-serif !important;
}
a {
    text-decoration: none;
    transition: .2s ease-in-out;
}
a:hover {
    opacity: .8;
    transition: .2s ease-in-out;
    text-decoration: underline;
}
p {
    line-height: 25px;
}
li {
    list-style: none;
    line-height: 25px;
}
strong {
    font-weight: 500; 
}
.relative {
    position: relative;
}
.m--auto {
    margin: auto;
}

.m--14-a {
    margin: 14px auto;
}
.m--50-0 {
    margin: 50px 0;
}
.m--50-0-20 {
    margin: 50px 0 20px;
}
.mb--30-10-20 {
    margin: 30px 10px 20px;
}
.mb--20 {
    margin-bottom: 20px;
}
.mb--30 {
    margin-bottom: 30px;
}
.mt--50 {
    margin-top: 50px;
}
.mtn--80 {
    margin-top: -80px;
}
.p--0 {
    padding: 0;
}
.p--40 {
    padding: 40px;
}
.p--15-25 {
    padding: 15px 25px;
}
.p--25-0 {
    padding: 25px 0;
}
.p--45-0-65 {
    padding: 45px 0 65px;
}
.p--55-0-45 {
    padding: 55px 0 45px;
}
.pt--0 {
    padding-top: 0;
}
.pt--75 {
    padding-top: 70px;
}
.pb--120 {
    padding-bottom: 120px;
}
.pb--50 {
    padding-bottom: 50px;
}
.pl--20{
    padding-left: 20px;
}
.container--medium {
    max-width: 998px;
}
.width--full {
    width: 100%
}
/*****
* DISPLAY / ALIGN
*****/
.inline--block {
    display: inline-block;
}
.box-vertical--left {
    position: absolute;
    top: 25%;
    transform: translate(0, -50%);
}
.display--block {
    display: block;
}
/*****
* FONTS
*****/
.thin {
    font-weight: 100;
}
.light {
    font-weight: 300;
}
.regular {
    font-weight: 400;
}
.medium {
    font-weight: 500;
}
/*****
* SIZES TEXT
*****/
.size-10 {
    font-size: 10px;
}
.size-12 {
    font-size: 12px;
}
.size-14 {
    font-size: 14px;
}
.size-16 {
    font-size: 16px;
}
.size-18 {
    font-size: 18px;
}
.size-20 {
    font-size: 20px;
}
.size-22 {
    font-size: 22px;
}
.size-23 {
    font-size: 23px;
}
.size-24 {
    font-size: 24px;
}
.size-33 {
    font-size: 33px;
}
.size-48 {
    font-size: 48px;
}
.size-60 {
    font-size: 60px;
}
/*****
* COLORS
******/
.txt-bl{
    color: #a5baca;
}
.txt--darkBlue {
    color: #26478d;
}
.txt--lightBlue {
    color: #406eb3;
}
.txt--violet {
    color:#632678;
}
.txt--purple {
    color:#982881;
}
.txt--pink {
    color:#ba2f7d;
}
.txt--pinkDark {
    color: #e63888;
}
.txt--red {
    color: #bb0048;
}
.txt--orange {
    color: #e2a235;
}
.txt--yellow {
    color: #fde723;
}
.txt--green {
    color: #c8c922;
}
.txt--sapphire {
    color: #3d87af;
}
.txt--darkGrey {
    color:#575755;
}
.txt--mediumGrey {
    color:#dddddd;
}
.txt--lightGrey {
    color:#f4f4f4;
}
.txt--white {
    color:#ffffff;
}
/*****
* BACKGROUND
*****/
.bg--darkBlue {
    background-color:  #26478d;
}
.bg--blue {
    background-color: #0a4784;
}
.bg--lightBlue {
    background-color:  #406eb3;
}
.bg--violet {
    background-color: #632678;
}
.bg--purple {
    background-color: #982881;
}
.bg--pink {
    background-color: #ba2f7d;
}
.bg--red {
    background-color:  #bb0048;
}
.bg--orange {
    background-color:  #e2a235;
}
.bg--yellow {
    background-color:  #fde723;
}
.bg--green {
    background-color:  #c8c922;
}
.bg--sapphire {
    background-color:  #3d87af;
}
.bg--darkGrey {
    background-color: #575755;
}
.bg--mediumGrey {
    background-color: #dddddd;
}
.bg--lightGrey {
    background-color: #f4f4f4;
}
.bg--white {
    background-color: #ffffff;
}
.bg--Black{
    background-color: #333333;
}
/*****
* BOTÃ•ES
*****/
.bt {
    position: relative;
    display: inline-block;
    transition: .2s all ease-in-out; 
    line-height: 44px;
    border-radius: 6px;
    padding: 0px 30px;
    height: 44px;
}
.bt:hover { 
    opacity: 0.95;
    transition: .2s all ease-in-out;
}

.bt--pink {
    background-color: #ae2e92;
    color: #ffffff;
}
.bt--purple {
    background-color: #982881;
    color: #ffffff;
}
.bt--darkBlue {
    background-color: #26478d;
    color: #ffffff;
}
.bt--purple:hover,
.bt--pink:hover,
.bt--darkBlue:hover {
    color: #ffffff;
}

.bt--outline {
   background-color: #ffffff;
   color: #26478d;
   border: 1px solid #26478d;
}
/* seta do botÃ£o */
.arrow--right {
    padding: 0 42px 0 30px
}
.bt:hover.arrow--right:after {
    right: 20px;
    transition: .2s all ease-in-out;
}

.bt--pink.arrow--right:after,
.bt--purple.arrow--right:after,
.bt--darkBlue.arrow--right:after {
    position: absolute;
    top: 0;
    right: 25px;
    bottom: 0;
    width: 8px;
    height: 8px;
    margin: auto;
    border: solid #FFF;
    border-width: 0 1px 1px 0;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    transition: .2s all ease-in-out;
    content: '';
}
.bt--outline.arrow--right:after {
    position: absolute;
    top: 0;
    right: 25px;
    bottom: 0;
    width: 8px;
    height: 8px;
    margin: auto;
    border: solid #26478d;
    border-width: 0 1px 1px 0;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    transition: .2s all ease-in-out;
    content: '';
}

/****
* ICONES
****/
.icon {
    position: relative;
    vertical-align: middle;
}
.icon:before {
    display: block;
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: initial;
    content: '';
}
/*****
* LIST STYLE
*****/
.list {
    padding: 0;
}
.list--bullet{
    position: relative;
    padding-left: 25px;
}
.list--bullet:before {
    position: absolute;
    top: 12px;
    left: 3px;
    width: 4px;
    height: 4px;
    background-color: #575755;
    border-radius: 100%;
    content: '';
}
.list--arrow-right {
    position: relative;
    padding-left: 25px;
}
.list--arrow-right:before {
    position: absolute;
    top: 0;
    left: 0px;
    bottom: 0;
    width: 8px;
    height: 8px;
    margin: auto;
    border: solid #982881;
    border-width: 0 1px 1px 0;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    transition: .2s all ease-in-out;
    content: '';
}
/*****
* FORMULÃRIOS
*****/
.box-form{
    overflow: hidden;
}
.btn2{
    width: 100%;
}
.form-control {
    height: 44px;
    font-family: 'Roboto';
    font-weight: 400;
}
.form-control.error {
    border-color: #fc1008;
    outline: 0;
    -webkit-box-shadow: 0px 0px 1px 0px rgba(252,16,8,1);
    -moz-box-shadow: 0px 0px 1px 0px rgba(252,16,8,1);
    box-shadow: 0px 0px 1px 0px rgba(252,16,8,1);
}
label.error { color: #fc1008; }

form input{
    margin: 4px 0;
}

/*****
* BORDER
*****/
.radius--5 {
    border-radius: 5px;
}
.circle {
    display: block;
    width: 35px;
    height: 35px;
    margin: 15px auto 20px auto;
    border-radius: 100%;
    border: 1px solid #ffffff;
    line-height: 1.8;
}
/*****
* HEADER
*****/
.main-header {
    position: relative;
    padding: 17px 0;
    box-shadow: 0px 3px 4px 0px rgba(170, 170, 170, 0.6);
    z-index: 1;
}
/*****
* BANNER
*****/
.main-banner {
    position: relative;
    background: url('http://elink.serasaexperian.com.br/Web/SERASASA/{842bc477-5945-454d-a04f-506d6e7a0fc4}_header.jpg');
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 259px;
}
.main-banner br {
    display: none;
}
/****
* FOOTER
****/
.line-gradient {
    background: red;
    background: -webkit-linear-gradient(left, #36448b , #7c397d);
    background: -o-linear-gradient(right, #36448b, #7c397d);
    background: -moz-linear-gradient(right, #36448b, #7c397d);
    background: linear-gradient(to right, #36448b , #7c397d);
    height: 2px;
}
.main-footer address {
    font-weight: 400;
}
.main-footer .address-information {
    font-size: 12px;
    margin: 23px 0 40px;
    color: #575757;
}

.flex{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.flex-around{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 35px;
}

.flex img{
    margin-bottom: 20px;
}

/*****
* MODULOS
*****/

/****
* RESPONSIVE
****/
@media(min-width: 768px) {
    /****
    * DISPLAY / ALIGN
    ****/
    .box-vertical--left {
        position: absolute;
        top: 50%;
        transform: translate(15px, -50%);
    }
    
    /****
    * BANNER
    ****/
    .main-banner {
        position: relative;
        background: url('http://elink.serasaexperian.com.br/Web/SERASASA/{842bc477-5945-454d-a04f-506d6e7a0fc4}_header.jpg');
        background-position: top left;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .main-banner br {
        display: block;
    }
}

@media( min-width: 992px) {
    .main-banner {
        min-height: 259px;
    }

    .box-vertical--right {
        position: absolute;
        top: 50%;
        right: 0;
        transform: translate(15px, -50%);
    }
}

@media (max-width: 678px){
    .main-banner{
        background-position: 15%;
    }

    .flex{
        flex-direction: column;
        align-items: flex-start;
    }

    .redes-sociais{
        float: none!important;
    }

}

@media (min-width: 768px) and (max-width: 991px){
    .main-banner {
        min-height: 259px;
    }
}

@media (min-width: 999px) and (max-width: 1199px) {
    .size-18 {
        font-size: 1em;
    }
    .main-footer .address-information,
    .size-20,
    .size-16 {
        font-size: 1.1em;
    }
    .size-24,
    .size-23 {
        font-size: 1.6em;
    }
    .size-33 {
        font-size: 1.7em;
    }
    .size-40 {
        font-size: 2.2em;
    }
    .size-48,
    .size-60 {
        font-size: 3em;
    }

    .p--45 {
        padding: 15px 45px;
    }
}

@media screen and (max-width: 998px) {
    .main-footer .address-information,
    .size-20,
    .size-18,
    .size-16 {
        font-size: 1em;
    }
    .size-24,
    .size-23 {
        font-size: 1.5em;
    }
    .size-48,
    .size-33 {
        font-size: 1.7em;
    }
    .size-60 {
        font-size: 2.7em;
    }
    .block {
        display: block;
    }
    .main-footer address {
        text-align: center;
    }
    .b-form{
        margin-top: 0px;
    }
}
