@font-face {
  font-family: MainFont;
  src: url('../fonts/Avenir/AvenirLTStd-Roman.woff');
}


html,
body {
  font-family: 'MainFont';
  overflow-x: hidden; /* Prevent scroll on narrow devices */
}

body {
  padding-top: 56px;
}

p {
  line-height: 1.4;
}

a:hover{
  text-decoration: none;
}

@media (max-width: 767.98px) {
  .offcanvas-collapse {
    position: fixed;
    top: 56px; /* Height of navbar */
    bottom: 0;
    width: 100%;
    padding-right: 1rem;
    padding-left: 1rem;
    overflow-y: auto;
    background-color: var(--gray-dark);
    transition: -webkit-transform .3s ease-in-out;
    transition: transform .3s ease-in-out;
    transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  .offcanvas-collapse.open {
    -webkit-transform: translateX(-1rem);
    transform: translateX(-1rem); /* Account for horizontal padding on navbar */
  }
}

.nav-scroller {
  position: relative;
  z-index: 2;
  height: 2.75rem;
  overflow-y: hidden;
}


.nav-scroller .nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  padding-bottom: 1rem;
  margin-top: -1px;
  overflow-x: auto;
  color: rgba(255, 255, 255, .75);
  text-align: center;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.nav-underline .nav-link {
  padding-top: .75rem;
  padding-bottom: .75rem;
  font-size: .875rem;
  color: var(--secondary);
}

.nav-underline .nav-link:hover {
  color: var(--blue);
}

.nav-underline .active {
  font-weight: 500;
  color: var(--gray-dark);
}

.nav-blue{
  background-color: #304292;
  box-shadow: 0 2px 2px #fdfdfd;
}

.nav-link{
  /*padding: 0 1rem 0 0;*/
}

.nav-search{
  border: 1px solid #304292;
  font-size: 15px;
}

.btn-nav-search{
  font-size: 14px;
}

.nav-account{
  margin-left: 20px;
}

.text-white-50 { color: rgba(255, 255, 255, .5); 
}

.text-red p{
  color: red;
}

.text-dark{
  color: #212529;
}

.text-bold{
  font-weight: bold;
}

.btn-white{
  border-color: white;
  color: white;
  background-color: transparent;
}

.btn-blue{
 background-color: #304292;
 color: white;
}


.bg-purple { background-color: var(--purple); 
}
.bg-blue { background-color: #304292; 
}
.bg-grey{
  background-color: #d0cece!important;
}

.width-100{
  width: 100%;
}

.bg-trasparent-white{
  border-color: white;
  color: white;
  border: 1px solid white;
  background-color: #304292 !important;
}

a:hover .bg-trasparent-white{
  border-color: white;
  color: #304292;
  border: 1px solid white;
  background-color: white !important;
}

a:hover p{
  text-decoration: none !important;
}

.border-bottom { border-bottom: 1px solid #e5e5e5; 
}

.box-shadow { box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); 
}

.lh-100 { line-height: 1; 
}
.lh-125 { line-height: 1.25; 
}
.lh-150 { line-height: 1.5; 
}

.top-min-15{
  margin-top: -10px !important;
}

.right{ float: right; 
}

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

.table thead th{
  border-bottom: 0px solid #dee2e6;
}

.table td, .table th{
  padding: 5px;
}

.thead-payment{
  background-color: #304292;
  color: #fff;
}

.tr-payment{
  background-color: #F2F2F2;
}

/* Carousel base class */
.carousel {
  margin-bottom: 1rem;
}
/* Since positioning the image, we need to help out the caption */
.carousel-caption {
  bottom: 3rem;
  z-index: 10;
}

/* Declare heights because of positioning of img element */
.carousel-item {
  height: 20rem;
  background-color: #777;
}
.carousel-item > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  /*height: 32rem;*/
}



.list-steps {
  overflow: hidden;
  position: relative;
  margin-top: 0; 
}

.list-progress {
  position: absolute;
  top: 24px;
  left: 0;
  width: 100%;
  height: 3px;
  background: #E0E0E0; 
}

.list-progress-line {
  position: absolute;
  top: 0;
  left: 0;
  height: 3px;
  background: #61B634; 
}

.list-step {
  position: relative;
  float: left;
  width: 33%;
  padding: 0 5px; 
  text-align: center; 
}

.list-step-icon {
  display: inline-block;
  width: 26px;
  height: 26px;
  margin-top: 12px;
  background: #304292;
  font-size: 18px;
  color: #fff;
  line-height: 27px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%; 
  text-align: center; 
}

.list-step.activated .list-step-icon {
  background: #61B634;
  border: 1px solid #61B634;
  color: #FFFFFF;
  line-height: 27px; 
}

.list-step.active .list-step-icon {
  width: 26px;
  height: 26px;
  margin-top: 12px;
  background: #FFFFFF;
  color: #61B634;
  border: 1px solid #61B634;
  font-size: 18px;
  line-height: 25px; 
  text-align: center; 
}

.list-step p {
  color: #212529;
  font-size: 12px; 
}

.list-step.activated p {
  color: #61B634;
  font-size: 12px; 
}

.list-step.active p {
  color: #61B634;
  font-size: 12px; 
}

.list fieldset {
  display: none;
  text-align: left; 
}

.list-buttons {
  text-align: right;
  margin-top: 20px; 
}

.list .input-error {
  border-color: #EB5757; 
}


footer{
  padding-top: 1em;
}

.footer .help{
  padding-top: 2em;
  padding-bottom: 2em;
}

.footer-link{
  padding-top: 2em;
  padding-bottom: 2em;
  background: #222222;
}

.footer-link hr{
  margin-top: 5px;
  border-top: 2px solid rgb(243, 41, 41);
  margin-right: 10em;
}

.footer-link a{
  color: #fff;
  line-height: 2;
}

.footer-buttom{
  padding: 1em 0;
  background: #1C1C1C;
  color: #828282;
}

.tiny{
  font-size: 1rem !important;
}

.small{
  font-size: 2rem !important;
}

.medium{
  font-size: 3rem !important;
}

.large{
  font-size: 6rem !important;
}

.header-register {
  display: flex;
}

.header-register-left {
  padding: 20px;
  padding-left: 25px;
}

.header-register-right {
  max-width: 160px;
  flex-shrink: 0;
  margin-left: auto;
  border-top-left-radius: 80px;
  border-bottom-left-radius: 80px;
  display: flex;
  align-items: center;
  flex-basis: 160px;
  justify-content: center;
}

.hr-special{
  border-top: 2px solid rgb(243, 41, 41);
  margin-right: 70%;
  margin-top: -5px;
}


.card-header{
  padding: 40px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #304292;
  position: relative;
  color: #fff;
}

@media only screen and (min-width: 600px) {
 .nav-scroller {
  position: fixed;
  width: 100%;
}

.main{
  padding-top: 40px;
}
}