:root {
 --color-blue: #0053EF;
 --color-red: #FF0032;
 --color-white: #FFFFFF;
 --color-gray: #353535;
}

html {box-sizing: border-box;font-family:"Nunito", sans-serif; scroll-behavior: smooth;}
*, *:before, *:after {box-sizing: inherit;}

header {
 box-shadow: 0px 2px 15px 0 #00000014;
 z-index: 3;
 position: relative;
 background-color: var(--color-4);
 padding: .8rem 0;
}

a, a:hover {
 text-decoration: none;
 color: var(--color-blue);
}

a:hover {
 color: #0046b5;
}

ul.navbar-nav.mr-auto {
 gap: 1rem;
}

.navbar {
 padding: .5rem 0;
}

.navbar-brand {
 color: var(--color-blue);
}

.navbar-nav:hover {
 color: var(--color-red);
}

.navbar-light .navbar-nav .nav-link {
 color: rgb(0 0 0 / 73%);
}

.nav-link {
 padding: 0 !important;
}

ul.navbar-nav.menu{
 align-items: center;
 font-family: 'Nunito', sans-serif;
 font-weight: 400;
 color: #000;
 text-transform: uppercase;
 font-size: .85rem;
}

li.nav-item.menu {
 padding: 0 .8rem;
}

a.nav-link.menu {
 font-weight: 500;
}

a.nav-link.menu:hover {
 color: var(--color-blue);
}

a.nav-link.menu.button {
 background-color: var(--color-red);
 color: var(--color-white);
 padding: .5rem 1.5rem;
 border-radius: 6px;
 font-size: 1rem;
 box-shadow: 0px 4px 6px rgb(0 0 0 / 0.12%);
}

a.nav-link.menu.button:hover, a.nav-link.menu.button:active {
 background-color: #249cb6;
 color: var(--color-blue);
}

a.active-item{
 font-weight: 800;
 color: var(--color-blue);
 padding: 0;
}

.collapse.navbar-collapse {
 justify-content: end;
}

button:focus {
 outline: 1px solid #cecece;
}

.breadcrumb {
 padding: 2rem 1rem;
 margin-bottom: 0;
}

section {
 //min-height: 85vh;
 padding: 7rem 0;
 background-color: #f7f7f7;
}

section.min {
 padding: 4rem 0;
}

section.bg-blue {
 background-color: var(--color-blue);
}


h1 {
 margin: 0;
}

h1 > a.navbar-brand {
 font-size: 2.8rem;
 font-family: 'Bebas Neue', sans-serif;
 text-transform: uppercase;
 letter-spacing: 1px;
 color: var(--color-blue) !important;
}

h2.section-title {
 font-family: 'Bebas Neue', sans-serif;
 font-weight: 400;
 margin-bottom: 1rem;
 position: relative;
 letter-spacing: 2px;
 font-size: 2.5rem;
 display: inline;
}

h2.section-title.white {
  color: var(--color-white);
}

h2.section-title.blue {
  color: var(--color-blue);
}

h3.subtitle {
 font-family: 'Nunito', sans-serif;
 font-weight: 700;
 font-size: 1.4rem;
 //display: inline-flex;
}

h3.subtitle.inline {
 display: inline;
}

h3.subtitle.blue.light {
 color: var(--color-blue);
 font-weight: 300;
}

h3.subtitle.gray {
 color: var(--color-gray);
 font-size: 1.3rem;
}

h3.subtitle.white {
 color: var(--color-white);
 font-weight: 800;
}

h4.subtitle {
 color: var(--color-gray);
}

p.text-base, ul.section-list, span {
 color: var(--color-gray);
 font-family: "Nunito", sans-serif;
 font-size: 1rem;
}

p.text-base.white {
 color: var(--color-white);
}

span.divisor {
 font-size: 1.4rem;
 font-weight: bold;
 padding: 0 .5rem;
}

.row.cards, .row.buttons {
 margin: 2rem 0;
}

.img-fluid.border-radius {
 border-radius: .5rem;
}

a.btn-primary, a.btn-secondary, h3.card-title, p.card-text {
 font-family: "Nunito", sans-serif;
}

a.btn-primary, a.btn-secondary {
 display: flex;
 justify-content: center;
 padding: 1rem;
 border-radius: 5px;
 font-weight: 700;
 font-size: 1.2rem;
 transition: .3s;
}

a.btn-primary:hover, a.btn-secondary:hover {
 transition: .3s;
 transform: scale(1.05);
}

a.btn-primary.red {
 background-color: var(--color-red);
 color: var(--color-white);
 height: 100%;
 align-items: center;
 text-transform: uppercase;
}

a.btn-primary.red:hover {
 background-color: #d30029;
 transition: .3s;
}

a.btn-primary.red.sm {
 font-size: .9rem;
 padding: 0.8rem 1rem;
 margin: 0 0 0 1rem;
}

a.btn-primary.blue {
 background-color: var(--color-blue);
 color: var(--color-white);
}

a.btn-primary.blue:hover {
 background-color: #0052d6;
}

a.btn-primary.blue.xl {
 height: 40%;
 align-items: center;
}

a.btn-primary.blue.xxl {
 padding: 5rem;
 align-items: center;
 color: var(--color-white);
 text-transform: uppercase;
 font-weight: 900;
 box-shadow: 4px 0 4px 0 #00000025;
}

a.btn-secondary.blue {
 border: 1px solid var(--color-blue);
 color: var(--color-blue);
 background: none;
} 

a.btn-secondary.blue.sm {
 padding: .5rem;
} 

a.btn-secondary.blue.lighter.md {
 height: 100%;
 align-items: center;
}

a.btn-secondary.white {
 color: var(--color-white);
 border: 1px solid var(--color-white);
 background: none;
} 

a.btn-secondary.red {
 border: 1px solid var(--color-red);
 color: var(--color-red);
 background: none;
}

.wrapper-card {
 padding: 2rem;
 margin-top: 3rem;
 border-radius: 5px;
 background-color: var(--color-white);
 border: 1px solid rgba(0, 0, 0, .125);
}

.flex {
 display: flex;
}

.col-sm-4.cards {
 display: flex;
}

.card {
 display: flex;
 padding: 1rem;
 margin: 1rem 0;
 flex: 1 1 450px;
}

.card.line.margin {
 margin-top: 3rem;
}

p.card-text {
 color: var(--color-white);
 font-weight: 500;
 font-size: 1.2rem;
}

i.bi.bi-calendar-week, i.bi.bi-journal-text, i.bi.bi-geo-alt {
 font-size: 3rem;
 color: #00b1ff;
}

.texto-btn-gabarito {
 font-size: 1.3rem;
}

hr.line-course {
 border: 2px solid var(--color-0);
 width: 5%;
 margin: 1rem auto 0;
 background-color: var(--color-0);
}

h3.section-subtitle {
 font-style: normal;
 font-weight: 700;
 line-height: 1;
 font-size: 1.3rem;
 margin-bottom: 0;
 color: var(--color-gray);
}

h4 {
 color: #787878;
}

.card-faq {
 background-color: #0050e1;
 color: var(--color-0);
 justify-content: center;
 display: flex;
 padding: 2rem;
 border-radius: 60px; 
 margin: 4rem 0 2rem;
}

.card-faq:hover {
 transform: scale(1.1);
}

.card-faq {
 transition: transform 0.3s;
}

.table td, .table th {
 vertical-align: middle;
}

.table-bordered {
 border: 1px solid #f7f7f7;
 padding: 0 1rem;
}

a.link-back {
 //font-size: 2rem;
 color: var(--color-red);
}

a.link-back.white, a.link.white {
 color: var(--color-white);
}

a.link.white {
 text-decoration: underline;
}

ul, li > a.link-general {
 text-decoration: none !important;
}

#accordion {
 margin: 4rem 0;
 transition: .2s;
 cursor: pointer;
}

#accordion p {
 font-size: 1rem;
 font-family: 'Nunito';
 padding: 1rem;
 margin-bottom: 0;
 color: var(--color-gray);
}

#accordion a {
 font-weight: bold;
}

.card-header.accordion {
 background-color: var(--color-blue);
 color: var(--color-white);
 display: grid;
 grid-template-columns: 34fr 1fr;
 gap: 1rem;
 padding: 1.5rem;
 border-bottom: 1px solid rgb(255 255 255 / 13%);
}

.card-header.accordion:hover {
  background-color: var(--color-blue);
}
 
.card-title.accordion {
 font-size: 1.2rem;
 font-family: 'Nunito';
 font-weight: 500;
 margin: 0;
}

.card-body.accordion {
 background-color: #f7f7f7;
 padding: 0 1.25rem;
}

.card-body ul, ol {
 font-size: 1rem;
 font-family: 'Nunito';
 padding: 1.5rem;
 margin-bottom: 0;
 color: #616161;
 padding-left: 3rem;
}

.accordion .card-header.accordion:after {
  font-family: 'Font Awesome 5 Free';
  content: "\f077";
  color: var(--color-0);
  font-weight: bold;
  float: right;
  margin-right: 17px;
}

.accordion .card-header.collapsed:after {
  content: "\f078"; 
}

.card-header.accordion:last-child {
 border-radius: 0 0 5px 5px !important;
}

.box-faixa {
 background-color: #0053ef;
 padding: 1rem;
 font-size: 16px;
 text-align: center; 
 margin-top: 35px;
 margin-bottom: 30px;
 border-radius: 4px;
}

.box-faixa:hover {
 transition: .3s;
 transform: scale(1.03);
}

span.faixa {
 font-family: "Nunito";
 color: var(--color-white);
 font-size: 1.2rem;
}

.box-resultado{
  background-color: #f8f8f8;
  padding: 2rem 1rem;
  border-radius: 4px;
}


@media (min-width: 0px) and (max-width: 575px) {
 h1 > a.navbar-brand {
  font-size: 2rem;
 }

 ul.navbar-nav.menu {
  align-items: unset;
 }

 li.nav-item.menu, a.nav-item.menu:active {
  padding: .5rem 0;
 }

 a.btn-primary.red.sm {
  margin: 1rem 0 0 0;
 }

 span.divisor {
  visibility: hidden;
 }

 h2.section-title {
  font-size: 1.8rem;
 }

 h3.subtitle.inline {
  display: block;
  padding: 0 3rem;
 }
}

@media (min-width: 576px) and (max-width: 767px) {
 h1 > a.navbar-brand {
  font-size: 2rem;
 }

 ul.navbar-nav.menu {
  align-items: unset;
 }

 li.nav-item.menu, a.nav-item.menu:active {
  padding: .5rem 0;
 }

 a.btn-primary.red.sm {
  margin: 1rem 0 0 0;
 }

 i.fa.fa-chevron-left {
  font-size: 2rem;
 }

 .row.cards, .row.buttons{
   flex-direction: column;
 }

 .full {
  max-width: 100%;
 }
}

@media (min-width: 768px) and (max-width: 991px) {
 ul.navbar-nav.menu {
  align-items: unset;
 }

 li.nav-item.menu, a.nav-item.menu:active {
  padding: .5rem 0;
 }

 a.btn-primary.red.sm {
  margin: 1rem 0 0 0;
 }

 .row.cards, .row.buttons{
   flex-direction: column;
 }

 .full {
  max-width: 100%;
 }
}

@media (min-width: 992px) and (max-width: 1199px) {
 h1 > a.navbar-brand {
  font-size: 1.6rem;
 }

 .navbar-light .navbar-nav .nav-link {
  padding: 0;
 }

 a.nav-link.menu.button {
  padding: 0.5rem 1rem;
 }
}

@media (min-width: 1200px) {

}
