*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Roboto', sans-serif;
}

/** Boot CSS **/
.center{
    max-width: 1280px;
    padding: 0 2%;
    margin: 0 auto;
}

.w33{
    width: 33.3%;
    padding: 0 10px;
}
.w50{
    padding: 0 2%;
    width: 50%;
}

.left{
    float: left;
}

.right{
    float: right;
}

.clear{
    clear: both;
}

/** Estilização do site **/

.sucesso{
    display: none;
    z-index: 999;
    position: fixed;
    right: 20px;
    top: 70px;
    padding: 15px 2%;
    width: 300px;
    color: #1c4f2e;
    background: #1ac958;
    font-size: 16px;
    font-weight: bold;
    /*border: 2px solid #1c4f2e;*/
}
.erro{
    display: none;
    z-index: 999;
    position: fixed;
    right: 20px;
    top: 60px;
    padding: 15px 2%;
    width: 300px;
    color: #9e1616; 
    background: #f00a0a;
    font-size: 16px;
    font-weight: bold;
    /*border: 2px solid #f22222;*/
}

.overlay-loading{
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 999;
    background: rgba(0,0,0,0.4);
}
.overlay-loading img{
    width: 48px;
    height: 48px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}

img{
    width: 100%;
    height: 500px;
    max-width: 400px;
}

.text-center{
    text-align: center;
}

header{
    padding: 20px 0;
    background: #0B0829;
}

header .logo{
    font-size: 22px;
    font-weight: 300;
}
.logo a{
    text-decoration: none;
    color: white;
}

.mobile{
    display: none;
}

nav.desktop ul{
    position: relative;
    top: 6px;
    text-transform: uppercase;
    list-style-type: none;
}
nav.desktop li{
    font-weight: 300;
    font-size: 15px;
    padding: 0 30px;
    display: inline-block;
}
nav.desktop a{
    transition: 1s;
    color: white;
    text-decoration: none;
}
nav.desktop a:hover{
    color: #c8c8cc;
    text-decoration: none; 
}

section.banner-container{
    width: 100%;
    height: 600px;
    position: relative;
}

.banner-single{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 1;
    height: 100%;
    background-size: cover;
    background-position: center;
}

.overlay{
    z-index: 1;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background-color: rgba(0,0,0,0.5);
}

section.banner-container form{
    z-index: 3;
    width: 93%;
    max-width: 600px;
    z-index: 2;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    -transform: translate(-50%,-50%);
}

section.banner-container form h2{
    color: white;
    font-size: 40px;
    text-align: center;
    font-weight: 300;
}
section.banner-container form input[type=email]{
    width: 100%;
    height: 66px;
    margin-top: 10px;
    background: white;
    color: #333;
    font-size: 22px;
    padding-left: 10px;
    border: 0;
    border-radius: 10px;
}
section.banner-container form input[type=submit]{
    width: 100%;
    height: 66px;
    margin-top: 10px;
    background: #5E70A3;
    color: white;
    font-size: 22px;
    padding-left: 10px;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
}
section.banner-container form input[type=submit]:hover{
    background: #0B0829;
}

section.author-description{
    padding: 30px 0;
}
section.author-description h2{
    font-size: 28px;
    font-weight: 400;
    color: #444;
}
section.author-description img{
    width: 60px;
    height: 60px;
    display: inline-block;
    vertical-align: middle;
    border-radius: 50%;
}
section.author-description p{
    font-size: 15px;
    color: #444;
    margin-top: 10px;
    font-weight: 300;
}

section.specialties{
    padding: 40px 0;
    background: #ededed;
}
section.specialties h2.title{
    font-size: 30px;
    text-align: center;
    font-weight: 400;
    color: #999;
    /**border-bottom: 1px solid #504a85;**/
}
.box-specialties{
    margin: 20px 0;
    text-align: center;
}
.box-specialties h3{
    color: #0B0829;
    padding: 0 30px;
    font-size: 40px;
}
.box-specialties h4{
    color: #ccc;
    font-size: 30px;
    font-weight: 300;
    margin: 10px;
}
.box-specialties p{
    color: #444;
    font-size: 15px;
    margin-top: 10px;
}

section.extras{
    padding: 30px 0;
    background: #5E70A3;
}

.container-services,
.container-testimonial{
    padding: 0 50px;
}

section.extras .title{
    color: white;
    font-weight: 300;
    font-size: 25px;
    margin-bottom: 15px;
}
.single-testimonial{
    padding: 15px 0;
    border-bottom: 1px solid #504a85;
}
p.testimonial-description{
    font-size: 15px;
    color: white;
    font-weight: 300;
}
p.name-author{
    font-size: 14px;
    color: white;
    font-weight: bold;
    margin-top: 5px;
}

.services ul{
    margin: 20px 0;
}
.services li{
    margin-bottom: 15px;
    font-size: 15px;
    color: white;
    font-weight: 300;
}

footer{
    padding: 30px 0;
    background: #394870;
}
footer.fixed{
    position: fixed;
    bottom: 0;
    width: 100%;
}
footer p{
    color: white;
    font-size: 16px;
    text-align: center;
    font-weight: 300;
}


section.error-404 p > a{
    text-decoration: none;
    color: #c6c6cc;
}
section.error-404 p > a:hover{
    color: #0B0829;
}

section.error-404 h2{
    font-size: 26px;
    color: #444;
    font-weight: 300;
    text-align: center;
}
section.error-404 i{
    color: red;
}
section.error-404 p{
    margin-top: 10px;
    font-size: 16px;
    color: #444;
}

.wraper-404{
    transform: translateY(-50%);
    max-width: 1280px;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
}

.contact-container{
    padding: 51px 0;
    text-align: center;
}
.contact-container input[type=text],
.contact-container input[type=email],
.contact-container input[type=number]{
    margin: 8px 0;
    width: 100%;
    height: 40px;
    border: 1px solid #ccc;
    padding-left: 8px;
    max-width: 500px;
    font-size: 16px;
    color: #444;
}
.contact-container textarea{
    padding: 8px;
    width: 100%;
    height: 120px;
    border: 1px solid #ccc;
    padding-left: 8px;
    max-width: 500px;
    font-size: 16px;
    color: #444;
}
.contact-container input[type=submit]{
    margin: 8px;
    width: 100px;
    height: 40px;
    background: #0B0829;
    color: white;
    font-size: 14px;
    border: 0;
    cursor: pointer;
}
.contact-container h2{
    padding: 8px;
    font-size: 24px;
    font-weight: 300;
    color: #444;
}

/** 
* PORTAL DE NOTÍCIAS/BLOG
*/

section.header-portal-blog{
    width: 100%;
    padding: 40px 0;
    background: #22385c;
    text-align: center;
    font-weight: normal;
}
section.header-portal-blog h2{
    color: white;
    font-size: 34px;
}
section.header-portal-blog h3{
    color: white;
    font-size: 20px;
    margin: 8px;
}

section.container-portal{
    padding: 50px 0;
}
.sidebar{
    float: left;
    width: 30%;
}
.box-content-sidebar{
    width: 100%;
    background: #DDDDDD;
    padding: 15px;
    color: #20224d;
    border-radius: 10px;
    margin: 20px 0;
}
.box-content-sidebar h3{
    font-size: 18px;
    font-weight: 300;
    /*cursor: pointer;*/
}
.box-content-sidebar input[type=text]{
    width: 100%;
    height: 40px;
    padding-left: 8px;
    border: 1px solid rgba(220,220,220);
    margin: 10px 0;
}
.box-content-sidebar input[type=submit]{
    width: 115px;
    height: 40px;
    padding-left: 8px;
    border: 0;
    margin: 10px 0;
    cursor: pointer;
    background: #53116b;
    color: white;
}

.box-content-sidebar select{
    width: 100%;
    height: 40px;
    padding-left: 8px;
    border: 1px solid rgba(220,220,220);
    margin: 10px 0;
}

.author-box-portal{
    margin-top: 10px;
    text-align: center;
}
.box-img-author{
    width: 160px;
    height: 160px;
    display: inline-block;
    border-radius: 50%;
    margin: 20px 0;
    background-image: url('../images/gui.jpg');
    background-size: 100% 100%;
}
.author-box-portal h3,
.author-box-portal p{
    color: #646464;
}
.author-box-portal p{
    font-size: 14px;
    margin-top: 8px;
    font-weight: lighter;
}

.portal-content{
    float: left;
    width: 70%;
    padding-left: 50px;
}

.header-content-portal{
    color: #2f335c;
}
.header-content-portal h2{
    font-size: 23px;
}
.header-content-portal h2 > span{
    border-top: 2px solid #2f335c;
}

.box-single-content{
    margin: 15px 0;
    padding: 15px 0;
    border-bottom: 1px solid #3c2652;
}
.box-single-content h2{
    color: #563585;
    font-weight: normal;
    font-size: 20px;
}
.box-single-content p{
    color: #5d5c5e;
    margin: 8px 0;
    font-size: 14px;
    font-weight: 300;
}
.box-single-content a{
    color: white;
    background: #393178;
    display: block;
    width: 115px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    padding: 0 3px;
    font-size: 14px;
    font-weight: normal;
    text-decoration: none;
    margin-top: 8px 0;
}

.paginator{
    text-align: center;
}
.paginator a{
    margin: 0 10px;
    display: inline-block;
    text-decoration: none;
    padding: 6px 4px;
    border: 1px solid rgb(220,220,220);
    color: #39265c;
}
.paginator a.active-page{
    background: rgb(220,220,220);
}

/** FIM ESTILO DO PORTAL **/


/** BLOG SINGLE ESTILO **/

section.blog-single{
    padding: 40px 0;
    color: #646464;
}
section.blog-single header{
    background: transparent;
}
section.blog-single h1{
    font-size: 30px;
    border-bottom: 2px solid #646464;
}
section.blog-single article{
    margin-top: 20px;
}
section.blog-single h3,
section.blog-single h2{
    margin: 10px 0;
}
section.blog-single p{
    margin: 10px 0;
}
section.blog-single ul{
    margin: 10px 0;
    list-style-position: inside;
}
section.blog-single img{
    display: block;
    margin: 0 auto;
    max-width: 100%;
}

/** FIM BLOG SINGLE ESTILO **/


/** STYLE PAGE COURSE **/

section.main_course > .center{
    display: flex;
    flex-wrap: wrap;
}

.center{
    max-width: 1440px;
    width: 100%;
    padding: 0 2%;
    margin: 0 auto;
}

section{
    display: block;
}

.main_course{
    padding: 40px 0;
}

.box_course_single{
    flex-wrap: wrap;
    display: flex;
    width: 33.3%;
    padding: 30px 40px;
    margin-bottom: 20px;
}

.box_course_single{
    position: relative;
}

.box_course_single img{
    width: 100%;
    height: 250px;
    background-size: cover;
}

.box_course_wraper{
    width: 100%;
    height: 100%;
    border: 1px solid #ccc;
}
.wraper_info_course{
    padding: 4px 10px;
}
.name_course{
    margin-top: 8px;
}
.name_course p{
    text-align: center;
    font-size: 23px;
    font-weight: 300;
    color: #646464;
    padding: 0 20%;
    letter-spacing: -.3px;
}

.info_course{
    margin-top: 15px;
}
.info_course p{
    font-size: 16px;
    color: #000;
    font-weight: lighter;
}

.btn_details_course{
    text-align: center;
    width: 100%;
}
.btn_details_course a{
    width: 100%;
    background-color: #665fb3;
    padding: 15px 30px;
    text-decoration: none;
    color: white;
    text-transform: uppercase;
    font-size: 15px;
    display: inline-block;
}

/** END STYLE PAGE COURSE **/



@media screen and (max-width: 768px){
    img{
        float: none !important;
        display: block;
        margin: 0 auto;
    }
    .w33{
        width: 100%;
        padding: 20px;
    }
    .w50{
        padding: 20px;
        width: 100%;
    }
    
    .button-menu-mobile{
        font-size: 24px;
        color: white;
        cursor: pointer;
    }
    
    nav.desktop{
        display: none;
    }
    nav.mobile{
        display: block;
    }
    nav.mobile ul{
        z-index: 3;
        position: absolute;
        left: 0;
        top: 65px;
        width: 100%;
        display: none;
        text-align: center;
    }
    nav.mobile li{
        font-weight: 300;
        width: 100%;
        display: block;
        background: white;
        border-bottom: 1px solid #ccc;
        font-size: 17px;
        padding: 8px 0;
    }
    nav.mobile li a{
        display: block;
        color: #444;
        text-decoration: none;
    }

    .box_course_single{
        width: 50%;
        padding: 30px 20px;
    }
}

@media screen and (max-width: 768px){
    .sidebar{
        width: 100%;
    }
    .portal-content{
        width: 100%;
        padding-left: 0;
    }
}

@media screen and (max-width: 500px){
    img{
        border-radius: 0;
        width: 300px;
        height: 300px;
    }
    .sidebar{
        width: 100%;
    }
    .portal-content{
        width: 100%;
        padding-left: 0;
    }

    .box_course_single{
        width: 80%;
        max-width: 400px;
        float: none;
        display: block;
        margin: 8px auto;
        padding: 30px 5%;
    }
    .box_course_wraper{
        width: 100%;
        height: 100%;
        border: 1px solid #ccc;
    }
}