@charset 'UTF-8';
html {
  height:100%
}
#body-wrapper .container {
  padding:2rem 0 2rem
}
.header-fixed #body-wrapper {
  padding-top:4rem
}
.header-fixed .hero+#start>#body-wrapper {
  padding-top:0
}
.section {
  position:relative;
  padding-right:1rem;
  padding-left:1rem
}
.overlay-dark,
.overlay-dark-gradient,
.overlay-light,
.overlay-light-gradient {
  z-index:0
}
.visually-hidden {
  position:absolute!important;
  overflow:hidden;
  clip:rect(0,0,0,0);
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  white-space:nowrap;
  border:0
}
.hero {
  display:-ms-flexbox;
  display:flex;
  padding-top:6rem;
  padding-bottom:7rem;
  background-position:center;
  background-size:cover;
  -ms-flex-align:center;
  align-items:center;
  -ms-flex-pack:center;
  justify-content:center
}
.hero h1 {
  font-size:4rem;
  color:#1a1f2e
}
.hero h2 {
  font-size:2.5rem;
  color:rgba(26,31,46,.8)
}
.hero.hero-fullscreen {
  min-height:100vh
}
.hero.hero-large {
  min-height:500px
}
.hero.hero-medium {
  min-height:400px
}
.hero.hero-small {
  min-height:110px
}
.hero.hero-tiny {
  min-height:8rem
}
.header-fixed .hero {
  background-position:50% 0
}
@media (max-width:840px) {
  .hero h1 {
    font-size:3rem
  }
  .hero h2 {
    font-size:1.75rem
  }
}
@media (max-width:600px) {
  .hero h1 {
    font-size:2rem
  }
  .hero h2 {
    font-size:1.25rem
  }
}
.hero.text-light h1 {
  color:#fff
}
.hero.text-light h2 {
  color:rgba(255,255,255,.8)
}
.hero p {
  font-size:.9rem;
  font-weight:300
}
.hero #to-start {
  font-size:2rem;
  position:absolute;
  bottom:10px;
  display:inline-block;
  cursor:pointer
}
.image-overlay {
  position:absolute;
  z-index:-1;
  top:0;
  right:0;
  bottom:0;
  left:0
}
.overlay-light .image-overlay {
  background:rgba(255,255,255,.4)
}
.overlay-light-gradient .image-overlay {
  background:linear-gradient(to bottom,rgba(255,255,255,.5),rgba(255,255,255,.2))
}
.overlay-dark .image-overlay {
  background:rgba(0,0,0,.4)
}
.overlay-dark-gradient .image-overlay {
  background:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,.2))
}
html {
  font-size:16px
}
@media screen and (min-width:480px) {
  html {
    font-size:calc(16px + 4 * (100vw - 480px)/ 800)
  }
}
@media screen and (min-width:1280px) {
  html {
    font-size:20px
  }
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family:-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',sans-serif;
  margin-top:2rem;
  color:rgb(20.58,23.03,28.42)
}
.h1,
h1 {
  font-size:3rem
}
.h2,
h2 {
  font-size:1.8rem
}
.h6,
h6 {
  font-weight:400
}
.title-center h1,
.title-center h2 {
  text-align:center
}
.title-h1h2 h1 {
  font-weight:100;
  line-height:1.1;
  margin-bottom:0
}
.title-h1h2 h1 bold,
.title-h1h2 h1 strong {
  font-weight:400
}
.title-h1h2 h1+h2 {
  line-height:1.1;
  margin-top:0
}
.title-center h1+h2,
.title-h1h2 h1+h2 {
  font-weight:700;
  margin-bottom:50px
}
a:focus {
  outline:0!important;
  box-shadow:none!important
}
img {
  max-width:100%
}
.table>table {
  width:100%;
  border-spacing:0;
  border-collapse:collapse
}
pre code,
pre.xdebug-var-dump {
  line-height:1.5;
  display:block;
  overflow-x:auto;
  padding:1rem!important;
  color:inherit;
  border-radius:2px;
  background:#fafafa
}
pre[class*=language-] code {
  overflow-x:initial;
  padding:0!important;
  border-radius:inherit
}
pre code:not(.hljs):not([class*=language-]) {
  background:#f8f8f8
}
i.fa.fa-heart-o.pulse,
i.fa.fa-heart.pulse {
  color:#920
}
b,
strong {
  font-weight:700
}
.heavy {
  font-weight:700
}
.light {
  font-weight:200
}
.text-light {
  color:rgba(255,255,255,.8)
}
.text-light .h1,
.text-light .h2,
.text-light .h3,
.text-light .h4,
.text-light .h5,
.text-light .h6,
.text-light h1,
.text-light h2,
.text-light h3,
.text-light h4,
.text-light h5,
.text-light h6 {
  color:rgba(255,255,255,.9)
}
#error {
  position:relative;
  margin-top:5rem;
  text-align:center
}
#error .icon {
  font-size:50px
}
#messages {
  margin-bottom:1rem
}
#messages .icon {
  font-size:1rem
}
ol,
ul {
  margin-left:1.6rem
}
ol ol,
ol ul,
ul ol,
ul ul {
  margin-left:1.6rem
}
ul {
  list-style:disc outside
}
ol {
  list-style:decimal outside
}
.notices {
  margin:1.5rem 0
}
.notices p {
  margin:1rem 0
}
form .button-wrapper {
  margin-top:.75rem;
  margin-bottom:1rem
}
form span.required {
  font-size:1.2rem;
  font-weight:700;
  color:#e85600
}
form .form-input[type=range] {
  -webkit-appearance:slider-horizontal;
  appearance:slider-horizontal
}
form .form-input[type=range]:focus {
  border:none;
  box-shadow:none
}
form .form-group:not(.form-field-toggleable) .checkboxes {
  display:inherit
}
form .form-group:not(.form-field-toggleable) .checkboxes label {
  display:inherit;
  margin:inherit;
  padding:.1rem .4rem .1rem 1.2rem
}
form .form-group:not(.form-field-toggleable) .checkboxes label:before {
  display:none
}
#grav-login>form {
  max-width:350px;
  margin:2rem auto 0
}
#grav-login .form-label {
  display:none
}
#grav-login .form-data {
  margin:1rem 0
}
#grav-login .form-input {
  text-align:center
}
#grav-login .button-wrapper {
  text-align:right
}
#grav-login .button-wrapper .form-data.rememberme {
  float:left;
  margin:0
}
#grav-login .login-form button[type=submit] {
  color:#fff;
  border-color:rgb(34.6113924051,92.6088607595,187.0886075949);
  background:#2563c8
}
#grav-login .login-form button[type=submit]:focus,
#grav-login .login-form button[type=submit]:hover {
  color:#fff;
  border-color:rgb(30.6303797468,81.9569620253,165.5696202532);
  background:rgb(33.0189873418,88.3481012658,178.4810126582)
}
#grav-login .login-form button[type=submit].active,
#grav-login .login-form button[type=submit]:active {
  color:#fff;
  border-color:rgb(29.0379746835,77.6962025316,156.9620253165);
  background:rgb(31.4265822785,84.0873417722,169.8734177215)
}
#grav-login .twofa-form button[type=submit]:first-child {
  color:#fff;
  border-color:rgb(34.6113924051,92.6088607595,187.0886075949);
  background:#2563c8
}
#grav-login .twofa-form button[type=submit]:first-child:focus,
#grav-login .twofa-form button[type=submit]:first-child:hover {
  color:#fff;
  border-color:rgb(30.6303797468,81.9569620253,165.5696202532);
  background:rgb(33.0189873418,88.3481012658,178.4810126582)
}
#grav-login .twofa-form button[type=submit]:first-child.active,
#grav-login .twofa-form button[type=submit]:first-child:active {
  color:#fff;
  border-color:rgb(29.0379746835,77.6962025316,156.9620253165);
  background:rgb(31.4265822785,84.0873417722,169.8734177215)
}
#grav-login .twofa-form button[type=submit]:first-child {
  float:right;
  margin-left:4px
}
.mobile-container {
  position:absolute;
  z-index:2;
  top:40%;
  left:0;
  margin:0 auto
}
.mobile-logo img,
.mobile-logo svg {
  height:42px;
  margin-top:.7rem;
  margin-left:1.4rem
}
.mobile-logo img path,
.mobile-logo svg path {
  fill:#fff
}
.mobile-menu {
  z-index:3;
  top:0;
  right:0;
  display:none
}
.header-fixed .mobile-menu {
  position:fixed
}
@media (max-width:840px) {
  .mobile-menu {
    display:block
  }
}
.mobile-menu .button_container {
  position:absolute;
  z-index:100;
  top:1.3rem;
  right:1rem;
  width:28px;
  height:24px;
  cursor:pointer;
  transition:opacity .25s ease,top .5s ease
}
.mobile-menu .button_container:hover {
  opacity:.7
}
.mobile-menu .button_container.active {
  position:fixed
}
.mobile-menu .button_container.active .top {
  transform:translateY(8px) translateX(0) rotate(45deg);
  background:#fff
}
.mobile-menu .button_container.active .middle {
  opacity:0;
  background:#fff
}
.mobile-menu .button_container.active .bottom {
  transform:translateY(-8px) translateX(0) rotate(-45deg);
  background:#fff
}
.mobile-menu .button_container span {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  cursor:pointer;
  transition:all .35s ease;
  border:none;
  background:#2563c8
}
.mobile-menu .button_container span:nth-of-type(2) {
  top:8px
}
.mobile-menu .button_container span:nth-of-type(3) {
  top:16px
}
.overlay {
  position:fixed;
  top:0;
  left:0;
  visibility:hidden;
  width:100%;
  height:0;
  transition:opacity .35s,visibility .35s,height .35s;
  opacity:0;
  background:#000
}
.overlay.open {
  visibility:visible;
  height:100%;
  opacity:.95
}
.overlay nav {
  position:relative;
  margin:0 auto;
  text-align:center
}
.overlay-menu {
  overflow-y:scroll;
  height:calc(100% - 90px)
}
.overlay-menu>.tree {
  text-align:left
}
.treemenu.treemenu-root {
  margin:1rem
}
.treemenu li {
  line-height:1.2rem;
  margin:0 0 1px;
  padding:5px 0;
  list-style:none;
  background:rgba(3.8333333333,4.2777777778,5.1666666667,.1)
}
.treemenu li a {
  font-size:1rem;
  display:block;
  margin-left:1.2rem
}
.treemenu li a.active,
.treemenu li a:focus,
.treemenu li a:hover {
  text-decoration:none;
  color:rgb(39.3886075949,105.3911392405,212.9113924051)!important
}
.treemenu ul {
  margin:0 0 0 1rem
}
.treemenu .toggler {
  font-size:1.1rem;
  line-height:1rem;
  float:left;
  padding-left:5px;
  cursor:pointer;
  vertical-align:top
}
.treemenu .toggler:before {
  display:inline-block;
  margin-right:2pt
}
.treemenu li.tree-empty>.toggler {
  cursor:default;
  opacity:.3
}
.treemenu li.tree-empty>.toggler:before {
  content:'•'
}
.treemenu li.tree-closed>.toggler:before {
  content:'+'
}
.treemenu li.tree-opened>.toggler:before {
  content:'−'
}
.mobile-nav-open {
  overflow-y:hidden
}
#header,
#header .logo img,
#header .logo svg,
#header .navbar-section,
.default-animation,
.modular-features .feature-icon,
.modular-features.small .feature-icon i {
  transition:all .5s ease
}
.pulse {
  transform-origin:70% 70%;
  animation-name:pulse_animation;
  animation-duration:2s;
  animation-timing-function:linear;
  animation-iteration-count:infinite
}
@keyframes pulse_animation {
  0% {
    transform:scale(1)
  }
  30% {
    transform:scale(1)
  }
  40% {
    transform:scale(1.08)
  }
  50% {
    transform:scale(1)
  }
  60% {
    transform:scale(1)
  }
  70% {
    transform:scale(1.05)
  }
  80% {
    transform:scale(1)
  }
  100% {
    transform:scale(1)
  }
}
.label.label-rounded {
  line-height:1.25;
  margin:.2rem;
  padding:.3rem .55rem;
  border-radius:5rem
}
.label.label-secondary {
  color:#fff;
  background:#454d5d
}
.label.label-light {
  color:#2a2f3a;
  background:rgb(239.6722222222,240.9907407407,243.6277777778)
}
#sidebar ul.archives .label {
  vertical-align:middle!important
}
#header {
  font-size:.7rem;
  font-weight:700;
  width:100%;
  height:4rem;
  color:#454d5d;
  border-bottom:1px solid rgba(113.7777777778,125.9259259259,150.2222222222,.2);
  background:#fff
}
#header a {
  color:#454d5d
}
#header .logo svg path {
  fill:#222
}
.header-dark #header:not(.scrolled) {
  color:#fff;
  background:#222
}
.header-dark #header:not(.scrolled) a {
  color:rgba(255,255,255,.7)!important
}
.header-dark #header:not(.scrolled) a.active {
  color:#fff!important
}
.header-dark #header:not(.scrolled) .dropmenu ul ul a {
  color:#454d5d!important
}
.header-dark #header:not(.scrolled) .logo svg path {
  fill:#fff
}
.header-dark.header-transparent #header:not(.scrolled) {
  background:rgba(0,0,0,.05)
}
.header-transparent #header:not(.scrolled) {
  background:rgba(255,255,255,.05)
}
#header .navbar-section {
  height:4rem
}
@media (max-width:840px) {
  #header .navbar-section {
    margin-right:2rem
  }
}
@media (max-width:840px) {
  #header .navbar-section.desktop-menu {
    display:none
  }
}
#header .logo img,
#header .logo svg {
  display:inherit;
  height:42px
}
.header-fixed #header {
  position:fixed;
  z-index:2;
  top:0
}
body.header-fixed.header-animated #header.scrolled {
  height:2.3rem
}
body.header-fixed.header-animated #header.scrolled .navbar-section {
  height:2.3rem
}
body.header-fixed.header-animated #header.scrolled .logo img,
body.header-fixed.header-animated #header.scrolled .logo svg {
  height:28px
}
body.header-fixed.header-animated #header.scrolled~.mobile-menu .button_container {
  top:.5rem
}
.login-status-wrapper {
  white-space:nowrap
}
body.sticky-footer {
  display:-ms-flexbox;
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:100vh;
  -ms-flex-direction:column
}
body.sticky-footer #page-wrapper {
  -ms-flex:1 0 auto;
  flex:1 0 auto
}
#footer {
  padding:1rem 1rem 0;
  text-align:center;
  color:#acb3c2
}
#footer a {
  position:relative;
  transition:all .3s ease-in-out;
  text-decoration:none;
  border-bottom:dotted 1px
}
#footer a:hover {
  text-decoration:none;
  border-bottom-width:1px;
  border-bottom-style:solid
}
#footer a a:focus {
  outline:0!important;
  box-shadow:none!important
}
@media (max-width:840px) {
  .dropmenu {
    display:none
  }
}
.dropmenu ul {
  display:-ms-flexbox;
  display:flex;
  margin:0;
  white-space:nowrap
}
.dropmenu ul li {
  position:relative;
  margin:0
}
.dropmenu ul li a {
  display:block;
  padding:7px 30px 7px 20px;
  text-decoration:none
}
.dropmenu ul li a.active,
.dropmenu ul li a:focus,
.dropmenu ul li a:hover {
  color:#2563c8!important
}
.dropmenu ul li a:before {
  font-family:FontAwesome;
  display:inline-block;
  float:right;
  /*! margin-right:-20px; */content:'\f107';
  vertical-align:middle
}
.dropmenu ul li a:only-child {
  padding-right:20px
}
.dropmenu ul li a:only-child:before {
  content:''
}
.dropmenu ul li:hover>ul {
  display:block;
  visibility:visible
}
.dropmenu ul ul li a:before {
  content:'\f105'
}
.dropmenu ul ul {
  position:absolute;
  top:100%;
  visibility:hidden;
  list-style:none;
  background:#fff;
  box-shadow:0 3px 5px rgba(0,0,0,.1)
}
.dropmenu ul ul ul {
  position:absolute;
  top:0;
  left:100%
}
.dropmenu>ul>li {
  display:inline-block
}
.dropmenu.animated ul li {
  transition:background .7s,color .5s
}
.dropmenu.animated ul li:hover>ul {
  transform:translateY(0);
  opacity:1
}
.dropmenu.animated ul ul {
  transition:transform .3s,opacity .5s;
  transform:translateY(-10px);
  opacity:0
}
.extra-spacing:not(.col-12),
:not(.col12)>.e-content {
  padding-right:1rem
}
@media (max-width:840px) {
  .extra-spacing:not(.col-12),
  :not(.col12)>.e-content {
    padding-right:0
  }
}
#breadcrumbs {
  display:-ms-flexbox;
  display:flex;
  margin-top:-1rem;
  margin-bottom:1rem;
  padding-left:0;
  -ms-flex-align:center;
  align-items:center
}
#breadcrumbs i {
  display:none
}
#breadcrumbs a,
#breadcrumbs span {
  padding:0 .5rem
}
#breadcrumbs a:first-child,
#breadcrumbs span:first-child {
  padding-left:0
}
#breadcrumbs a:not(:first-child)::before,
#breadcrumbs span:not(:first-child)::before {
  padding-right:1rem;
  content:'/';
  color:#e7e9ed
}
.blog-listing .bricklayer-column {
  padding-right:25px;
  padding-left:0
}
.blog-listing .card {
  margin-bottom:25px;
  border:0;
  box-shadow:0 10px 45px -9px rgba(0,0,0,.1)
}
.blog-listing .card-body a {
  position:relative;
  transition:all .3s ease-in-out;
  text-decoration:none;
  border-bottom:dotted 1px
}
.blog-listing .card-body a:hover {
  text-decoration:none;
  border-bottom-width:1px;
  border-bottom-style:solid
}
.blog-listing .card-body a a:focus {
  outline:0!important;
  box-shadow:none!important
}
.blog-listing .card-footer {
  text-align:right
}
.blog-listing .blog-date {
  font-size:13px
}
.content-title {
  margin-bottom:2rem
}
.content-title h2 {
  margin-bottom:.5rem
}
.content-item a {
  position:relative;
  transition:all .3s ease-in-out;
  text-decoration:none;
  border-bottom:dotted 1px
}
.content-item a:hover {
  text-decoration:none;
  border-bottom-width:1px;
  border-bottom-style:solid
}
.content-item a a:focus {
  outline:0!important;
  box-shadow:none!important
}
.label {
  font-size:12px;
  text-transform:uppercase
}
ul.pagination {
  -ms-flex-pack:center;
  justify-content:center
}
.prev-next {
  margin-top:4rem
}
#sidebar ul.related-pages {
  z-index:1;
  padding:0;
  box-shadow:none
}
#sidebar ul.related-pages li {
  border-bottom:1px solid rgb(216.25,219.5833333333,226.25)
}
#sidebar ul.related-pages li:last-child {
  border-bottom:0
}
#sidebar ul.archives {
  margin-left:0;
  list-style:none
}
#sidebar ul.archives .label {
  vertical-align:text-top
}
.modular-hero #to-start {
  bottom:3.5rem
}
.modular-features {
  text-align:center
}
.modular-features a {
  position:relative;
  transition:all .3s ease-in-out;
  text-decoration:none;
  border-bottom:dotted 1px
}
.modular-features a:hover {
  text-decoration:none;
  border-bottom-width:1px;
  border-bottom-style:solid
}
.modular-features a a:focus {
  outline:0!important;
  box-shadow:none!important
}
.modular-features.offset-box .frame-box {
  margin:-3rem -1.4rem 3rem;
  padding:1rem 1rem;
  background:#fff;
  box-shadow:0 0 75px 0 rgba(69,77,93,.1)
}
.modular-features.small .columns {
  margin-top:-1rem
}
.modular-features.small .column:hover .feature-icon i {
  color:#2563c8
}
.modular-features.small .feature-icon {
  display:block;
  -ms-flex-pack:left;
  justify-content:left
}
.modular-features.small .feature-icon i {
  font-size:70px;
  position:relative;
  top:auto;
  left:auto;
  display:inherit;
  margin:0 auto 1rem;
  transform:none;
  color:rgb(113.7777777778,125.9259259259,150.2222222222)
}
.modular-features.small .feature-icon span {
  text-transform:none
}
.modular-features .frame-box {
  padding:3rem 0
}
.modular-features .frame-box>p {
  max-width:600px;
  margin-right:auto;
  margin-left:auto
}
.modular-features .column {
  padding:1rem
}
.modular-features .column:hover .feature-icon {
  color:#2563c8
}
.modular-features .column:hover .feature-icon span {
  color:#2563c8
}
.modular-features .column:hover .feature-content {
  color:#2563c8
}
.modular-features .feature-icon {
  font-size:130px;
  position:relative;
  display:-ms-flexbox;
  display:flex;
  height:100px;
  margin:1rem 0;
  color:rgb(172.3333333333,179.4444444444,193.6666666667);
  -ms-flex-align:center;
  align-items:center;
  -ms-flex-pack:center;
  justify-content:center
}
.modular-features .feature-icon i {
  position:absolute;
  top:50%;
  left:50%;
  transform:translateX(-50%) translateY(-50%)
}
.modular-features .feature-icon span {
  font-size:.8rem;
  font-weight:600;
  line-height:1;
  z-index:1;
  display:block;
  margin:0;
  text-transform:uppercase;
  color:rgb(3.8333333333,4.2777777778,5.1666666667);
  background:#fff
}
.modular-features .feature-content {
  color:rgb(3.8333333333,4.2777777778,5.1666666667)
}
.modular-text {
  padding-top:4rem;
  padding-bottom:4rem
}
.modular-text .columns.left {
  flex-direction:row-reverse;
  -ms-flex-direction:row-reverse
}
.modular-text a {
  position:relative;
  transition:all .3s ease-in-out;
  text-decoration:none;
  border-bottom:dotted 1px
}
.modular-text a:hover {
  text-decoration:none;
  border-bottom-width:1px;
  border-bottom-style:solid
}
.modular-text a a:focus {
  outline:0!important;
  box-shadow:none!important
}
