@import url(http://fonts.googleapis.com/css?family=Roboto:300,400,500,700);

.parallax {
  position: absolute;
  overflow: hidden;
  width: 100%;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}

.parallax img {
  width: 100%;
  height: 100%;
}

/* Preloader */

.preloader {
  position: fixed;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background-color: white;
}

.preloader img {
  position: absolute;
  top: calc(50% - 32px);
  left: calc(50% - 32px);
}

.preloader div {
  display: none;
  /* Preload the Second Pricing Image */
  background: url(../img/pricing2.jpg) no-repeat 9999px 9999px;
  background-position: 9999px 9999px;
}

/* Typography */

.bigp {
  font-size: 18px;
  line-height: 1.5;
  color: #80287a;
}

ul.white-list {
  padding: 0;
  list-style-type: none;
}

ul.white-list li {
  font-size: 18px;
  margin: 10px 0;
  color: #fff;
}

ul.white-list li:before {
  content: ' ';
  position: relative;
  top: -3px;
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 15px;
  background: white;
}

header {
  position: relative;
  width: 100%;
  color: #80287a;
  background: rgba(28, 36, 65, 0.93);
  background: url('../img/header.jpg');
  background-size: cover;
}

header .table {
  display: table;
  height: 100%;
}

header .container {
  height: 100%;
}

header .header-text {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  color: #80287a;
}

header .typed {
  display: inline-block;
  margin: 0;
}

header .typed-cursor {
  font-size: 60px;
  display: inline-block;
  margin: 0 10px;
  color: #80287a;
  -webkit-animation-name: flash;
  animation-name: flash;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

ul, ol {
  margin-bottom: 20px;
}

pre {
  border: 0 solid #ccc;
  margin: 0 0 20px;
}

code {
  color: #8a6d3b;
  background-color: #f5f5f5;
}

p {
  margin: 0 0 20px;
}

td p {
  margin: 0;
}

body {
  font-size: 17px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4 {
  margin-top: 20px;
  margin-bottom: 20px;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: 300;
}

h5, .h5, h6, .h6 {
  margin-top: 25px;
  font-weight: 600;
}

.page-header h1 {
  font-weight: 500;
}

.page-header {
  margin: 40px 0 20px;
}

li {
  margin-bottom: 10px;
}

.nav > li {
  margin: 0;
}

/*a {*/
/*text-decoration: none;*/
/*color: #80287a;*/
/*-webkit-transition: all 0.3s ease;*/
/*transition: all 0.3s ease;*/
/*}*/
/* Navigation Bar ( Navbar ) */

nav.navbar {
  position: absolute;
  z-index: 9500;
  width: 100%;
  width: 100vw;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

nav.navbar .navbar-nav li.active a:not(.btn) {
  color: #80287a !important;
}

nav.navbar-fixed-top {
  z-index: 9499;
  top: 0;
  padding-top: 10px;
  padding-bottom: 10px;
  opacity: 1;
  background: white;
  box-shadow: 0 4px 3px rgba(0, 0, 0, 0.05);
}

nav.navbar-fixed-top .navbar-nav > li > a:not(.btn) {
  color: #bbb;
}

.icon-bar {
  background: #bbb;
}

/* Buttons */

.btn {
  font-size: 18px;
  display: inline-block;
  padding: 15px 30px;
  color: #80287a;
  border: 2px solid transparent;
  border-radius: 2px;
  background: transparent;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.btn:hover,
.btn:focus {
  color: #CE2D34;
}

.btn.btn-blue {
  background: #80287a;
  color: #fff;
}

.btn.btn-blue:hover {
  background: #31b9ff;
}

.btn.btn-blue-fill {
  color: #80287a;
  border-color: #80287a;
  background: transparent;
}

.btn.btn-blue-fill:hover {
  color: white;
  background: #80287a;
}

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

.btn.btn-white-fill:hover {
  color: #80287a;
  background: #fff;
}

.btn.btn-gray-fill {
  color: #fff;
  border-color: #fff;
  background: transparent;
}

.btn.btn-gray-fill:hover {
  border-color: #bbb;
  background: #bbb;
}

/* Blink Cursor */

.blink {
  position: relative;
  top: 4px;
  display: inline-block;
  width: 4px;
  height: 50px;
  height: 5vh;
  margin: 0 10px;
}

.navbar {
  top: 50px;
  height: 70px;
}

.container {
  position: relative;
  z-index: 1;
}

/* Sections */
section {
  position: relative;
}

.section {
  padding: 40px 0;
  background: #fff;
}

.main-block {
  padding-top: 50px;
}

.cut-top {
  content: ' ';
  position: absolute;
  z-index: 1;
  top: -80px;
  left: 0;
  width: 0;
  height: 0;
  border-top: 80px solid transparent;
  border-right: 30px solid white;
}

.cut-bottom {
  content: ' ';
  position: absolute;
  z-index: 1;
  bottom: -80px;
  left: 0;
  width: 0;
  height: 0;
  border-bottom: 80px solid transparent;
  border-left: 30px solid white;
}

.intro-tables {
  top: -130px;
  position: relative;
}

.intro-table {
  -webkit-background-size: cover;
  background-size: cover;
  background-repeat: repeat;
  background-position: 0% 0%;
}

.intro-table-hover:hover {
  -webkit-transition: background-image 0.3s ease, background-position 0.3s;
  transition: background-image 0.3s ease, background-position 0.3s;
}

.intro-table1 {
  background-image: url('../img/table-1.jpg');
}

.intro-table2 {
  background-image: url('../img/table-2.jpg');
}

.intro-table3 {
  background-image: url('../img/table-3.jpg');
}

.intro-table-hover1:hover {
  background-image: url('../img/table-1-hover.jpg');
}

.intro-table-hover2:hover {
  background-image: url('../img/table-2-hover.jpg');
}

.intro-table-hover3:hover {
  background-image: url('../img/table-3-hover.jpg');
}

.intro-table-hover h4 {
  -webkit-transform: translateY(170px);
  transform: translateY(170px);
  -webkit-transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
}

.intro-table-hover {
  background-position: 50% 50%;
}

.intro-table-hover .expand {
  margin-top: 120px;
  margin: 30px;
  opacity: 0;
  -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
  transition: transform 0.3s ease, opacity 0.3s;
  -webkit-transform: scale(0.6);
  -ms-transform: scale(0.6);
  transform: scale(0.6);
}

.intro-table-hover:hover h4 {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.intro-table-hover:hover .expand {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.intro-table-hover .hide-hover {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.intro-table-hover:hover .hide-hover {
  opacity: 0;
}

.intro-tables .intro-table {
  position: relative;
  width: 100%;
  height: 300px;
  margin: 20px 0;
}

header h2 {
  font-size: 48px;
  font-weight: 500;
}

section h5 {
  font-weight: 500;
  font-size: 20px;
}

.intro-tables .intro-table .heading {
  margin: 0;
  padding: 30px;
}

.intro-tables .intro-table .small-heading {
  margin: 0;
  padding: 0 30px;
}

.intro-tables .intro-table .bottom {
  position: absolute;
  bottom: 0;
}

.intro-tables .intro-table .owl-schedule .schedule-row {
  padding: 10px 30px;
  color: #80287a;
  transition: all 0.3s ease;
}

.owl-schedule .schedule-row:not(:last-child) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

.owl-testimonials .author {
  margin-top: 50px;
}

.ripple-effect {
  position: absolute;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #80287a;
  -webkit-animation: ripple-animation 2s;
  animation: ripple-animation 2s;
}

@-webkit-keyframes ripple-animation {
  from {
    opacity: 0.2;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(100);
    transform: scale(100);
  }
}

@keyframes ripple-animation {
  from {
    opacity: 0.2;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(100);
    transform: scale(100);
  }
}

.services {
  margin: 40px 0;
}

.service {
  width: 100%;
  height: 320px;
  margin: 80px 0;
  text-align: center;
  border: 1px solid #ddd;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.service .icon-holder {
  position: relative;
  top: 100px;
  display: inline-block;
  margin-bottom: 40px;
  padding: 10px;
  background: #80287a;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.service .heading {
  position: relative;
  top: 80px;
  -webkit-transition: all 600ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: all 600ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.service .icon-holder > img.icon {
  width: 40px;
}

.service:hover {
  border-color: #80287a;
}

.service:hover .icon-holder {
  top: -30px;
}

.service:hover .heading {
  top: -30px;
}

.service .description {
  width: 80%;
  margin: 0 auto;
  opacity: 0;
  -webkit-transition: all 600ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: all 600ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
}

.service:hover .description {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.team {
  margin: 80px 0;
  padding-bottom: 60px;
  background: #80287a;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.07);
}

.team .cover .overlay {
  height: 250px;
  padding-top: 60px;
  opacity: 0;
  background: rgba(0, 168, 255, 0.9);
  -webkit-transition: opacity 0.45s ease;
  transition: opacity 0.45s ease;
}

.team:hover .cover .overlay {
  opacity: 1;
}

.team .avatar {
  position: relative;
  z-index: 2;
  margin-top: -60px;
  border-radius: 50%;
}

.team .title {
  margin: 50px 0;
}

/* Pricing */

#pricing {
  background: #80287a url('../img/pricing1.jpg') no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
  -webkit-transition: background-image 0.6s linear 0.3s;
  transition: background-image 0.6s linear 0.3s;
}

.owl-pricing img {
  width: 100%;
}

.owl-pricing,
.pricings {
  margin-top: 100px;
  margin-bottom: 100px;
}

.pricing {
  position: relative;
  width: 100%;
}

.pricings .pricing .box-main,
.pricings .pricing .box-second {
  position: relative;
  left: 25%;
  display: inline-block;
  width: 50%;
  height: 300px;
  padding: 50px 40px;
  background: #bbb;
  -webkit-transition: -webkit-transform 0.3s, background-image 0.3s, opacity 0.3s;
  transition: transform 0.3s, background-image 0.3s, opacity 0.3s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.pricings .pricing .box-main {
  z-index: 10;
  padding-top: 40px;
}

.pricings .pricing .box-main:not(.active) {
  cursor: pointer;
}

.pricings .pricing .box-main .info-icon {
  font-size: 14px;
  position: absolute;
  top: 20px;
  right: 20px;
  pointer-events: none;
  opacity: 0;
  color: #fff;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.pricings .pricing .box-main:not(.active) .info-icon {
  opacity: 1;
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.pricings .pricing .box-main:not(.active):hover {
  background: #afafaf;
}

.pricings .pricing .box-main.active {
  background: #80287a;
  -webkit-transform: translateX(-99%);
  -ms-transform: translateX(-99%);
  transform: translateX(-99%);
}

.pricings .pricing .box-second {
  position: absolute;
  top: 0;
  right: 0% !important;
  left: auto;
  opacity: 0;
  background: #afafaf;
}

.pricings .pricing .box-second.active {
  opacity: 1;
  background: #80287a;
}

.pricings .pricing.active .box-main,
.pricings .pricing .box-second {
  background: #80287a;
}

.pricings .pricing .box-main a.btn {
  margin-top: 50px;
}

.owl-twitter i.icon {
  font-size: 36px;
  margin-bottom: 60px;
  color: #80287a;
}

/* Footer */

footer {
  padding: 60px 0 40px;
  background-image: linear-gradient(to right, #f59423, #e2632a, #ca2136, #832778);
  -webkit-background-size: cover;
  background-size: cover;
}

footer .trial-button {
  overflow: hidden !important;
  margin: 40px 0;
}

footer .open-blink {
  content: ' ';
  position: relative;
  display: inline-block;
  width: 14px;
  height: 14px;
  margin: 0 20px;
  border-radius: 50%;
  background-color: #4caf50;
  -webkit-animation-name: flash;
  animation-name: flash;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

footer .open-blink:before {
  content: ' ';
  position: absolute;
  top: -8px;
  left: -8px;
  display: inline-block;
  width: 30px;
  height: 30px;
  opacity: 0.1;
  border-radius: 50%;
  background-color: #4caf50;
}

footer .social-footer {
  padding: 0;
  margin-left: -.5em;
  list-style: none;
}

footer .social-footer li {
  display: inline-block;
  margin: 0 10px;
}

footer .social-footer li a {
  font-size: 24px;
  color: #fff;
}

footer .social-footer li:hover a {
  color: #80287a;
}

/* Form Control */

.form-control {
  font-size: 18px;
  position: relative;
  left: 0;
  height: auto;
  padding: 20px 30px;
  border: 1px;
  border-radius: 0;
  box-shadow: 0;
}

.form-control.form-white {
  color: #fff;
  border: 2px solid white;
  background: transparent;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.form-control.form-white::-webkit-input-placeholder {
  /* WebKit browsers */
  color: #fff;
}

.form-control.form-white:-moz-placeholder {
  opacity: 1;
  /* Mozilla Firefox 4 to 18 */
  color: #fff;
}

.form-control.form-white::-moz-placeholder {
  opacity: 1;
  /* Mozilla Firefox 19+ */
  color: #fff;
}

.form-control.form-white:-ms-input-placeholder {
  /* Internet Explorer 10+ */
  color: #fff;
}

.form-control.form-white:focus {
  background: rgba(255, 255, 255, 0.2);
}

/* Popup */
.modal {
  padding: 0 25px !important;
}

.modal-dialog {
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
}

.modal-popup {
  position: relative;
  padding: 45px 30px;
  text-align: center;
  background: url('../img/popup.jpg');
  box-shadow: none;
  border-radius: 2px;
}

.modal-popup a.close-link {
  font-size: 22px;
  position: absolute;
  top: 20px;
  right: 30px;
  color: #fff;
}

.popup-form {
  width: 90%;
  max-width: 375px;
  margin: 60px auto;
}

.popup-form .form-control {
  margin: 20px 0;
}

.popup-form .form-control.dropdown {
  text-align: left;
}

.popup-form .form-control.dropdown:after {
  content: '\f0d7';
  font-family: 'FontAwesome';
  display: inline-block;
  float: right;
  color: white;
}

.popup-form .dropdown .dropdown-menu {
  top: 65px;
  width: 100%;
  padding: 0;
  border: 2px solid white;
  border-top: 0;
  border-radius: 0;
  background: white;
  box-shadow: none;
}

.popup-form .dropdown .dropdown-menu li {
  font-size: 16px;
  width: 100%;
  background: transparent;
}

.popup-form .dropdown .dropdown-menu li a {
  width: 100%;
  padding: 15px 30px;
  color: #80287a;
}

.popup-form .dropdown .dropdown-menu li:hover a {
  color: #fff;
  background: #80287a;
}

/* Checkbox */

.checkbox-holder {
  white-space: nowrap;
}

.checkbox {
  position: relative;
  display: block;
}

.checkbox {
  position: relative;
}

.checkbox label:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  cursor: pointer;
  border: 2px solid white;
  background: transparent;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.checkbox input[type=checkbox]:focus + label:before {
  background: rgba(255, 255, 255, 0.2);
}

.checkbox label:after {
  content: '';
  position: absolute;
  top: 6px;
  left: 6px;
  width: 8px;
  height: 8px;
  opacity: 0;
  background: white;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.checkbox input[type=checkbox] {
  opacity: 0;
  position: absolute;
  width: 0;
  height: 0;
}

.checkbox input[type=checkbox]:checked + label:after {
  opacity: 1;
}

.checkbox-holder span {
  position: relative;
  display: inline-block;
  margin: 0 0 0 10px;
  white-space: normal;
  color: #fff;
}

.btn.btn-submit {
  width: 100%;
  margin-top: 30px;
  color: #80287a;
  border: 2px solid #fff;
  background: #fff;
}

.btn.btn-submit:focus {
  font-weight: bold;
}

.btn.btn-submit:hover {
  color: #80287a;
  background: #fff;
}

/* Mobile Nav */
.mobile-nav {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  display: table;
  width: 100%;
  height: 100%;
  text-align: center;
  opacity: 0;
  background: rgba(255, 255, 255, 0.98);
  -webkit-transition: all 600ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: all 600ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
}

.mobile-nav.active {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.mobile-nav ul {
  display: table-cell;
  padding: 0;
  list-style: none;
  vertical-align: middle;
}

.mobile-nav ul li {
  margin: 25px 0;
}

.mobile-nav ul li a:not(.btn) {
  color: #aaa;
}

.mobile-nav a.close-link {
  font-size: 24px;
  position: absolute;
  bottom: 0;
  left: calc(50% - 10px);
  left: 0;
  width: 100%;
  padding: 15px 0;
  color: #fff;
  background: #80287a;
}

.light {
  font-weight: 300;
}

.regular {
  font-weight: 400;
}

.bold {
  font-weight: bold;
}

/* Colors */

.white {
  color: white;
}

.light-white {
  color: rgba(255, 255, 255, 0.5);
}

.white-bg {
  background: white;
}

.gray-bg {
  background: #f7f7f7;
}

.blue {
  color: #80287a;
}

.blue-bg {
  background: #80287a;
}

.muted {
  color: #989da0;
}

.margin-top {
  margin-top: 150px;
}

@media (max-width: 992px) {
  h1 {
    font-size: 36px;
  }

  h2 {
    font-size: 28px;
  }

  h3 {
    font-size: 24px;
  }

  h4 {
    font-size: 20px;
  }

  h5 {
    font-size: 16px;
  }

  h6 {
    font-size: 12px;
  }

  .section {
    padding: 30px 0;
  }
}

/* Media Queries */

@media (max-width: 991px) {
  .text-center-mobile {
    text-align: center !important;
  }
}

@media (max-width: 768px) {
  .pricing {
    margin-bottom: 30px;
  }

  .pricings .pricing .info-icon {
    display: none;
  }

  .pricings .pricing .box-main,
  .pricings .pricing .box-second {
    left: 0;
    width: 100%;
    padding: 50px 50px 0;
    text-align: left;
    background: #80287a;
  }

  .pricings .pricing .box-main.active {
    background: #80287a;
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
  }

  .pricings .pricing .box-second {
    position: relative;
    opacity: 1;
  }

  .popup-form {
    width: 100%;
    margin: 60px auto;
  }

  .modal {
    padding: 0 10px !important;
  }

  .popup-form .form-control:not(.dropdown):focus {
    position: relative;
    padding-right: 30px;
    padding-left: 30px;
  }
}

@media (max-width: 400px) {
  header .typed-cursor {
    display: none;
  }

  .pricings .pricing .box-second {
    padding-top: 0;
  }
}

.index-title {
  font-size: 80px;
}

.contributor-name {
  color: #80287a;
  font-size: 1.7em;
  margin-bottom: 0.5em;
}

.photo {
  border: 1px solid #ddd;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
  border-radius: 4px;
  padding: 4px;
}

.bs-callout {
  min-height: 160px;
  padding: 20px;
  border: 1px solid #eee;
  border-left-width: 5px;
  border-radius: 3px;
}

.bs-callout h4 {
  margin-top: 0;
  margin-bottom: 5px;
}

.bs-callout p:last-child {
  margin-bottom: 0;
}

.bs-callout code {
  border-radius: 3px;
}

.bs-callout + .bs-callout {
  margin-top: -5px;
}

.bs-callout-primary {

  border-left-color: #80287a;
}

.bs-callout-primary h4 {
  color: #80287a;
}

h2 {
  /*ensure downlooad as PDF are clickable*/
  z-index: -1;
}

vspace {
  height: 1em;
}

.admonitionblock td.content > .title, .exampleblock > .title, .imageblock > .title, .videoblock > .title, .listingblock > .title, .literalblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, .sidebarblock > .title, .tableblock > .title, .verseblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title {
  text-align: left;
  font-weight: bold;
}

.tableblock > caption {
  text-align: left;
  font-weight: bold;
  white-space: nowrap;
  overflow: visible;
  max-width: 0;
}

table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p {
  font-size: inherit;
}

.admonitionblock > table {
  border: 0;
  background: none;
  width: 100%;
  margin: 0 0 20px;
}

.admonitionblock > table td.icon {
  text-align: center;
  width: 80px;
}

.admonitionblock > table td.icon img {
  max-width: none;
}

.admonitionblock > table td.icon .title {
  font-weight: bold;
  text-transform: uppercase;
}

.admonitionblock > table td.content {
  padding-left: 1.125em;
  padding-right: 1.25em;
  border-left: 1px solid #dddddd;
  color: #6f6f6f;
  font-size: 15px;
}

.admonitionblock > table td.content > :last-child > :last-child {
  margin-bottom: 0;
}

[class^="icon-"], [class*=" icon-"] {
  display: inline-block;
  vertical-align: middle;
  background-position: 14px 14px;
  background-repeat: no-repeat;
}

span.icon > [class^="icon-"], span.icon > [class*=" icon-"] {
  cursor: default;
}

.admonitionblock td.icon [class^="fa icon-"]:before {
  font-size: 2.5em;
  text-shadow: 1px 1px 2px #e6e6e6;
  cursor: default; /* -webkit-font-smoothing: antialiased; */
}

.admonitionblock td.icon .icon-note:before {
  content: "\f05a";
  color: #005498;
  color: #80a8c7;
}

.admonitionblock td.icon .icon-tip:before {
  content: "\f0eb";
  text-shadow: 1px 1px 2px rgba(222, 222, 68, 0.8);
  color: #c7ba71;
}

.admonitionblock td.icon .icon-warning:before {
  content: "\f071";
  color: #da8f33;
}

.admonitionblock td.icon .icon-caution:before {
  content: "\f06d";
  color: #af5e40;
}

.admonitionblock td.icon .icon-important:before {
  content: "\f06a";
  color: #bd5a5a;
}

/* Markdown table */
.mdtable {
  border: 1px solid #ddd;
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px;
}

.mdtable > thead > tr > th, .mdtable > thead > tr > td {
  border-bottom-width: 2px;
}

.mdtable > thead > tr > th, .mdtable > tbody > tr > th, .mdtable > tfoot > tr > th, .mdtable > thead > tr > td, .mdtable > tbody > tr > td, .mdtable > tfoot > tr > td {
  border: 1px solid #ddd;
}

.mdtable > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}

.mdtable > thead > tr > th, .mdtable > tbody > tr > th, .mdtable > tfoot > tr > th, .mdtable > thead > tr > td, .mdtable > tbody > tr > td, .mdtable > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd;
}

.group {
  font-size: 17px;
  padding-left: 0;
  list-style-type: none;
  margin-bottom: 30px;
}

.group-title {
  font-size: 17px;
  margin-bottom: 10px;
  font-weight: 500;
}

.group-item {
  font-size: 15px;
  margin: 0 0 5px 0;
}

.group-item-i {
  margin-right: 5px;
  margin-left: 3px;
  color: #8c8c8c;
  /* height: 100%; */
  position: relative;
  float: left;
  /* margin-inline-start: 40px; */
}
