/* Navbar hacks -------------------- */

.visible-xl,
.visible-xl-block,
.visible-xl-inline,
.visible-xl-inline-block {
  display: none !important;
}

@media (min-width: 1415px) {
  .visible-xl {
    display: block !important;
  }
  table.visible-xl {
    display: table !important;
  }
  tr.visible-xl {
    display: table-row !important;
  }
  th.visible-xl,
  td.visible-xl {
    display: table-cell !important;
  }

  .visible-xl-block {
    display: block !important;
  }

  .visible-xl-inline {
    display: inline !important;
  }

  .visible-xl-inline-block {
    display: inline-block !important;
  }
}

/* Global layout ------------------- */

.main-col, .fixed-col {
    padding: 0 0 15px;
}

@media (min-width: 768px) {
    .fixed-col {
        position: sticky;
        top: 35px;
        padding-top: 15px;
    }

    .fixed-col + .main-col {
        padding: 15px 0 15px 15px;
    }
}

@media (min-width: 992px) {
    .main-col {
        padding: 15px;
    }
}

.main-col-mult {
    column-gap: 45px;
}

.main-bg {
    background: white;
}

.main-padding {
    padding: 15px;
}

@media (min-width: 768px) {
    .main-padding {
        padding: 30px;
    }
}


/* Section ------------------------- */

section {
    margin-bottom: 15px;
    position:relative;
}

section:last-child {
    margin-bottom: 0;
}


/* Section - Elements -------------- */

section > * {
    background: white;
    padding: 15px;
}

section > .full,
section > table,
section > .table-responsive {
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

section .full {
    margin-left: -15px;
    margin-right: -15px;
}

@media (min-width: 992px) {
    section > * {
        padding: 30px;
    }

    section .full {
        margin-left: -30px;
        margin-right: -30px;
    }
}

section .row > div:last-child {
    margin-bottom: 0 !important;
}

@media (max-width: 768px) {
    section .row > div {
        margin-bottom: 10px;
    }
}

@media (max-width: 1200px) {
    section .row > div {
        margin-bottom: 20px;
    }
}

section ul ul {
    padding-left: 30px;
}

/* Titles & Heading */

section h2,
section .heading {
    background: transparent;
    margin: 20px 15px 15px;
    padding: 0;
    border-bottom: 3px solid #c8102e;
    font-family: "Roboto Slab";
    font-size: 40px;
    line-height: 1.1;
}

section h3 {
    border-bottom: 2px solid #c8102e;
    margin: 0 0 10px;
    padding: 10px 0 10px;
    font-size: 25px;
    font-weight: bold;
}

section .heading .buttons {
    opacity: 0.7;
    top: 10px;
    float: right;
}

section h2:first-child,
section h3:first-child {
    padding-top: 0;
    margin-top: 0;
}
