/* reset by rafaux */
* { margin: 0px; padding: 0px; border: 0px; font-weight: normal; font-size: 100%; list-style: none; line-height: 1; outline: 0px; background: none; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-font-smoothing: antialiased; -ms-font-smoothing: antialiased; -o-font-smoothing: antialiased; font-smoothing: antialiased; }

/* var */
:root { --blue: #003F79; --cyan: #00B4FF; --red: #F20000; --whitegray: #E8E8E8; --fonttitle: 'Bebas Neue'; --fontbold: 'Circular Std'; }

/* global class */
.container { display: block; width: auto; max-width: 1400px; height: auto; margin: 0px auto; padding: 0px 40px; }
.bt a { position: relative; display: inline-block; width: auto; height: 48px; padding: 0px 48px 0px 24px; border: 1px solid var(--blue); color: var(--blue); border-radius: 80px; line-height: 44px; }
.bt a::after { position: absolute; top: 50%; right: 24px; font-family: 'Font Awesome 5 Pro';  content: '\f178'; transform: translateY(-50%); }
.bt a:hover { background-color: var(--blue); color: #fff; }

/* base */
a { text-decoration: none; color: var(--blue); transition: all .5s ease; }
body { background: #fff; color: var(--blue); font: normal 15px 'Circular Std Book', sans-serif; overflow-x: hidden; }
input, textarea, select, button { font: normal 15px 'Circular Std Book', sans-serif; appearance: none; -webkit-appearance: none; border-radius: 0px; cursor: pointer; }
input[type=submit], button { transition: all .5s ease; }

/* header */
#header { position: absolute; z-index: 100; top: 8px; left: 0px; width: 100%; height: auto; padding: 30px 80px; display: flex; justify-content: space-between; align-items: center; }
#header .left { display: flex; align-items: center; gap: 40px; }
#header .left span.logo img { width: 140px; height: auto; }
#header .left nav.menu ul li a { padding: 6px 14px; font-weight: bold; font-size: 14px; }
#header .left nav.menu ul li a.on { background-color: var(--whitegray); border-radius: 60px; }
#header .right { display: flex; align-items: center; gap: 20px; }
#header .right form label { position: relative; }
#header .right form label i { position: absolute; top: 50%; left: 18px; transform: translateY(-50%); color: #ACACAC; }
#header .right form label input { width: 220px; height: 50px; padding: 0px 20px 0px 40px; border: 1px solid var(--whitegray); border-radius: 60px; color: var(--blue); font-size: 14px; }
#header .right form label input::placeholder { color: #ACACAC; }
#header .right nav ul { gap: 20px; }
#header .right nav ul li { font-size: 15px; }
#header .right nav ul li a { display: block; width: 30px; height: 30px; line-height: 30px; text-align: center; border-radius: 100%; }
#header .right nav ul li a:hover { background-color: var(--red); color: #fff; }
#header nav ul { display: flex; align-items: center; gap: 10px; }

    /* header -> int */
    body#int #header { padding: 30px 40px; }
    body#int #header nav ul li a { color: #fff; }
    body#int #header nav.menu ul li a.on { background-color: var(--cyan); color: var(--blue); }
    body#int #header .right form label input { border-color: rgba(255,255,255,.3); color: #fff; transition: all .5s ease; }
    body#int #header .right form label i,
    body#int #header .right form label input::placeholder { color: rgba(255,255,255,.7); }
    body#int #header .right form label input:focus,
    body#int #header .right form label input:active { background-color: var(--blue); }

    /* header -> toggle */
    #header span.toggle { display: none; position: relative; width: 40px; height: 40px; border: 2px solid var(--blue); border-radius: 100%; cursor: pointer; }
    #header span.toggle b { position: absolute; top: 57%; left: 50%; width: 20px; height: 20px; border-top: 2px solid var(--blue); transition: all .5s ease; transform: translate(-50%, -50%); }
    #header span.toggle b::before { position: absolute; top: 4px; left: 0px; width: 100%; height: 2px; background-color: var(--blue); transition: all .5s ease; content: ''; }
    #header span.toggle b::after { position: absolute; top: 10px; left: 0px; width: 100%; height: 2px; background-color: var(--blue); transition: all .5s ease; content: ''; }
    #header span.toggle b.on { border-top-color: transparent !important; }
    #header span.toggle b.on::before { top: 4px; transform: rotate(45deg); }
    #header span.toggle b.on::after { top: 4px; transform: rotate(-45deg); }
    body#int #header span.toggle { border-color: #fff; }
    body#int #header span.toggle b { border-color: #fff; }
    body#int #header span.toggle b::before,
    body#int #header span.toggle b::after { background-color: #fff; }

/* feat */
#feat { position: relative; height: 660px; margin: 130px 40px 80px 40px; background-color: #000; border-radius: 30px; overflow: hidden; }
#feat section article { position: relative; height: 660px; }
#feat section article figcaption { position: absolute; z-index: 3; bottom: 60px; left: 50%; width: 700px; height: auto; margin-left: -700px; }
#feat section article figcaption h2 { display: block; font-family: var(--fonttitle); font-size: 72px; color: #fff; text-transform: uppercase; }
#feat section article figcaption p { display: block; margin-top: 20px; font-size: 16px; color: #fff; line-height: 1.6; }
#feat section article figure { margin: 0px !important; }
#feat section article figure::before { position: absolute; z-index: 2; bottom: 0px; left: 0px; width: 100%; height: 70%; background: linear-gradient(to top, #000, transparent); content: ''; }
#feat section article figure img { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; object-fit: cover; }
#feat .bt a { position: absolute; bottom: 20px; right: -240px; border-color: #fff; color: #fff; }
#feat .bt a:hover { background-color: #fff; color: var(--blue); }
#feat .slick-dots { position: absolute; z-index: 10; top: 50%; right: 20px; width: 14px; transform: translateY(-50%); }
#feat .slick-dots li { display: block; width: 10px; height: 10px; margin: 14px 0px; border: 2px solid #fff; border-radius: 100%; text-indent: -9999em; cursor: pointer; }
#feat .slick-dots li:only-child { display: none; }
#feat .slick-dots li.slick-active { background-color: #fff; }

/* about */
#about { margin-bottom: 80px; }
#about .container { display: flex; align-items: center; }
#about figure { width: 50%; height: 550px; }
#about figure img { width: 100%; height: 100%; object-fit: cover; border-radius: 40px; }
#about section { width: 50%; height: auto; padding-left: 40px; }
#about section h1 { display: block; margin-bottom: 15px; font-family: var(--fonttitle); font-size: 48px; }
#about section h2 { display: block; margin-bottom: 30px; font-family: var(--fonttitle); font-size: 30px; color: var(--cyan); }
#about section p { display: block; margin-bottom: 20px; line-height: 1.8; }
#about section p strong { font-family: var(--fontbold); font-weight: bold; }
#about section span a { background-color: var(--red); border-color: var(--red); color: #fff; }

/* cta */
#cta section { position: relative; display: inline-block; width: 100%; height: 300px; margin-bottom: 80px; background-color: #000; border-radius: 40px; overflow: hidden; }
#cta section article { position: absolute; z-index: 2; top: 50%; left: 50%; width: auto; transform: translate(-50%, -50%); text-align: center; }
#cta section article h6 { display: block; margin-bottom: 20px; font-family: var(--fonttitle); font-size: 60px; color: #fff; }
#cta section article span.bt a { background-color: var(--blue); color: #fff; }
#cta section article span.bt a:hover { background-color: #fff; color: var(--blue); }
#cta figure img { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; opacity: .5; object-fit: cover; }

/* imigracao */
#imigracao { margin-bottom: 80px; padding: 80px 0px; background-color: var(--blue); }
#imigracao header h6 { margin-bottom: 60px; font-family: var(--fonttitle); font-size: 100px; color: #fff; text-align: center; }
#imigracao section { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 40px; }
#imigracao section article { width: 100%; height: auto; }
#imigracao section article a { display: block; padding: 50px; border: 1px solid var(--cyan); border-radius: 20px; text-align: center; }
#imigracao section article a i { display: block; margin-bottom: 30px; font-size: 60px; color: var(--cyan); transition: all .5s ease; }
#imigracao section article a strong { display: block; font-family: var(--fonttitle); font-size: 30px; color: #fff; }
#imigracao section article a:hover { background-color: var(--cyan); }
#imigracao section article a:hover i { color: #fff; }
#imigracao footer { margin-top: 60px; text-align: center; }
#imigracao footer .bt a { border-color: var(--cyan); color: var(--cyan); }
#imigracao footer .bt a:hover { background-color: var(--cyan); color: #fff; }
body#int #imigracao { margin-bottom: 0px; }

/* empresa */
#empresa { padding-bottom: 40px; background-color: var(--blue); text-align: center; }
#empresa .container { max-width: 1000px; }
#empresa h1,
#empresa h2,
#empresa h3 { display: block; margin-bottom: 20px; padding-bottom: 20px; font-family: var(--fonttitle); font-size: 30px; color: var(--cyan); border-bottom: 1px solid rgba(255,255,255,.1); }
#empresa p { display: block; margin-bottom: 20px; font-size: 18px; line-height: 2; color: #fff; }
#empresa ul, #empresa ol { display: block; margin-bottom: 20px; padding-left: 30px; counter-reset: list; text-align: left; }
#empresa ul li, #empresa ol li { position: relative; display: block; margin-bottom: 20px; line-height: 1.8; color: #fff; }
#empresa ul li::before { position: absolute; top: 10px; left: -20px; width: 4px; height: 4px; border-radius: 100%; background-color: var(--cyan); content: ''; }
#empresa ol li::before { position: absolute; top: 1px; left: -20px; color: var(--red); font-family: var(--fontbold); font-size: 12px; counter-increment: list; content: counter(list); }
#empresa strong { font-weight: bold; }
#empresa img { display: block; width: auto; max-width: 100%; max-height: 550px; margin: 30px auto; border-radius: 10px; }

/* blog */
#blog { margin-bottom: 80px; }
#blog header h6 { margin-bottom: 60px; font-family: var(--fonttitle); font-size: 100px; text-align: center; }
#blog section { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 40px; }
#blog section article { margin-bottom: 10px; }
#blog section article img { display: block; width: 100%; height: 210px; margin-bottom: 20px; border-radius: 20px; object-fit: cover; }
#blog section article h5 { display: block; margin-bottom: 10px; padding: 0px 15px; font-family: var(--fontbold); font-size: 18px; line-height: 1.2; }
#blog section article p { display: block; padding: 0px 15px; line-height: 1.6; }
#blog footer { margin-top: 60px; text-align: center; }
body#int #blog { margin-top: 80px; }

/* depoimentos */
#depoimentos { margin-bottom: 80px; }
#depoimentos .quotes { padding: 60px; background-color: #F7F7F7; border-radius: 30px; }
#depoimentos .quotes h6 { display: block; margin-bottom: 40px; font-family: var(--fonttitle); font-size: 48px; color: #ccc; text-transform: uppercase; text-align: center; }
#depoimentos .quotes section { padding: 0px 160px; }
#depoimentos .quotes section article { display: flex; padding: 20px 0px; justify-content: space-between;  align-items: flex-start; }
#depoimentos .quotes section article figure { position: relative; width: 250px; height: auto; margin-left: 20px; }
#depoimentos .quotes section article figure img { width: 250px; height: 250px; border-radius: 100%; object-fit: cover; }
#depoimentos .quotes section article figure::before { position: absolute; top: -5%; left: -5%; width: calc(110% - 4px); height: calc(110% - 4px); border: 2px dotted var(--blue); border-radius: 100%; content: ''; }
#depoimentos .quotes section article figcaption { width: calc(100% - 250px); height: auto; padding: 20px 0px 0px 70px; }
#depoimentos .quotes section article figcaption strong { display: block; font-size: 16px; }
#depoimentos .quotes section article figcaption em { display: block; margin: 10px 0px 20px 0px; font-style: normal; font-family: var(--fontbold); font-size: 18px; }
#depoimentos .quotes section article figcaption p { display: block; line-height: 1.8; }
#depoimentos .quotes .arrow { position: absolute; top: 50%; transform: translateY(-50%); font-size: 20px; cursor: pointer; }
#depoimentos .quotes .arrow.arrow-prev { left: 20px; }
#depoimentos .quotes .arrow.arrow-next { right: 20px; }

/* title */
#title { position: relative; padding: 200px 0px 60px; background-color: var(--blue); }
#title strong { position: relative; z-index: 2; display: block; color: var(--cyan); font-family: var(--fonttitle); font-size: 30px; text-transform: uppercase; text-align: center; }
#title h6 { position: relative; z-index: 2; font-family: var(--fonttitle); font-size: 100px; color: #fff; text-transform: uppercase; text-align: center; }
#title img { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; mix-blend-mode: hard-light; opacity: .5; object-fit: cover; }

/* cover */
#cover { padding: 150px 0px 220px; background-color: var(--blue); }
#cover .container { display: flex; justify-content: space-between; align-items: center; }
#cover .left nav#breadcrumb ul { display: flex; margin-bottom: 20px; }
#cover .left nav#breadcrumb ul li { text-transform: uppercase; color: var(--cyan); font-family: var(--fontbold); font-size: 11px; }
#cover .left nav#breadcrumb ul li a { font-family: var(--fontbold); color: #fff; }
#cover .left nav#breadcrumb ul li a::after { display: inline-block; margin: 0px 15px; font-family: 'Font Awesome 5 Pro'; content: '\f178'; }
#cover .left h1 { display: block; width: 80%; font-family: var(--fonttitle); font-size: 72px; color: #fff; }
#cover .right ul { display: flex; align-items: center; gap: 40px; text-align: center; }
#cover .right ul li { color: #fff; font-size: 13px; line-height: 1.4; }
#cover .right ul li i { display: block; margin-bottom: 10px; font-size: 18px; color: var(--cyan); }
#cover .right ul li a { color: #fff; font-size: 13px; line-height: 1.4; }
#cover .right ul li a:hover { color: var(--cyan); }
#cover-img figure { width: 100%; height: 560px; margin: -180px 0px 80px 0px; border-radius: 40px; background-color: #000; overflow: hidden; }
#cover-img figure img { width: 100%; height: 100%; object-fit: cover; }

    /* cover -> imigracao */
    #cover.imigracao { margin-bottom: 60px; padding-bottom: 20px; }

/* post */
#post { margin-bottom: 60px; }
#post .container { padding: 0px 200px; }
#post h1,
#post h2,
#post h3 { display: block; margin-bottom: 20px; padding-bottom: 20px; font-family: var(--fontbold); font-size: 18px; border-bottom: 1px solid var(--whitegray); }
#post p { display: block; margin-bottom: 20px; line-height: 1.8; }
#post ul, #post ol { display: block; margin-bottom: 20px; padding-left: 30px; counter-reset: list; }
#post ul li, #post ol li { position: relative; display: block; margin-bottom: 20px; line-height: 1.8; }
#post ul li::before { position: absolute; top: 10px; left: -20px; width: 4px; height: 4px; border-radius: 100%; background-color: var(--red); content: ''; }
#post ol li::before { position: absolute; top: 1px; left: -20px; color: var(--red); font-family: var(--fontbold); font-size: 12px; counter-increment: list; content: counter(list); }
#post img { display: block; width: auto; max-width: 100%; margin: 0px auto 20px auto; }

/* search */
#search { padding: 80px 0px; }
#search .container { width: 600px; }
#search h5 { display: block; margin-bottom: 40px; font-family: var(--fontbold); font-size: 16px; }
#search nav ul li a { position: relative; display: block; padding: 20px 0px; padding-left: 40px; line-height: 1.6; border-bottom: 1px solid var(--whitegray); }
#search nav ul li a::before { position: absolute; top: 30px; left: 20px; width: 5px; height: 5px; background-color: var(--red); border-radius: 100%; content: ''; }
#search nav ul li a:hover { background-color: var(--whitegray); color: var(--red); }

/* faq */
#faq { margin-bottom: 80px; }
#faq section article { position: relative; margin-top: 40px; padding: 40px 120px 40px 40px; background-color: #f3f3f3; border-radius: 20px; cursor: pointer; }
#faq section article .p p { display: block; font-family: var(--fonttitle); font-size: 24px; }
#faq section article .r { display: none; }
#faq section article .r p { display: block; margin-top: 20px; line-height: 1.8; }
#faq section article i { position: absolute; top: 40px; right: 40px; font-size: 24px; transform: rotate(0deg); transition: all .5s ease; }
#faq section article.on i { transform: rotate(180deg); }

/* contato */
#contato { padding: 80px 0px; }
#contato .container { width: 600px; }
#contato label { display: block; margin-bottom: 20px; }
#contato label strong { display: block; margin-bottom: 10px; }
#contato label input { display: block; width: 100%; height: 60px; padding: 0px 20px; border: 1px solid var(--whitegray); border-radius: 30px; }
#contato label textarea { display: block; width: 100%; height: 160px; padding: 15px 20px; border: 1px solid var(--whitegray); border-radius: 30px; }
#contato label input[type=submit] { background-color: var(--blue); border-color: var(--blue); font-family: var(--fontbold); color: #fff; }
#contato label input[type=submit]:hover { background-color: var(--cyan); }

/* footer */
#footer { padding: 80px 0px; background-color: var(--blue); }
#footer .top { position: relative; display: flex; justify-content: space-between; align-items: center; }
#footer .top::before { position: absolute; top: 50%; left: 140px; width: calc(100% - 300px); height: 1px; background-color: #fff; transform: translateY(-50%); opacity: .2; content: ''; }
#footer .top span.logo img { width: 100px; }
#footer .top ul { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
#footer .top ul li a { color: #fff; font-size: 16px; }
#footer .top ul li a:hover { color: var(--red); }
#footer .content { display: flex; align-items: flex-start; margin-top: 60px; }
#footer .content .item:nth-of-type(1) { width: 300px; }
#footer .content .item:nth-of-type(2) { width: 500px; padding-left: 60px; }
#footer .content .item:nth-of-type(3) { width: calc(100% - 800px); }
#footer .content small { display: block; margin-bottom: 15px; font-size: 13px; color: #fff; }
#footer .content nav ul { display: grid; grid-template-columns: 1fr 1fr; }
#footer .content nav ul li a { display: block; padding-bottom: 25px; color: #fff; }
#footer .content nav ul li a:hover { text-decoration: underline; }
#footer .content h6 { display: block; margin-bottom: 20px; font-family: var(--fontbold); font-size: 18px; color: #fff; }
#footer .content form fieldset { display: flex; width: 100%; height: 60px; padding: 5px; border: 1px solid #fff; border-radius: 30px; align-items: center; }
#footer .content form fieldset label:first-of-type { width: calc(100% - 40px); height: 40px; }
#footer .content form fieldset label:last-of-type { width: 50px; height: 50px; background-color: #fff; border-radius: 100%; transition: all .5s ease; }
#footer .content form fieldset label:last-of-type:hover { background-color: var(--cyan); }
#footer .content form fieldset label input { width: 100%; height: calc(100% - 4px); }
#footer .content form fieldset label:first-of-type input { padding: 0px 20px; color: #fff; }
#footer .content form fieldset label:first-of-type input::placeholder { color: #fff; }
#footer .content form fieldset label:last-of-type input { background: transparent url('../img/footer-submit.svg') no-repeat center center; background-size: 20px; text-indent: -9999em; }

/* sidebar */
#sidebar { position: fixed; z-index: 1000; top: 20px; left: -300px; width: 250px; height: calc(100% - 40px); background-color: #fff; border-radius: 30px; box-shadow: 0px 60px 60px rgba(0,0,0,.3); transition: all .5s ease; }
#sidebar.on { left: 20px; }
#sidebar img { display: block; width: 50%; height: auto; margin: 30px auto; }
#sidebar form { position: relative; width: 90%; height: auto; margin: 0px 0px 20px 5%; }
#sidebar form label i { position: absolute; top: 50%; left: 18px; transform: translateY(-50%); color: #ACACAC; }
#sidebar form label input { width: 100%; height: 50px; padding: 0px 20px 0px 40px; border: 1px solid var(--whitegray); border-radius: 60px; color: var(--blue); }
#sidebar form label input::placeholder { color: #ACACAC; }
#sidebar nav ul.menu li a { display: block; padding: 16px 0px; text-align: center; }
#sidebar nav ul.menu li a.on { color: var(--cyan); }
#sidebar nav ul.social { position: absolute; bottom: 60px; left: 0px; width: 100%; height: auto; text-align: center; }
#sidebar nav ul.social li { display: inline-block; width: auto; margin: 0px 10px; }
#sidebar nav ul.social li a { color: var(--red); }

/* whatsapp */
.wp-float a { position: fixed; z-index: 9999; bottom: 20px; right: 20px; width: 50px; height: 50px; background-color: #25d366; color: #fff; border-radius: 100%; cursor: pointer; font-size: 24px; line-height: 50px; text-align: center; box-shadow: 0px 40px 40px rgba(0,0,0,.2); }
.wp-float a:hover { background-color: var(--cyan); }

/* contact form 7 */
.wpcf7 br { display: none; }