* {
  box-sizing: border-box;
}

body {
  width: 100%;
  padding: 0;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.noscroll {
  overflow: hidden;
}

a {
  cursor: pointer;
  text-decoration: none;
}

.container {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.container.tight {
  max-width: 1000px;
}
.container.right {
  text-align: right;
}
.center {
    text-align: center;
}

.hidden {
  display: none !important;
}

.flex-row {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
}
.flex-row.cg10 {
  column-gap: 10px;
}
.flex-row.cg15 {
  column-gap: 15px;
}
.flex-row.cg20 {
  column-gap: 20px;
}

.mb0, .mb10, .mb20 {
  position: relative !important;
  display: block !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

form {
  width: 100%;
  position: relative;
  display: block;
}
form .form-group {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0 0 15px 0;
}
form .form-group label {
  color: #0F4C81;
  font-weight: 700;
  margin: 0;
  position: relative;
  display: block;
  width: 100%;
}
form .form-group input[type=text], form .form-group input[type=email], form .form-group input[type=password] {
  position: relative;
  display: block;
  width: 100%;
  height: 50px;
  border-radius: 7px;
  border: 1px solid #DDDDDD;
  font-family: "Source Sans 3", sans-serif;
  font-size: 15px;
  padding: 0 7px;
}
form .form-group input[type=text]:focus, form .form-group input[type=text]:focus-visible, form .form-group input[type=email]:focus, form .form-group input[type=email]:focus-visible, form .form-group input[type=password]:focus, form .form-group input[type=password]:focus-visible {
  outline: none;
  border: 1px solid #0F4C81;
}
form .form-group input[type=text]::placeholder sup, form .form-group input[type=email]::placeholder sup, form .form-group input[type=password]::placeholder sup {
  color: red;
}
form .form-group select {
  position: relative;
  display: block;
  width: 100%;
  height: 50px !important;
  border-radius: 7px;
  border: 1px solid #DDDDDD;
  font-family: "Source Sans 3", sans-serif;
  font-size: 15px;
  padding: 0 7px;
}
form .form-group textarea {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  min-height: 100px;
  border-radius: 7px;
  border: 1px solid #DDDDDD;
  font-family: "Source Sans 3", sans-serif;
  font-size: 15px;
  padding: 0 7px;
}
form .form-group textarea:focus, form .form-group textarea:focus-visible {
  outline: none;
  border: 1px solid #0F4C81;
}
form .form-group textarea::placeholder sup {
  color: red;
}
form .form-group .login-error {
  font-size: 12px;
  font-weight: 400;
  font-family: "Source Sans 3", sans-serif;
  font-style: italic;
  color: red;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
form .form-group .login-error.active {
  opacity: 1;
}
form .form-group .icon-input-wrapper {
  display: flex;
  flex-direction: row;
  position: relative;
  width: 100%;
  align-items: stretch;
  justify-content: flex-start;
}
form .form-group .icon-input-wrapper .icon-wrapper {
  width: 50px;
  height: 50px;
  display: flex;
  background-color: #F3F3F3;
  border-radius: 8px 0 0 8px;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid #DDDDDD;
}
form .form-group .icon-input-wrapper .icon-wrapper i {
  color: #0F4C81;
  font-size: 22px;
}
form .form-group .icon-input-wrapper .icon-input {
  flex-grow: 1;
  position: relative;
  display: block;
}
form .form-group .icon-input-wrapper .icon-input input[type=text], form .form-group .icon-input-wrapper .icon-input input[type=email], form .form-group .icon-input-wrapper .icon-input input[type=password] {
  flex-grow: 1;
  width: 100%;
  position: relative;
  border-radius: 0 8px 8px 0;
  border: 1px solid #DDDDDD;
  border-left: 0;
  padding: 0 10px;
}

.grid {
  display: grid;
}
.grid.grid2 {
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .grid.grid2 {
    grid-template-columns: 1fr 1fr;
  }
}
.grid.grid3 {
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .grid.grid3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.grid.cg10 {
  column-gap: 10px;
}
.grid.cg15 {
  column-gap: 15px;
}
.grid.cg20 {
  column-gap: 20px;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Source Sans 3", sans-serif;
  font-weight: 700;
  margin: 0;
  line-height: 100%;
  position: relative;
  display: block;
}

h1 {
  font-size: 25px;
}
@media screen and (min-width: 768px) {
  h1 {
    font-size: 30px;
  }
}
@media screen and (min-width: 960px) {
  h1 {
    font-size: 35px;
  }
}

h2 {
  font-size: 40px;
}
@media screen and (min-width: 768px) {
  h2 {
    font-size: 47px;
  }
}
@media screen and (min-width: 960px) {
  h2 {
    font-size: 55px;
  }
}

h3 {
  font-size: 30px;
  font-weight: 900;
}

h4 {
  font-size: 22px;
  font-weight: 800;
}

p {
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 300;
  margin: 0 0 30px 0;
  line-height: 150%;
}
ul li, ol li {
  font-family: "Poppins", sans-serif;
}

blockquote {
  font-family: "Poppins", sans-serif;
}

/*
 * Base button styling.  Use inline-flex instead of flex so buttons size to
 * their content rather than expanding to fill their container.  Add
 * generous padding to reduce crowding and provide a comfortable click
 * target.  The border-radius gives subtle rounding consistent with the
 * rest of the app.  Keep text uppercase and bold for emphasis.  Note
 * that specific size variants (e.g. .btn.md) may override padding or
 * height.
 */
.btn {
  border: 0;
  background-color: transparent;
  appearance: none;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 1px;
  width: auto;
  transition: all 0.3s ease-in-out;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-grow: 0;
  flex-shrink: 1;
  padding: 6px 16px;
  border-radius: 6px;
}
.btn.primary {
  background-color: #0F4C81;
  color: #FFFFFF;
}
.btn.primary:hover {
  background-color: #C2E502;
  color: #0F4C81;
}
.btn.secondary {
    background-color: #0F4C81;
    color: #FFFFFF;
}
.btn.secondary:hover {
    background-color: #C2E502;
    color: #0F4C81;
}
.btn.decline-term {
    background-color: red;
    color: #FFFFFF;
}
.reject-variation .secondary {
    background-color: red;
    color: #FFFFFF;
}
.btn.decline-term:hover {
    background-color: #c62828;
    color: #000000;
}
.reject-variation .secondary:hover {
    background-color: #c62828;
    color: #000000;
}
.btn.text {
  color: #00294D !important;
}
.btn.md {
  height: 30px;
  border-radius: 5px;
  font-size: 12px;
  padding: 0 12px;
}
.btn.lg {
  height: 50px;
  border-radius: 7px;
}
.btn.fw {
  width: 100%;
}

.app-table {
  position: relative;
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}
.app-table thead th {
  text-align: left;
  border-bottom: 2px solid #0F4C81;
  color: #0F4C81;
}
.app-table tbody tr:nth-child(even) td {
  background-color: #F3F3F3;
}
.app-table tbody tr td {
  vertical-align: middle;
  height: 50px;
  color: #5F6568;
}
.app-table tbody tr td.right {
  text-align: right;
}
.app-table tbody tr td .table-row-menu-toggle {
  appearance: none;
  border: 0;
  background-color: transparent;
  outline: none;
  cursor: pointer;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin: 0 0 0 auto;
}
.app-table tbody tr td .table-row-menu-toggle i {
  font-size: 22px;
  color: #0F4C81;
}
.app-table tbody tr td .table-row-menu {
  display: none;
  position: absolute;
  right: 0;
  background-color: #FFFFFF;
  border: 1px solid #E3E3E3;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);
  border-radius: 7px;
  overflow: hidden;
  width: 120px;
}
.app-table tbody tr td .table-row-menu.active {
  display: block;
}
.app-table tbody tr td .table-row-menu .table-row-menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}
.app-table tbody tr td .table-row-menu .table-row-menu-list li {
  position: relative;
  display: block;
  width: 100%;
  text-align: right;
  border-bottom: 1px solid #E3E3E3;
  padding: 0;
}
.app-table tbody tr td .table-row-menu .table-row-menu-list li:last-of-type {
  border-bottom: 0;
}
.app-table tbody tr td .table-row-menu .table-row-menu-list li a {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding: 5px 10px;
  margin: 0;
  color: #5F6568;
  transition: color 0.3s ease-in-out;
}
.app-table tbody tr td .table-row-menu .table-row-menu-list li a:hover {
  color: #0F4C81;
}
.app-table tbody tr td a {
  color: #0F4C81;
}

fieldset {
  width: 100%;
  padding: 10px;
  border: 1px solid #C9D9E8;
  border-radius: 10px;
  margin: 0 auto 30px auto;
}
fieldset legend {
  width: auto;
  background-color: transparent;
  margin: 0 10px;
  font-weight: 700;
  font-size: 16px;
  color: #0F4C81;
}

body {
  font-family: "Source Sans 3", sans-serif;
}
body .rc-interface-wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 2fr 10fr;
}
body .rc-interface-wrapper .sidebar {
  background-color: #00294D;
  padding: 25px 20px;
  margin: 0;
  border: 0;
  position: relative;
  display: block;
}
body .rc-interface-wrapper .sidebar .logo-wrapper {
  width: 100%;
  position: relative;
  display: block;
  padding: 0;
  margin: 0 0 30px 0;
}
body .rc-interface-wrapper .sidebar .logo-wrapper svg {
  width: 100%;
  max-width: 200px;
  position: relative;
  display: block;
}
body .rc-interface-wrapper .sidebar .nav-wrapper {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0;
  border: 0;
}
body .rc-interface-wrapper .sidebar .nav-wrapper .nav-list {
  position: relative;
  display: block;
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
  border: 0;
}
body .rc-interface-wrapper .sidebar .nav-wrapper .nav-list .nav-item {
  position: relative;
  display: block;
  width: 100%;
  height: 35px;
  padding: 0;
  margin: 0 0 5px 0;
  border: 0;
  text-decoration: none;
}
body .rc-interface-wrapper .sidebar .nav-wrapper .nav-list .nav-item.active .nav-item-link, body .rc-interface-wrapper .sidebar .nav-wrapper .nav-list .nav-item:hover .nav-item-link {
  border-radius: 5px;
  background-color: #C2E502;
  height: 35px;
  text-decoration: none;
}
body .rc-interface-wrapper .sidebar .nav-wrapper .nav-list .nav-item.active .nav-item-link .nav-item-icon i, body .rc-interface-wrapper .sidebar .nav-wrapper .nav-list .nav-item:hover .nav-item-link .nav-item-icon i {
  color: #00294D;
}
body .rc-interface-wrapper .sidebar .nav-wrapper .nav-list .nav-item.active .nav-item-link .nav-item-title, body .rc-interface-wrapper .sidebar .nav-wrapper .nav-list .nav-item:hover .nav-item-link .nav-item-title {
  color: #00294D;
}
body .rc-interface-wrapper .sidebar .nav-wrapper .nav-list .nav-item .nav-item-link {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  column-gap: 5px;
  height: 35px;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
}
body .rc-interface-wrapper .sidebar .nav-wrapper .nav-list .nav-item .nav-item-link .nav-item-icon {
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: all 0.3s ease-in-out;
}
body .rc-interface-wrapper .sidebar .nav-wrapper .nav-list .nav-item .nav-item-link .nav-item-icon i {
  color: #FFFFFF;
  transition: all 0.3s ease-in-out;
}

/*
 * Navigation SVG icon styling
 * Many sidebar icons are implemented as inline <svg> elements instead of
 * font icons.  Define consistent sizing and color rules for these SVGs to
 * mirror the behaviour of the font icons defined above.  Icons are white
 * by default and change to dark blue on hover or when active.
 */
body .rc-interface-wrapper .sidebar .nav-wrapper .nav-list .nav-item .nav-item-link .nav-item-icon svg {
  width: 20px;
  height: 20px;
  fill: #FFFFFF;
  transition: all 0.3s ease-in-out;
}
body .rc-interface-wrapper .sidebar .nav-wrapper .nav-list .nav-item.active .nav-item-link .nav-item-icon svg,
body .rc-interface-wrapper .sidebar .nav-wrapper .nav-list .nav-item:hover .nav-item-link .nav-item-icon svg {
  fill: #00294D;
}
body .rc-interface-wrapper .sidebar .nav-wrapper .nav-list .nav-item .nav-item-link .nav-item-title {
  color: #FFFFFF;
  font-weight: 300;
  font-size: 14px !important;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
}
body .rc-interface-wrapper .body-wrapper {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  min-height: 100vh;
  padding: 0;
  margin: 0;
  border: 0;
}
body .rc-interface-wrapper .body-wrapper .body-header {
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  height: 85px;
  padding: 0 20px 0 30px;
}
body .rc-interface-wrapper .body-wrapper .body-header .page-title h1 {
  margin: 0;
}
body .rc-interface-wrapper .body-wrapper .body-header .profile {
  position: relative;
  display: block;
}
body .rc-interface-wrapper .body-wrapper .body-header .profile .user-avatar {
  width: 50px;
  height: 50px;
  border-radius: 25px;
  background-color: #0F4C81;
  color: #FFFFFF;
  text-transform: uppercase;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  font-family: "Source Sans 3", sans-serif;
  cursor: pointer;
}
body .rc-interface-wrapper .body-wrapper .body-header .profile .profile-menu {
  position: absolute;
  display: none;
  top: 60px;
  right: 0;
  z-index: 100;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);
  border-radius: 5px;
}
body .rc-interface-wrapper .body-wrapper .body-header .profile .profile-menu.active {
  display: block;
}
body .rc-interface-wrapper .body-wrapper .body-header .profile .profile-menu .profile-menu-list {
  position: relative;
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
  border: 0;
  width: 150px;
  background-color: #FFFFFF;
  border-radius: 5px;
  border: 1px solid #E2F1FF;
}
body .rc-interface-wrapper .body-wrapper .body-header .profile .profile-menu .profile-menu-list li {
  border-bottom: 1px solid #E2F1FF;
  text-align: right;
  padding: 5px 7px;
}
body .rc-interface-wrapper .body-wrapper .body-header .profile .profile-menu .profile-menu-list li:last-of-type {
  border-bottom: 0;
}
body .rc-interface-wrapper .body-wrapper .body-header .profile .profile-menu .profile-menu-list li a {
  color: #0F4C81;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 300;
}
body .rc-interface-wrapper .body-wrapper .body-layout {
  position: relative;
  display: grid;
  grid-template-columns: 9fr 3fr;
  height: auto;
  min-height: calc(100% - 85px);
}
body .rc-interface-wrapper .body-wrapper .body-layout.nosidebar {
  grid-template-columns: 1fr;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-content {
  background-color: #ECF5FC;
  padding: 20px 30px;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-content .toolbar {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0;
  margin: 0 auto 20px auto;
  border: 0;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-content .toolbar .toolbar-search {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  max-width: 320px;
  flex-grow: 1;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-content .toolbar .toolbar-search .searchbox {
  height: 30px;
  border-radius: 15px;
  border: 1px solid #B2CBE2;
  width: 320px;
  padding: 0 15px;
  font-family: "Source Sans 3", sans-serif;
  font-weight: 300;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-content .toolbar .toolbar-search .search-icon {
  position: absolute;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  right: 0;
  top: 0;
  appearance: none;
  cursor: pointer;
  outline: none;
  background-color: transparent;
  border: 0;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-content .toolbar .toolbar-search .search-icon i {
  color: #00294D;
  font-size: 16px;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-content .toolbar .toolbar-filter .filter-btn {
  appearance: none;
  outline: none;
  cursor: pointer;
  background-color: transparent;
  border: 0;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-content .toolbar .toolbar-filter .filter-btn i {
  font-size: 20px;
  color: #00294D;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-content .contract-models-wrapper {
  background-color: #FFFFFF;
  position: relative;
  display: block;
  width: 100%;
  padding: 10px;
  margin: 0 auto;
  border: 1px solid #B2CBE2;
  border-radius: 8px;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-content .contract-models-wrapper .contract-models-list {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0;
  border: 0;
  list-style: none;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-content .contract-models-wrapper .contract-models-list .contract-model {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  background-color: #f4f4f4;
  border: 1px solid #e5e5e5;
  padding: 20px;
  margin: 0 0 10px 0;
  column-gap: 20px;
  border-radius: 6px;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-content .contract-models-wrapper .contract-models-list .contract-model .contract-model-icon svg {
  width: 100%;
  max-width: 75px;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-content .contract-models-wrapper .contract-models-list .contract-model .contract-model-details h3 {
  font-size: 18px;
  margin: 0 0 5px 0;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-content .contract-models-wrapper .contract-models-list .contract-model .contract-model-details p {
  font-size: 14px;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-content .contacts-wrapper {
  width: 100%;
  background-color: #FFFFFF;
  border: 1px solid #E2F1FF;
  border-radius: 10px;
  padding: 20px;
  margin: 0 auto;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-sidebar {
  background-color: #C9D9E8;
  padding: 20px;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-sidebar .sidebar-widget {
  background-color: #FFFFFF;
  border-radius: 8px;
  padding: 20px;
  margin: 0 auto 20px auto;
  border: 0;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-sidebar .sidebar-widget h2 {
  color: #0F4C81;
  margin: 0 0 8px 0;
  font-size: 22px;
  position: relative;
  display: block;
  line-height: 100%;
}
body .rc-interface-wrapper .body-wrapper .body-layout .body-sidebar .sidebar-widget p {
  position: relative;
  display: block;
  font-size: 14px;
  margin: 0;
  color: #0F4C81;
}
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    /* Raise z-index higher than headers, footers and other page elements. 1050 is the
       default for Bootstrap modals.  Use an even higher value to ensure the overlay
       always sits on top, regardless of other elements on the page or framework changes. */
    z-index: 2000; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
    padding-top: 60px;
}

.modal-content {
    background-color: #fefefe;
    margin: 5% auto; /* 15% from the top and centered */
    padding: 20px;
    border: 1px solid #888;
    width: 80%; /* Could be more or less, depending on screen size */
}

.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

p.c2 span.c3 b {
    font-weight: bold !important;
}