html,
body {
  font-family: 'Nunito Sans';
  background: #f6f7ff;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: 'Nunito Sans';
}

strong {
  font-weight: 600;
}

.text-white-75 {
  color: rgba(255, 255, 255, 0.75);
}

.text-white-90 {
  color: rgba(255, 255, 255, 0.9);
}

.bg-black-60 {
  background-color: rgba(0, 0, 0, 0.6);
}

.btn {
  font-weight: 600;
}

.text-uppercase {
  letter-spacing: .0625rem;
}

.fa-ul li {
  margin-bottom: .75rem;
}

.text-primary {
  color: #22bab9 !important;
}

a.text-primary:hover {
  color: #26d0ce !important;
}

.text-primary-dark {
  color: #111b56;
}

a.text-primary-dark:hover {
  color: #1a2980 !important;
}

.font-weight-600 {
  font-weight: 600;
}

.text-back {
  position: absolute;
  top: -3rem;
  right: 2rem;
  font-size: 500%;
  font-weight: 700;
  opacity: .04;
  z-index: 0;
}

.text-back.text-primary {
  opacity: .7;
}

.rounded-xl {
  border-radius: 3rem;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(26, 41, 128, 0.175) !important;
}

.border-2x {
  border-width: 2px;
}

a,
a:focus,
a:hover {
  text-decoration: none;
}

.btn-primary {
  background: #26d0ce;
  border-color: #26d0ce;
}

.btn-primary:not(:disabled):not(.disabled):hover {
  background: #22bab9;
  border-color: #22bab9;
}

.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active {
  background: #26d0ce;
  border-color: #26d0ce;
}

.btn-dark {
  background: #0e4f4e;
  border-color: #0e4f4e;
}

.btn-dark:not(:disabled):not(.disabled):hover {
  background: #167a79;
  border-color: #167a79;
}

.btn-dark:not(:disabled):not(.disabled).active, .btn-dark:not(:disabled):not(.disabled):active {
  background: #0e4f4e;
  border-color: #0e4f4e;
}

#page-container {
  width: 100%;
  min-width: 320px;
  margin: 0 auto;
  background-color: #fff;
}

.container.container-big {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.container.container-footer {
  padding-top: 14rem;
  padding-bottom: 2rem;
}

.square {
  position: absolute;
  display: block;
  top: -5%;
  left: -5%;
  width: 100%;
  height: 700px;
  opacity: .08;
  z-index: 0;
  background: #1a2980;
  background: linear-gradient(to right, #1a2980, #26d0ce);
}

@media (min-width: 992px) {
  .square {
    width: 71%;
  }
}

.square-1 {
  -webkit-transform: skewY(5deg);
          transform: skewY(5deg);
}

.square-2 {
  left: -3%;
  -webkit-transform: skewY(3deg);
          transform: skewY(3deg);
}

.square-flipped.square {
  top: auto;
  right: -5%;
  bottom: -9%;
  left: auto;
  height: 500px;
  background: #26d0ce;
  background: linear-gradient(to right, #26d0ce, #1a2980);
}

@media (min-width: 992px) {
  .square-flipped.square {
    width: 80%;
  }
}

.square-flipped.square-1 {
  -webkit-transform: skewY(-2deg);
          transform: skewY(-2deg);
}

.square-flipped.square-2 {
  left: auto;
  right: -3%;
  -webkit-transform: skewY(-4deg);
          transform: skewY(-4deg);
}

.img-clip-overlay {
  transition: -webkit-transform .2s ease-out;
  transition: transform .2s ease-out;
  transition: transform .2s ease-out, -webkit-transform .2s ease-out;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 90%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 90%);
  will-change: transform;
}

.img-clip-overlay:hover {
  -webkit-transform: rotate3d(-0.5, 0.5, 0.1, 15deg);
          transform: rotate3d(-0.5, 0.5, 0.1, 15deg);
}

.bg-light {
  background-color: #f7f8fd !important;
}

.nav-header .nav-link {
  position: relative;
  padding: .375rem .125rem;
  font-weight: 600;
  color: #1a2980;
}

.nav-header .nav-link i {
  color: #26d0ce;
}

.nav-header .nav-link::before {
  position: absolute;
  top: -.25rem;
  right: -.75rem;
  bottom: -.25rem;
  left: -.75rem;
  content: '';
  background-color: transparent;
  transition: -webkit-transform .12s ease-out;
  transition: transform .12s ease-out;
  transition: transform .12s ease-out, -webkit-transform .12s ease-out;
}

.nav-header .nav-link:hover, .nav-header .nav-link:focus, .nav-header .nav-link.active {
  color: #111b56;
}

.nav-header .nav-link:hover::before, .nav-header .nav-link:focus::before, .nav-header .nav-link.active::before {
  background-color: rgba(26, 41, 128, 0.04);
}

.nav-header .nav-link:active::before {
  -webkit-transform: skewY(-3deg) translateX(-2px);
          transform: skewY(-3deg) translateX(-2px);
}

.nav-header .nav-link + .nav-link {
  margin-left: 2rem;
}
.hr-line {
  background: linear-gradient(to right,transparent,#26d0ce,transparent);
  height: 1px;
  display: block;
  width: 50%;
}

.card {
  border: none;
}

.card-header {
  border-bottom: none;
}
.card:nth-child(odd) .card-header {
  background-color: #fff;
}
.card:nth-child(even) .card-header {
  background-color: #f7f8fd;
}

.contact .square-flipped.square {
  bottom: 6%;
}

/* Prose - Article typography */
.prose {
  line-height: 1.7;
  max-width: 720px;
}

.prose p {
  margin-bottom: 1.25rem;
}

.prose h2 {
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  font-weight: 700;
}

.prose h3 {
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  font-weight: 600;
}

.prose h4 {
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.prose ul,
.prose ol {
  margin-bottom: 1.25rem;
  padding-left: 1.5rem;
}

.prose li {
  margin-bottom: 0.5rem;
}

.prose a {
  color: #22bab9;
  text-decoration: underline;
}

.prose a:hover {
  color: #1a2980;
}

.prose img {
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
  margin: 1.5rem 0;
}

.prose blockquote {
  border-left: 4px solid #26d0ce;
  padding: 1rem 1.5rem;
  margin: 1.5rem 0;
  background-color: #f7f8fd;
  color: #555;
}

.prose blockquote p:last-child {
  margin-bottom: 0;
}

/* Code blocks */
.prose code {
  background-color: #f0f1f6;
  padding: 0.15rem 0.4rem;
  border-radius: 0.25rem;
  font-size: 0.875em;
  color: #1a2980;
}

.prose pre {
  background-color: #1a1a2e;
  color: #e0e0e0;
  padding: 1.25rem 1.5rem;
  border-radius: 0.5rem;
  overflow-x: auto;
  margin: 1.5rem 0;
  line-height: 1.5;
}

.prose pre code {
  background: none;
  padding: 0;
  border-radius: 0;
  font-size: 0.875rem;
  color: inherit;
}

/* Tables */
.prose table {
  width: 100%;
  margin: 1.5rem 0;
  border-collapse: collapse;
}

.prose th,
.prose td {
  padding: 0.75rem 1rem;
  border: 1px solid #dee2e6;
  text-align: left;
}

.prose th {
  background-color: #f7f8fd;
  font-weight: 600;
}

.prose tbody tr:nth-child(even) {
  background-color: #fafbff;
}

/* Syntax highlighting - Prism theme override for dark bg */
.prose pre[class*="language-"] {
  background-color: #1a1a2e;
}