:root {
  --text-color-primary: #fff;
  --text-color-secondary: #38628c;
  --accent-color-primary: #f93;
  --accent-color-secondary: #143d66;
  --background-color-primary: #041526;
  --background-color-secondary: #062340;
  --alternate-text-color-primary: #062340;
  --alternate-text-color-secondary: #8faecc;
  --alternate-background-color-primary: #fff;
  --alternate-background-color-secondary: #ebf4ff;
  --gradient-text-color-primary: #fff;
  --gradient-text-color-secondary: #062340;
  --gradient-background-color-primary: #f93;
  --gradient-background-color-secondary: #fc3;
  --header-background-color: #041526;
  --header-logo-font-size: 32px;
  --header-logo-height: 40px;
  --box-shadow-color: rgba(4, 21, 38, 0.25);
  --box-shadow-size: 48px;
  --transition-timing-function: ease;
  --transition-duration: .25s;
  --font-size-heading-1: 48px;
  --font-size-heading-2: 32px;
  --font-size-heading-3: 24px;
  --font-size-heading-4: 20px;
  --font-size-heading-5: 16px;
  --font-size-body: 16px;
  --font-spacing: 12px;
  --container-width: 1200px;
  --element-spacing: 40px;
  --border-radius: 12px
}

body {
  color: var(--text-color-primary);
  font: 400 var(--font-size-body)/1 'Open Sans', sans-serif;
  background-color: var(--background-color-primary);
  -webkit-tap-highlight-color: transparent
}

h1,
h2,
h3,
h4,
h5,
ul,
ol,
p {
  padding: 0;
  margin: 0
}

h1,
h2,
h3,
h4,
h5 {
  font-weight: 600
}

h1 {
  font-size: var(--font-size-heading-1);
  line-height: calc(var(--font-size-heading-1) + var(--font-spacing))
}

h2 {
  font-size: var(--font-size-heading-2);
  line-height: calc(var(--font-size-heading-2) + var(--font-spacing))
}

h3 {
  font-size: var(--font-size-heading-3);
  line-height: calc(var(--font-size-heading-3) + var(--font-spacing))
}

h4 {
  font-size: var(--font-size-heading-4);
  line-height: calc(var(--font-size-heading-4) + var(--font-spacing))
}

h5 {
  font-size: var(--font-size-heading-5);
  line-height: calc(var(--font-size-heading-5) + var(--font-spacing))
}

p {
  font-size: var(--font-size-body);
  line-height: calc(var(--font-size-body) + var(--font-spacing))
}

a {
  color: var(--accent-color-primary);
  text-decoration: none;
  outline: 0
}

a:not(.button) {
  transition-timing-function: var(--transition-timing-function);
  transition-duration: var(--transition-duration);
  transition-property: color
}

a:not(.button):hover {
  color: var(--text-color-primary)
}

em {
  font-style: italic
}

small {
  color: var(--text-color-secondary);
  font-size: 87.5%
}

strong {
  font-weight: 600
}

mark {
  padding: 0 .2em;
  border-radius: .2em;
  color: var(--gradient-text-color-primary);
  background-color: var(--gradient-background-color-primary);
  background: linear-gradient(90deg, var(--gradient-background-color-primary), var(--gradient-background-color-secondary))
}

abbr {
  cursor: help
}

address {
  line-height: calc(var(--font-size-body) + var(--font-spacing))
}

svg,
img,
video {
  display: inline-block;
  max-width: 100%;
  height: auto
}

iframe {
  display: block;
  max-width: 100%;
  border: 0
}

dl,
dl dt,
dl dd {
  padding: 0;
  margin: 0
}

dl {
  display: flex;
  flex-flow: row;
  flex-wrap: wrap;
  line-height: calc(var(--font-size-body) + var(--font-spacing))
}

dl dt {
  flex: 0 0 30%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--text-color-secondary)
}

dl dd {
  flex: 0 0 70%;
  box-sizing: border-box;
  padding-left: calc(var(--element-spacing) / 4)
}

.fa-primary,
.text-primary {
  color: var(--text-color-primary) !important
}

.fa-secondary,
.text-secondary {
  color: var(--text-color-secondary) !important
}

.fa-accent-primary,
.text-accent-primary {
  color: var(--accent-color-primary) !important
}

.fa-accent-secondary,
.text-accent-secondary {
  color: var(--accent-color-secondary) !important
}

.fa-alternate-primary,
.text-alternate-primary {
  color: var(--alternate-text-color-primary) !important
}

.fa-alternate-secondary,
.text-alternate-secondary {
  color: var(--alternate-text-color-secondary) !important
}

.fa-gradient,
.text-gradient {
  color: transparent !important;
  background: linear-gradient(90deg, var(--gradient-background-color-primary), var(--gradient-background-color-secondary));
  -webkit-background-clip: text;
  background-clip: text
}

.link-primary a:not(.button) {
  color: var(--text-color-primary)
}

.link-secondary a:not(.button) {
  color: var(--text-color-secondary)
}

.link-primary a:not(.button):hover,
.link-secondary a:not(.button):hover {
  color: var(--accent-color-primary)
}

.fa-error,
.text-error {
  color: #dc3545 !important
}

.fa-success,
.text-success {
  color: #28a745 !important
}

.fa-warning,
.text-warning {
  color: #fc3 !important
}

h1:not(:first-child),
h2:not(:first-child),
hr:not(:first-child),
pre:not(:first-child),
form:not(:first-child),
table:not(:first-child),
iframe:not(:first-child),
.tab:not(:first-child),
.box:not(:first-child),
.map:not(:first-child),
.flex:not(:first-child),
.stack:not(:first-child),
.gallery:not(:first-child),
.pre-code:not(:first-child),
.article-blog:not(:first-child),
.section-header:not(:first-child),
.section-footer:not(:first-child),
header+.flex.flex-small:not(:first-child),
div+.flex.flex-small:not(:first-child) {
  margin-top: calc(var(--element-spacing) * 2)
}

p:not(:first-child),
dl:not(:first-child),
ul:not(:first-child),
ol:not(:first-child),
nav:not(:first-child),
i+h1:not(:first-child),
i+h2:not(:first-child),
i+h3:not(:first-child),
i+h4:not(:first-child),
i+h5:not(:first-child),
.box.box-small .box-content .flex:not(:first-child),
.flex.flex-small:not(:first-child) {
  margin-top: calc(var(--element-spacing) / 2)
}

p+p .button,
ul+p .button,
ol+p .button {
  margin-top: calc(var(--element-spacing) / 4)
}

h3:not(:first-child),
h4:not(:first-child),
h5:not(:first-child),
table+.box:not(:first-child),
form+.table-domains:not(:first-child),
.box .box-content .flex:not(:first-child),
.box.box-small+.box.box-small:not(:first-child),
.flex.flex-small+.flex.flex-small:not(:first-child),
.flex.flex-small+.box.box-small:not(:first-child) {
  margin-top: var(--element-spacing)
}

.text-left {
  text-align: left
}

.text-right {
  text-align: right
}

.text-center {
  text-align: center
}

.border-radius {
  overflow: hidden;
  border-radius: var(--border-radius)
}

.border-radius-none {
  border-radius: 0 !important
}

.container {
  width: calc(100% - (var(--element-spacing) * 2));
  max-width: var(--container-width);
  padding: 0 var(--element-spacing);
  margin: 0 auto
}

.container.container-wide {
  max-width: none
}

.container.container-blog {
  max-width: 700px
}

code {
  padding: 0 .2em;
  border-radius: .2em;
  font-family: Courier, monospace;
  background-color: var(--accent-color-secondary)
}

pre {
  overflow: auto;
  display: block;
  width: 100%;
  font-family: Courier, monospace;
  color: var(--alternate-text-color-primary);
  font-size: calc(var(--font-size-body) - 2px);
  line-height: calc((var(--font-size-body) - 2px) + (var(--font-spacing) / 2));
  padding: calc(var(--element-spacing) / 3) calc(var(--element-spacing) / 2.5);
  background-color: var(--alternate-background-color-primary)
}

.pre-code,
pre:not(.pre-code-inner) {
  box-shadow: 0 calc(var(--box-shadow-size) / 2) var(--box-shadow-size) var(--box-shadow-color);
  border-radius: calc(var(--border-radius) / 1.5)
}

.pre-code {
  position: relative;
  overflow: hidden;
  display: flex
}

.pre-code ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
  padding: calc(var(--element-spacing) / 3) calc(var(--element-spacing) / 2.5);
  background-color: var(--alternate-background-color-secondary)
}

.pre-code ul li {
  text-align: right;
  font-family: Courier, monospace;
  color: var(--alternate-text-color-secondary);
  font-size: calc(var(--font-size-body) - 2px);
  line-height: calc((var(--font-size-body) - 2px) + (var(--font-spacing) / 2))
}

.pre-code pre {
  margin: 0 !important
}

ul,
ol {
  margin-left: var(--font-size-body)
}

ul li,
ol li {
  line-height: calc(var(--font-size-body) + var(--font-spacing))
}

ul li ul,
ol li ul,
ul li ol,
ol li ol {
  padding: calc(var(--element-spacing) / 3) calc(var(--element-spacing) / 2);
  margin: 0 !important;
  padding-right: 0
}

ul li .fas:first-child,
ul li .far:first-child,
ul li .fal:first-child,
ul li .fab:first-child,
ol li .fas:first-child,
ol li .far:first-child,
ol li .fal:first-child,
ol li .fab:first-child {
  width: calc(var(--font-size-body) + 2px);
  text-align: center
}

.ul-style-none ul,
.ul-style-none,
nav ul {
  list-style-type: none;
  margin-left: 0
}

nav ul li a.button {
  margin: calc(var(--element-spacing) / 6) 0
}

nav ul li a:not(.button) {
  display: inline-block;
  padding: calc(var(--element-spacing) / 10) 0
}

nav ul li:first-child>a.button {
  margin-top: 0
}

nav ul li:first-child>a:not(.button) {
  padding-top: 0
}

nav ul li:last-child>a.button {
  margin-bottom: 0
}

nav ul li:last-child>a:not(.button) {
  padding-bottom: 0
}

.tab {
  display: flex;
  align-items: center;
  flex-direction: column
}

.tab .tab-navigation {
  display: flex;
  padding: 6px;
  margin-left: 0;
  list-style-type: none;
  color: var(--alternate-text-color-secondary);
  background-color: var(--alternate-background-color-primary);
  border-radius: calc(var(--border-radius) * 10)
}

.tab .tab-navigation li {
  cursor: pointer;
  text-align: center;
  padding: calc(var(--element-spacing) / 4) calc(var(--element-spacing) / 2);
  border-radius: calc(var(--border-radius) * 10);
  transition-timing-function: var(--transition-timing-function);
  transition-duration: var(--transition-duration);
  transition-property: background-color;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.tab .tab-navigation li:hover {
  background-color: var(--alternate-background-color-secondary)
}

.tab .tab-navigation li:not(:last-child) {
  margin-right: 6px
}

.tab .tab-navigation li.tab-active {
  color: var(--gradient-text-color-primary);
  background-color: var(--gradient-background-color-primary);
  background: linear-gradient(90deg, var(--gradient-background-color-primary), var(--gradient-background-color-secondary))
}

.tab .tab-navigation li.tab-active small {
  color: var(--gradient-text-color-secondary)
}

.tab .tab-content {
  width: 100%;
  position: relative;
  margin-top: calc(var(--element-spacing) * 2)
}

.tab .tab-content:not(.tab-active) {
  display: none
}

.box {
  position: relative;
  display: block;
  box-shadow: 0 calc(var(--box-shadow-size) / 2) var(--box-shadow-size) var(--box-shadow-color);
  border-radius: var(--border-radius)
}

.box .box-label {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0 var(--element-spacing);
  color: var(--gradient-text-color-primary);
  line-height: calc(var(--font-size-body) + var(--font-spacing) - 4px);
  padding: calc(var(--element-spacing) / 6) calc(var(--element-spacing) / 3);
  background: linear-gradient(90deg, var(--gradient-background-color-primary), var(--gradient-background-color-secondary));
  background-color: var(--gradient-background-color-primary);
  border-radius: calc(var(--border-radius) / 2);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%)
}

.box .box-label small {
  color: var(--gradient-text-color-secondary)
}

.box.box-small .box-label {
  margin: 0 calc(var(--element-spacing) / 1.5);
  padding: calc(var(--element-spacing) / 8) calc(var(--element-spacing) / 4)
}

.box.box-large .box-label {
  margin: 0 calc(var(--element-spacing) * 2);
  padding: calc(var(--element-spacing) / 4) calc(var(--element-spacing) / 2)
}

.box .box-label.box-label-center {
  left: 0;
  right: 0;
  text-align: center
}

.box .box-label.box-label-right {
  left: auto;
  right: 0;
  text-align: right
}

.box .box-header,
.box .box-content,
.box .box-footer {
  padding: var(--element-spacing)
}

.box.box-small .box-header,
.box.box-small .box-content,
.box.box-small .box-footer {
  padding: calc(var(--element-spacing) / 2) calc(var(--element-spacing) / 1.5)
}

.box.box-large .box-header,
.box.box-large .box-content,
.box.box-large .box-footer {
  padding: calc(var(--element-spacing) * 2)
}

.box .box-header+.box-content,
.box.box-small .box-header+.box-content,
.box.box-large .box-header+.box-content {
  padding-top: 0
}

.box .box-label+.box-header,
.box .box-label+.box-content,
.box .box-label+.box-footer,
.box .box-header:first-child,
.box .box-content:first-child,
.box .box-footer:first-child {
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius)
}

.box .box-header:last-child,
.box .box-content:last-child,
.box .box-footer:last-child {
  border-bottom-left-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius)
}

.box .box-header,
.box .box-content {
  color: var(--alternate-text-color-primary);
  background-color: var(--alternate-background-color-primary)
}

.box .box-footer {
  color: var(--alternate-text-color-secondary);
  background-color: var(--alternate-background-color-secondary)
}

.box .box-header>* {
  margin-top: 0
}

.box hr {
  margin: var(--element-spacing) calc(var(--element-spacing) * -1);
  background-color: var(--alternate-background-color-secondary) !important
}

.box.box-small hr {
  margin: calc(var(--element-spacing) / 2) calc(var(--element-spacing) / -2)
}

.box.box-large hr {
  margin: calc(var(--element-spacing) * 2) calc(var(--element-spacing) * -2)
}

.box hr:first-child {
  margin-top: 0
}

.box small,
.box dl dt {
  color: var(--alternate-text-color-secondary)
}

.box a:not(.button):hover {
  color: var(--alternate-text-color-primary)
}

.map {
  position: relative
}

.map ul {
  margin-left: 0;
  list-style-type: none
}

.map ul li {
  position: absolute;
  z-index: 1;
  width: 24px;
  height: 24px;
  margin: -12px
}

.map ul li::before {
  position: absolute;
  content: '';
  z-index: -1;
  margin: 6px;
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background-color: var(--gradient-background-color-primary);
  background: linear-gradient(90deg, var(--gradient-background-color-primary), var(--gradient-background-color-secondary))
}

.map ul li a {
  display: block;
  width: 100%;
  height: 100%
}

.map ul li .map-label-top,
.map ul li .map-label-bottom {
  position: absolute;
  display: none;
  left: 50%;
  bottom: 100%;
  text-align: center;
  white-space: nowrap;
  color: var(--alternate-text-color-primary);
  margin-bottom: calc(var(--element-spacing) / 2);
  padding: calc(var(--element-spacing) / 3) calc(var(--element-spacing) / 2);
  box-shadow: 0 calc(var(--box-shadow-size) / 2) var(--box-shadow-size) var(--box-shadow-color);
  line-height: calc(var(--font-size-body) + var(--font-spacing) - 4px);
  background-color: var(--alternate-background-color-primary);
  border-radius: var(--border-radius);
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0)
}

.map ul li .map-label-bottom {
  top: 100%;
  bottom: auto;
  margin-bottom: 0;
  margin-top: calc(var(--element-spacing) / 2)
}

.map ul li .map-label-top::before,
.map ul li .map-label-bottom::before {
  position: absolute;
  content: '';
  z-index: -1;
  left: 50%;
  bottom: -8px;
  width: 16px;
  height: 16px;
  background-color: var(--alternate-background-color-primary);
  -webkit-transform: translate(-50%, 0) rotate(45deg);
  transform: translate(-50%, 0) rotate(45deg)
}

.map ul li .map-label-bottom::before {
  top: -8px;
  bottom: auto
}

.map ul li .map-label-top::after,
.map ul li .map-label-bottom::after {
  position: absolute;
  content: '';
  top: 100%;
  left: 50%;
  width: 24px;
  height: calc(var(--element-spacing) / 2);
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0)
}

.map ul li .map-label-bottom::after {
  top: auto;
  bottom: 100%
}

.map ul li .map-label-top.map-label-show,
.map ul li .map-label-bottom.map-label-show {
  display: block
}

.map ul li:hover .map-label-top:not(.map-label-show),
.map ul li:hover .map-label-bottom:not(.map-label-show) {
  display: block;
  -webkit-animation-timing-function: var(--transition-timing-function);
  animation-timing-function: var(--transition-timing-function);
  -webkit-animation-duration: var(--transition-duration);
  animation-duration: var(--transition-duration)
}

.map ul li:hover .map-label-top:not(.map-label-show) {
  -webkit-animation-name: animate-map-label-top;
  animation-name: animate-map-label-top
}

.map ul li:hover .map-label-bottom:not(.map-label-show) {
  -webkit-animation-name: animate-map-label-bottom;
  animation-name: animate-map-label-bottom
}

@-webkit-keyframes animate-map-label-top {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, 8px);
    transform: translate(-50%, 8px)
  }
}

@keyframes animate-map-label-top {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, 8px);
    transform: translate(-50%, 8px)
  }
}

@-webkit-keyframes animate-map-label-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -8px);
    transform: translate(-50%, -8px)
  }
}

@keyframes animate-map-label-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -8px);
    transform: translate(-50%, -8px)
  }
}

.map ul li .map-label-top small,
.map ul li .map-label-bottom small {
  display: block;
  color: var(--alternate-text-color-secondary)
}

.map svg {
  width: 100%;
  height: auto
}

.article-blog .article-blog-header h1 a,
.article-blog .article-blog-header h2 a,
.article-blog .article-blog-header h3 a,
.article-blog .article-blog-header h4 a,
.article-blog .article-blog-header h5 a {
  color: var(--text-color-primary)
}

.container-blog header p,
.article-blog .article-blog-header p {
  color: var(--text-color-secondary);
  margin-top: 0
}

.article-blog .article-blog-content {
  margin-top: var(--element-spacing)
}

.container-blog form,
.article-blog hr:not(:first-child),
.article-blog pre:not(:first-child),
.article-blog form:not(:first-child),
.article-blog table:not(:first-child),
.article-blog iframe:not(:first-child),
.article-blog .box:not(:first-child),
.article-blog .map:not(:first-child),
.article-blog .gallery:not(:first-child),
.article-blog .pre-code:not(:first-child) {
  margin-top: var(--element-spacing)
}

.article-blog hr:not(:last-child),
.article-blog pre:not(:last-child),
.article-blog form:not(:last-child),
.article-blog table:not(:last-child),
.article-blog iframe:not(:last-child),
.article-blog .box:not(:last-child),
.article-blog .map:not(:last-child),
.article-blog .gallery:not(:last-child),
.article-blog .pre-code:not(:last-child) {
  margin-bottom: var(--element-spacing)
}

.flex {
  display: flex;
  margin-left: calc(var(--element-spacing) * -1);
  margin-right: calc(var(--element-spacing) * -1)
}

.flex>* {
  box-sizing: border-box;
  padding: 0 var(--element-spacing)
}

.flex>.flex-20 {
  width: 20%
}

.flex>.flex-25 {
  width: 25%
}

.flex>.flex-30 {
  width: 30%
}

.flex>.flex-33 {
  width: 33.33%
}

.flex>.flex-40 {
  width: 40%
}

.flex>.flex-50 {
  width: 50%
}

.flex>.flex-60 {
  width: 60%
}

.flex>.flex-66 {
  width: 66.66%
}

.flex>.flex-70 {
  width: 70%
}

.flex>.flex-75 {
  width: 75%
}

.flex>.flex-80 {
  width: 80%
}

.flex>.flex-sidebar {
  min-width: calc(var(--container-width) / 4)
}

.flex.flex-around {
  justify-content: space-around !important
}

.flex.flex-between {
  justify-content: space-between !important
}

.flex.flex-small {
  margin-left: calc(var(--element-spacing) / -2);
  margin-right: calc(var(--element-spacing) / -2)
}

.flex.flex-large {
  margin-left: calc(var(--element-spacing) * -2);
  margin-right: calc(var(--element-spacing) * -2)
}

.flex.flex-small>* {
  padding: 0 calc(var(--element-spacing) / 2)
}

.flex.flex-large>* {
  padding: 0 calc(var(--element-spacing) * 2)
}

.flex-left {
  order: -1
}

.flex-right {
  order: 1
}

.flex.flex-center,
.flex.flex-center-top,
.flex.flex-center-bottom {
  align-items: center;
  justify-content: center
}

.flex.flex-left-top,
.flex.flex-left-center,
.flex.flex-left-bottom {
  align-items: flex-start;
  justify-content: flex-start
}

.flex.flex-right-top,
.flex.flex-right-center,
.flex.flex-right-bottom {
  align-items: flex-start;
  justify-content: flex-end
}

.flex.flex-center-top {
  align-items: flex-start
}

.flex.flex-left-center,
.flex.flex-right-center {
  align-items: center
}

.flex.flex-left-bottom,
.flex.flex-center-bottom,
.flex.flex-right-bottom {
  align-items: flex-end
}

.stack {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center
}

.stack>*:not(:first-child) {
  margin-top: calc(var(--element-spacing) / 2)
}

.stack.stack-small>*:not(:first-child) {
  margin-top: calc(var(--element-spacing) / 4)
}

.stack.stack-large>*:not(:first-child) {
  margin-top: var(--element-spacing)
}

.price {
  font-weight: 600;
  font-size: var(--font-size-heading-2)
}

.price.price-large {
  font-size: var(--font-size-heading-1)
}

.price.price-small {
  font-size: var(--font-size-heading-3)
}

table {
  position: relative;
  width: 100%;
  max-width: 100%;
  text-align: center;
  color: var(--alternate-text-color-primary);
  box-shadow: 0 calc(var(--box-shadow-size) / 2) var(--box-shadow-size) var(--box-shadow-color);
  border-radius: var(--border-radius);
  border-collapse: collapse;
  border: 0
}

table a:not(.button):hover {
  color: var(--alternate-text-color-primary)
}

table small {
  color: var(--alternate-text-color-primary)
}

table caption {
  text-align: center;
  color: var(--gradient-text-color-primary);
  padding: calc(var(--element-spacing) / 3);
  line-height: calc(var(--font-size-body) + 8px);
  background: linear-gradient(90deg, var(--gradient-background-color-primary), var(--gradient-background-color-secondary));
  background-color: var(--gradient-background-color-primary)
}

table caption small {
  color: var(--gradient-text-color-secondary)
}

table tr td,
table tr th {
  vertical-align: middle;
  padding: calc(var(--element-spacing) / 3);
  line-height: calc(var(--font-size-body) + 8px);
  background-color: var(--alternate-background-color-primary)
}

table tr.tr-large td,
table tr.tr-large th {
  padding: var(--element-spacing) calc(var(--element-spacing) / 2)
}

table thead tr th,
table tr.tr-header td,
table tr.tr-inactive td {
  font-weight: 400;
  color: var(--alternate-text-color-secondary);
  background-color: var(--alternate-background-color-secondary)
}

table thead tr th small,
table tr.tr-header td small,
table tr.tr-inactive td small {
  color: var(--alternate-text-color-secondary)
}

table>tr:not(:last-child),
table tbody tr:not(:last-child) {
  border-bottom: 1px solid var(--alternate-background-color-secondary)
}

table tfoot tr:first-child {
  border-top: 2px solid var(--alternate-background-color-secondary)
}

table caption:first-child,
table>*:first-child tr:first-child td:first-child,
table>*:first-child tr:first-child th:first-child {
  border-top-left-radius: var(--border-radius)
}

table caption:first-child,
table>*:first-child tr:first-child td:last-child,
table>*:first-child tr:first-child th:last-child {
  border-top-right-radius: var(--border-radius)
}

table>*:last-child tr:last-child td:first-child,
table>*:last-child tr:last-child th:first-child {
  border-bottom-left-radius: var(--border-radius)
}

table>*:last-child tr:last-child td:last-child,
table>*:last-child tr:last-child th:last-child {
  border-bottom-right-radius: var(--border-radius)
}

.table-fixed {
  table-layout: fixed
}

.table-domains tr td,
.table-domains tr th {
  padding: calc(var(--element-spacing) / 2)
}

.table-domains tr td:nth-of-type(1),
.table-domains tr th:nth-of-type(1) {
  width: var(--element-spacing);
  padding-right: 0
}

.table-domains tr td:nth-of-type(2),
.table-domains tr th:nth-of-type(2) {
  width: calc(60% - var(--element-spacing));
  text-align: left;
  word-break: break-all
}

.table-domains tr td:nth-of-type(3),
.table-domains tr th:nth-of-type(3) {
  text-align: right
}

.table-domains tr td:nth-of-type(3),
.table-domains tr th:nth-of-type(3),
.table-domains tr td:nth-of-type(4),
.table-domains tr th:nth-of-type(4) {
  width: 20%
}

input:not([type="checkbox"]):not([type="radio"]),
textarea,
select,
button {
  display: inline-block;
  padding: 0;
  margin: 0;
  border: 0;
  outline: 0;
  box-shadow: none;
  box-sizing: border-box;
  line-height: calc(var(--font-size-body) + 8px);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

input:not([type="checkbox"]):not([type="radio"]),
textarea,
select {
  color: var(--alternate-text-color-primary);
  padding: calc(var(--element-spacing) / 3) calc(var(--element-spacing) / 2.5);
  background-color: var(--alternate-background-color-primary);
  border-radius: calc(var(--border-radius) / 1.5)
}

.form-wide input:not([type="checkbox"]):not([type="radio"]),
.form-wide textarea,
.form-wide select {
  width: 100%
}

input:not([type="checkbox"]):not([type="radio"]):disabled,
textarea:disabled,
select:disabled,
button:disabled {
  cursor: not-allowed
}

input:not([type="checkbox"]):not([type="radio"]):disabled,
textarea:disabled,
select:disabled {
  color: var(--alternate-text-color-secondary)
}

form {
  position: relative;
  width: 100%
}

form label {
  cursor: pointer;
  padding: 0 calc(var(--element-spacing) / 2.5);
  line-height: calc(var(--font-size-body) + var(--font-spacing));
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

form label:first-child {
  display: inline-block
}

form .form-content {
  position: relative
}

form .form-content:not(:first-child) {
  margin-top: calc(var(--element-spacing) / 1.5)
}

.form-content.form-content-style-checkbox .input-style-checkbox,
.form-content.form-content-style-radio .input-style-radio {
  display: inline-block;
  position: relative;
  width: 20px;
  height: 20px;
  cursor: pointer;
  text-align: left;
  vertical-align: middle;
  margin: -4px -4px 0 calc(var(--element-spacing) / 2.5);
  background-color: var(--alternate-background-color-primary);
  border-radius: calc(var(--border-radius) / 2)
}

.form-content.form-content-style-radio .input-style-radio {
  border-radius: 10px
}

.form-content.form-content-style-checkbox .input-style-checkbox .input-style-inner-checkbox,
.form-content.form-content-style-radio .input-style-radio .input-style-inner-radio {
  position: absolute;
  display: flex;
  z-index: 1;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  font-size: 14px;
  text-align: center;
  align-items: center;
  justify-content: center;
  color: var(--alternate-text-color-primary)
}

.form-content.form-content-style-radio .input-style-radio .input-style-inner-radio {
  top: 5px;
  left: 5px;
  width: 10px;
  height: 10px;
  background-color: var(--alternate-text-color-primary);
  border-radius: 5px
}

.form-content.form-content-style-checkbox .input-style-checkbox.input-style-disabled,
.form-content.form-content-style-radio .input-style-radio.input-style-disabled {
  cursor: not-allowed
}

.form-content.form-content-style-checkbox .input-style-checkbox.input-style-disabled .input-style-inner-checkbox {
  color: var(--alternate-text-color-secondary)
}

.form-content.form-content-style-radio .input-style-radio.input-style-disabled .input-style-inner-radio {
  background-color: var(--alternate-text-color-secondary)
}

.form-content.form-content-style-checkbox .input-style-checkbox:not(.input-style-active) .input-style-inner-checkbox,
.form-content.form-content-style-radio .input-style-radio:not(.input-style-active) .input-style-inner-radio {
  opacity: 0
}

.form-content.form-content-style-checkbox input[type="checkbox"],
.form-content.form-content-style-radio input[type="radio"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  padding: 0;
  margin: 0;
  opacity: 0;
  border: 0
}

button,
.button {
  display: inline-block;
  cursor: pointer;
  text-align: center;
  box-sizing: border-box;
  color: var(--accent-color-primary);
  line-height: calc(var(--font-size-body) + 8px);
  padding: calc(var(--element-spacing) / 3) calc(var(--element-spacing) / 2);
  border-radius: calc(var(--border-radius) / 1.5);
  box-shadow: inset 0 0 0 2px currentColor;
  background-color: transparent
}

button.button-wide,
.button.button-wide {
  width: 100%
}

button.button-small,
.button.button-small {
  padding: calc(var(--element-spacing) / 6) calc(var(--element-spacing) / 3);
  border-radius: calc(var(--border-radius) / 2)
}

button.button-large,
.button.button-large {
  padding: calc(var(--element-spacing) / 2) calc(var(--element-spacing) / 1.5);
  font-size: calc(var(--font-size-body) + 4px);
  border-radius: var(--border-radius)
}

button.button-primary,
.button.button-primary {
  box-shadow: none;
  color: var(--text-color-primary);
  background-color: var(--accent-color-primary)
}

button.button-secondary,
.button.button-secondary {
  box-shadow: none;
  color: var(--accent-color-primary);
  background-color: var(--accent-color-secondary)
}

button.button-gradient,
.button.button-gradient {
  box-shadow: none;
  color: var(--gradient-text-color-primary);
  background-color: var(--gradient-background-color-primary);
  background: linear-gradient(90deg, var(--gradient-background-color-primary), var(--gradient-background-color-secondary))
}

.gallery:not(.gallery-slider)>ul {
  padding: 0;
  display: flex;
  list-style-type: none;
  margin: calc(var(--element-spacing) / -2)
}

.gallery:not(.gallery-slider)>ul li {
  box-sizing: border-box;
  padding: calc(var(--element-spacing) / 2)
}

.gallery:not(.gallery-slider)>ul li a,
.gallery:not(.gallery-slider)>ul li img {
  display: block;
  width: 100%
}

.gallery:not(.gallery-slider)>ul li img {
  border-radius: var(--border-radius)
}

.gallery:not(.gallery-slider).gallery-columns-2>ul,
.gallery:not(.gallery-slider).gallery-columns-3>ul,
.gallery:not(.gallery-slider).gallery-columns-4>ul {
  flex-wrap: wrap
}

.gallery:not(.gallery-slider).gallery-columns-2>ul li {
  width: 50%
}

.gallery:not(.gallery-slider).gallery-columns-3>ul li {
  width: 33.33%
}

.gallery:not(.gallery-slider).gallery-columns-4>ul li {
  width: 25%
}

.gallery.gallery-slider {
  position: relative;
  overflow: hidden;
  box-shadow: 0 calc(var(--box-shadow-size) / 2) var(--box-shadow-size) var(--box-shadow-color);
  border-radius: var(--border-radius);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}

.gallery.gallery-slider>ul {
  margin: 0;
  padding: 0;
  display: flex;
  list-style-type: none;
  transition-timing-function: var(--transition-timing-function);
  transition-duration: calc(var(--transition-duration) * 2);
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform
}

.gallery.gallery-slider>ul li,
.gallery.gallery-slider>ul li a,
.gallery.gallery-slider>ul li img {
  display: block;
  width: 100%
}

.gallery.gallery-slider .gallery-slider-navigation {
  overflow: hidden;
  position: absolute;
  top: calc(var(--element-spacing) / 2);
  right: calc(var(--element-spacing) / 2);
  color: var(--gradient-text-color-primary);
  background-color: var(--gradient-background-color-primary);
  background: linear-gradient(90deg, var(--gradient-background-color-primary), var(--gradient-background-color-secondary));
  box-shadow: 0 calc(var(--box-shadow-size) / 4) calc(var(--box-shadow-size) / 2) var(--box-shadow-color);
  border-radius: calc(var(--border-radius) / 2)
}

.gallery.gallery-slider .gallery-slider-navigation li {
  position: relative;
  display: flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  width: calc(var(--element-spacing) / 1.25);
  height: calc(var(--element-spacing) / 1.25)
}

.gallery.gallery-slider .gallery-slider-navigation li i {
  width: auto;
  line-height: 1;
  font-size: calc(var(--element-spacing) / 2)
}

.gallery.gallery-slider .gallery-slider-navigation .gallery-slider-previous {
  padding-right: 2px
}

.gallery.gallery-slider .gallery-slider-navigation .gallery-slider-previous::before {
  position: absolute;
  content: '';
  top: 0;
  right: 0;
  width: 2px;
  height: 100%;
  opacity: .25;
  background-color: var(--gradient-text-color-primary)
}

.gallery-overlay {
  overflow: hidden;
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.gallery-overlay::before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--background-color-primary);
  opacity: .75
}

.gallery-overlay .gallery-overlay-navigation {
  list-style-type: none;
  padding: 0;
  margin: 0
}

.gallery-overlay .gallery-overlay-navigation li {
  position: absolute;
  z-index: 1;
  top: 50%;
  display: flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  color: var(--gradient-text-color-primary);
  width: calc(var(--element-spacing) * 1.5);
  height: calc(var(--element-spacing) * 1.5);
  font-size: calc(var(--element-spacing) / 1.5);
  background-color: var(--gradient-background-color-primary);
  background: linear-gradient(90deg, var(--gradient-background-color-primary), var(--gradient-background-color-secondary));
  box-shadow: 0 calc(var(--box-shadow-size) / 4) calc(var(--box-shadow-size) / 2) var(--box-shadow-color);
  transition-timing-function: var(--transition-timing-function);
  transition-duration: calc(var(--transition-duration) / 2);
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform
}

.gallery-overlay .gallery-overlay-navigation .gallery-overlay-previous {
  left: 0;
  border-top-right-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius)
}

.gallery-overlay .gallery-overlay-navigation .gallery-overlay-next {
  right: 0;
  border-top-left-radius: var(--border-radius);
  border-bottom-left-radius: var(--border-radius)
}

.gallery-overlay .gallery-overlay-navigation .gallery-overlay-previous.gallery-overlay-navigation-hide {
  -webkit-transform: translate(-100%, -50%);
  transform: translate(-100%, -50%)
}

.gallery-overlay .gallery-overlay-navigation .gallery-overlay-next.gallery-overlay-navigation-hide {
  -webkit-transform: translate(100%, -50%);
  transform: translate(100%, -50%)
}

.gallery-overlay .gallery-overlay-navigation li i {
  width: auto;
  line-height: 1
}

.gallery-overlay .gallery-overlay-inner {
  position: absolute;
  display: flex;
  margin: 0;
  padding: 0;
  height: 100%;
  align-items: center;
  justify-content: center;
  list-style-type: none;
  transition-timing-function: var(--transition-timing-function);
  transition-duration: calc(var(--transition-duration) * 2);
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform
}

.gallery-overlay .gallery-overlay-inner li {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center
}

.gallery-overlay .gallery-overlay-inner li img {
  opacity: 0;
  max-width: calc(100vw - (var(--element-spacing) * 2));
  max-height: calc(100vh - (var(--element-spacing) * 2))
}

.gallery-overlay .gallery-overlay-inner .gallery-overlay-loading::before {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  box-sizing: border-box;
  width: calc(var(--element-spacing) / 1.25);
  height: calc(var(--element-spacing) / 1.25);
  border: 3px solid var(--text-color-primary);
  border-radius: calc(var(--element-spacing) / 2.5);
  -webkit-animation: gallery-overlay-loading .5s linear infinite;
  animation: gallery-overlay-loading .5s linear infinite;
  -webkit-transform: translate(-50%, -50%) rotate(0);
  transform: translate(-50%, -50%) rotate(0);
  border-top-color: transparent
}

@-webkit-keyframes gallery-overlay-loading {
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg)
  }
}

@keyframes gallery-overlay-loading {
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg)
  }
}

.gallery-overlay .gallery-overlay-inner .gallery-overlay-ready img {
  opacity: 1;
  -webkit-animation-timing-function: var(--transition-timing-function);
  animation-timing-function: var(--transition-timing-function);
  -webkit-animation-duration: var(--transition-duration);
  animation-duration: var(--transition-duration);
  -webkit-animation-name: gallery-overlay-ready;
  animation-name: gallery-overlay-ready
}

@-webkit-keyframes gallery-overlay-ready {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.75);
    transform: scale(0.75)
  }
}

@keyframes gallery-overlay-ready {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.75);
    transform: scale(0.75)
  }
}

.fas,
.far,
.fal,
.fab {
  line-height: 1.15
}

h1 .fas,
h1 .far,
h1 .fal,
h1 .fab,
h2 .fas,
h2 .far,
h2 .fal,
h2 .fab,
h3 .fas,
h3 .far,
h3 .fal,
h3 .fab,
h4 .fas,
h4 .far,
h4 .fal,
h4 .fab,
h5 .fas,
h5 .far,
h5 .fal,
h5 .fab {
  font-size: 1.25em
}

.fa-left {
  margin-right: .5em
}

.fa-right {
  margin-left: .5em
}

#header {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-logo-height);
  padding: var(--element-spacing) 0;
  background-color: var(--header-background-color)
}

#header.header-fixed,
#header.header-dynamic.header-dynamic-active {
  position: fixed
}

#header.header-dynamic.header-dynamic-active.header-dynamic-visible,
#header.header-dynamic.header-dynamic-active.header-dynamic-invisible {
  transition-timing-function: var(--transition-timing-function);
  transition-duration: var(--transition-duration);
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform
}

#header.header-dynamic.header-dynamic-active.header-dynamic-visible {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0)
}

#header.header-dynamic.header-dynamic-active,
#header.header-dynamic.header-dynamic-active.header-dynamic-invisible {
  -webkit-transform: translate(0, -100%);
  transform: translate(0, -100%)
}

#header .container {
  position: relative
}

#header .header-logo,
#header:not(.header-navigation-overlay) .container,
#header:not(.header-navigation-overlay) .header-navigation,
#header:not(.header-navigation-overlay) .header-navigation-primary,
#header:not(.header-navigation-overlay) .header-navigation-secondary {
  display: flex;
  align-items: center
}

#header.header-top .header-logo,
#header:not(.header-navigation-overlay).header-top .container,
#header:not(.header-navigation-overlay).header-top .header-navigation {
  align-items: flex-start
}

#header.header-bottom .header-logo,
#header:not(.header-navigation-overlay).header-bottom .container,
#header:not(.header-navigation-overlay).header-bottom .header-navigation {
  align-items: center
}

#header .header-logo {
  margin-right: var(--element-spacing)
}

#header .header-logo img,
#header .header-logo svg {
  height: var(--header-logo-height);
  width: auto
}

#header .header-logo i {
  line-height: 1;
  font-size: var(--header-logo-font-size)
}

#header .header-logo .header-logo-text {
  font-weight: 600;
  line-height: .85;
  font-size: var(--header-logo-font-size)
}

#header .header-logo .header-logo-text:not(:only-child) {
  margin-left: calc(var(--header-logo-font-size) / 2)
}

#header:not(.header-navigation-overlay) .header-navigation {
  flex-grow: 1;
  margin-top: 0;
  justify-content: space-between
}

#header:not(.header-navigation-overlay) .header-navigation-primary,
#header:not(.header-navigation-overlay) .header-navigation-secondary,
#header:not(.header-navigation-overlay) .header-navigation-primary>li,
#header:not(.header-navigation-overlay) .header-navigation-secondary>li,
#header:not(.header-navigation-overlay) .header-navigation-primary>li>a:not(.button),
#header:not(.header-navigation-overlay) .header-navigation-secondary>li>a:not(.button) {
  position: relative;
  white-space: nowrap;
  line-height: 1;
  padding: 0;
  margin: 0
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li {
  -webkit-transform: perspective(400px);
  transform: perspective(400px)
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li:not(:last-child),
#header:not(.header-navigation-overlay) .header-navigation-secondary>li:not(:last-child) {
  margin-right: var(--element-spacing)
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li>a:not(.button) {
  font-size: calc(var(--font-size-body) + 2px)
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li .header-navigation-sub,
#header:not(.header-navigation-overlay).header-dynamic.header-dynamic-active:not(.header-dynamic-visible) .header-navigation-primary>li .header-navigation-sub,
#header:not(.header-navigation-overlay).header-dynamic.header-dynamic-active.header-dynamic-invisible .header-navigation-primary>li .header-navigation-sub {
  position: absolute;
  display: none;
  left: 50%;
  margin-top: calc(var(--element-spacing) / 4 * 3);
  -webkit-transform: translate(-50%, 0) perspective(400px) rotateX(0);
  transform: translate(-50%, 0) perspective(400px) rotateX(0);
  box-shadow: 0 calc(var(--box-shadow-size) / 2) var(--box-shadow-size) var(--box-shadow-color);
  border-radius: var(--border-radius);
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li:hover .header-navigation-sub {
  display: block;
  -webkit-animation-timing-function: var(--transition-timing-function);
  animation-timing-function: var(--transition-timing-function);
  -webkit-animation-duration: var(--transition-duration);
  animation-duration: var(--transition-duration);
  -webkit-animation-name: animate-header-navigation-sub;
  animation-name: animate-header-navigation-sub
}

@-webkit-keyframes animate-header-navigation-sub {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, 0) perspective(400px) rotateX(-10deg);
    transform: translate(-50%, 0) perspective(400px) rotateX(-10deg)
  }
}

@keyframes animate-header-navigation-sub {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, 0) perspective(400px) rotateX(-10deg);
    transform: translate(-50%, 0) perspective(400px) rotateX(-10deg)
  }
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li .header-navigation-sub::before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  margin-top: calc(var(--element-spacing) / 4 * 3 * -1);
  height: calc(var(--element-spacing) / 4 * 3)
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li .header-navigation-sub::after {
  position: absolute;
  content: '';
  top: -8px;
  left: 50%;
  width: 16px;
  height: 16px;
  background-color: var(--alternate-background-color-primary);
  -webkit-transform: translate(-50%, 0) rotate(45deg);
  transform: translate(-50%, 0) rotate(45deg)
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li .header-navigation-sub ul {
  padding: calc(var(--element-spacing) / 1.75) calc(var(--element-spacing) / 1.25)
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li .header-navigation-sub ul:first-child {
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius)
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li .header-navigation-sub ul:last-child {
  border-bottom-left-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius)
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li .header-navigation-sub.header-navigation-sub-columns ul {
  -webkit-column-count: 2;
  column-count: 2;
  -webkit-column-gap: var(--element-spacing);
  column-gap: var(--element-spacing)
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li .header-navigation-sub .header-navigation-sub-primary,
#header:not(.header-navigation-overlay) .header-navigation-primary>li .header-navigation-sub .header-navigation-sub-secondary:only-child {
  background-color: var(--alternate-background-color-primary)
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li .header-navigation-sub .header-navigation-sub-secondary {
  background-color: var(--alternate-background-color-secondary)
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li .header-navigation-sub ul li a.button {
  margin: calc(var(--element-spacing) / 6) 0
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li .header-navigation-sub ul li a:not(.button) {
  padding: calc(var(--element-spacing) / 10) 0
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li .header-navigation-sub .header-navigation-sub-primary li a:not(.button) {
  font-size: calc(var(--font-size-body) + 2px);
  color: var(--alternate-text-color-primary)
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li .header-navigation-sub .header-navigation-sub-secondary li a:not(.button) {
  color: var(--alternate-text-color-secondary)
}

#header:not(.header-navigation-overlay) .header-navigation-primary>li .header-navigation-sub .header-navigation-sub-primary li a:not(.button):hover,
#header:not(.header-navigation-overlay) .header-navigation-primary>li .header-navigation-sub .header-navigation-sub-secondary li a:not(.button):hover {
  color: var(--accent-color-primary)
}

#header .header-navigation-secondary>li a:not(.button):not(:hover) {
  color: var(--text-color-primary)
}

#header.header-navigation-overlay,
#header.header-navigation-overlay.header-dynamic.header-dynamic-active,
#header.header-navigation-overlay.header-dynamic.header-dynamic-active.header-dynamic-invisible {
  position: fixed;
  overflow: auto;
  height: 100%;
  box-sizing: border-box;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  transition-property: none
}

#header.header-navigation-overlay .header-navigation {
  margin-top: var(--element-spacing)
}

#header .header-navigation-overlay-trigger {
  position: absolute;
  cursor: pointer;
  display: none;
  top: 0;
  width: 24px;
  height: 18px;
  right: var(--element-spacing)
}

#header:not(.header-top) .header-navigation-overlay-trigger {
  margin-top: calc((var(--header-logo-height) - 18px) / 2)
}

#header.header-bottom .header-navigation-overlay-trigger {
  /* margin-top: calc(var(--header-logo-height) - 18px) */
}

#header .header-navigation-overlay-trigger div,
#header .header-navigation-overlay-trigger div::before,
#header .header-navigation-overlay-trigger div::after {
  position: absolute;
  content: '';
  width: 24px;
  height: 2px;
  margin-top: 8px;
  background-color: var(--accent-color-primary);
  transition-timing-function: var(--transition-timing-function);
  transition-duration: var(--transition-duration);
  transition-property: width, -webkit-transform;
  transition-property: width, transform;
  transition-property: width, transform, -webkit-transform
}

#header.link-primary .header-navigation-overlay-trigger div,
#header.link-primary .header-navigation-overlay-trigger div::before,
#header.link-primary .header-navigation-overlay-trigger div::after {
  background-color: var(--text-color-primary)
}

#header .header-navigation-overlay-trigger div::before {
  margin-top: -8px
}

#header.header-navigation-overlay .header-navigation-overlay-trigger div {
  width: 0
}

#header.header-navigation-overlay .header-navigation-overlay-trigger div::before {
  -webkit-transform: translate(0, 8px) rotate(45deg);
  transform: translate(0, 8px) rotate(45deg)
}

#header.header-navigation-overlay .header-navigation-overlay-trigger div::after {
  -webkit-transform: translate(0, -8px) rotate(-45deg);
  transform: translate(0, -8px) rotate(-45deg)
}

#header+#main {
  margin-top: calc(var(--header-logo-height) + (var(--element-spacing) * 2))
}

section,
.section-slider .section-slider-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  color: var(--text-color-primary)
}

.section-50,
.section-50.section-slider .section-slider-content {
  min-height: 50vh
}

.section-100,
.section-100.section-slider .section-slider-content {
  min-height: 100vh
}

#header+#main .section-50:first-child,
#header.header-fixed+#main .section-50,
#header.header-dynamic+#main .section-50,
#header+#main .section-50.section-slider:first-child .section-slider-content,
#header.header-fixed+#main .section-50.section-slider .section-slider-content,
#header.header-dynamic+#main .section-50.section-slider .section-slider-content {
  min-height: calc(50vh - (var(--header-logo-height) + (var(--element-spacing) * 2)))
}

#header+#main .section-100:first-child,
#header.header-fixed+#main .section-100,
#header.header-dynamic+#main .section-100,
#header+#main .section-100.section-slider:first-child .section-slider-content,
#header.header-fixed+#main .section-100.section-slider .section-slider-content,
#header.header-dynamic+#main .section-100.section-slider .section-slider-content {
  min-height: calc(100vh - (var(--header-logo-height) + (var(--element-spacing) * 2)))
}

section:not(.section-slider),
.section-slider .section-slider-content {
  padding: calc(var(--element-spacing) * 2) 0
}

.section-small:not(.section-slider),
.section-small.section-slider .section-slider-content {
  padding: var(--element-spacing) 0
}

.section-large:not(.section-slider),
.section-large.section-slider .section-slider-content {
  padding: calc(var(--element-spacing) * 3) 0
}

.section-top,
.section-top.section-slider .section-slider-content {
  justify-content: flex-start
}

.section-bottom,
.section-bottom.section-slider .section-slider-content {
  justify-content: flex-end
}

.section-primary {
  background-color: var(--background-color-primary)
}

.section-secondary {
  background-color: var(--background-color-secondary)
}

section .section-header {
  margin: 0 auto;
  text-align: center
}

section .section-header p {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto
}

section .section-header-left,
section .section-header-left p {
  margin-left: 0;
  text-align: left
}

section .section-header-right,
section .section-header-right p {
  margin-right: 0;
  text-align: right
}

section .section-header h1+p {
  font-size: calc(var(--font-size-body) + 4px);
  line-height: calc((var(--font-size-body) + 4px) + var(--font-spacing))
}

section .section-header-feature h1 {
  font-size: calc(var(--font-size-heading-1) + 8px);
  line-height: calc((var(--font-size-heading-1) + 8px) + var(--font-spacing))
}

section .section-header-feature h2 {
  font-size: calc(var(--font-size-heading-2) + 16px);
  line-height: calc((var(--font-size-heading-2) + 16px) + var(--font-spacing))
}

section .section-header-feature h1+p {
  font-size: calc(var(--font-size-body) + 8px);
  line-height: calc((var(--font-size-body) + 8px) + var(--font-spacing))
}

section .section-header-feature h2+p {
  font-size: calc(var(--font-size-body) + 4px);
  line-height: calc((var(--font-size-body) + 4px) + var(--font-spacing))
}

section .section-footer {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
  color: var(--text-color-secondary)
}

section .section-footer-left {
  margin-left: 0;
  text-align: left
}

section .section-footer-right {
  margin-right: 0;
  text-align: right
}

section hr {
  height: 2px;
  border: 0;
  padding: 0;
  margin: 0
}

section>hr {
  position: absolute;
  margin-top: 0;
  width: 100%;
  left: 0
}

section>hr:first-child {
  top: 0
}

section>hr:last-child {
  bottom: 0
}

section hr {
  background-color: var(--background-color-secondary)
}

.section-secondary hr {
  background-color: var(--accent-color-secondary)
}

section .section-background {
  position: absolute;
  overflow: hidden;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center
}

section .section-background svg,
section .section-background img,
section .section-background video,
section .section-background iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%)
}

section .section-background.section-background-fade svg,
section .section-background.section-background-fade img,
section .section-background.section-background-fade video,
section .section-background.section-background-fade iframe {
  opacity: .25
}

section .section-background.section-background-scale svg,
section .section-background.section-background-scale img,
section .section-background.section-background-scale video,
section .section-background.section-background-scale iframe {
  max-width: 100%;
  max-height: 100%
}

section .section-background.section-background-cover svg,
section .section-background.section-background-cover img,
section .section-background.section-background-cover video,
section .section-background.section-background-cover iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

section .section-foreground {
  position: absolute;
  overflow: hidden;
  z-index: 3;
  left: 50%;
  bottom: 0;
  width: auto;
  height: auto;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0)
}

section .section-foreground svg,
section .section-foreground img,
section .section-foreground video,
section .section-foreground iframe {
  display: block;
  max-width: none
}

section.section-foreground:not(.section-slider),
section.section-foreground .section-slider-content {
  padding-bottom: 100px !important
}

.section-slider {
  overflow: hidden
}

.section-slider .section-slider-content {
  position: relative;
  box-sizing: border-box;
  padding-bottom: calc(var(--element-spacing) * 4)
}

.section-small.section-slider .section-slider-content {
  padding-bottom: calc(var(--element-spacing) * 2)
}

.section-large.section-slider .section-slider-content {
  padding-bottom: calc(var(--element-spacing) * 6)
}

.section-slider .section-slider-content:not(.section-slider-active) {
  position: absolute;
  width: 100%;
  height: 100%
}

.section-slider .section-slider-content.section-slider-active {
  z-index: 2
}

.section-slider .section-slider-navigation {
  position: absolute;
  z-index: 4;
  left: 50%;
  display: flex;
  margin-left: 0;
  align-items: center;
  justify-content: center;
  list-style-type: none;
  -webkit-transform: translate(-50%, 50%);
  transform: translate(-50%, 50%);
  bottom: calc(var(--element-spacing) * 2)
}

.section-small.section-slider .section-slider-navigation {
  bottom: var(--element-spacing)
}

.section-large.section-slider .section-slider-navigation {
  bottom: calc(var(--element-spacing) * 3)
}

.section-slider .section-slider-navigation li {
  display: block;
  cursor: pointer;
  line-height: 12px;
  text-align: center;
  white-space: nowrap;
  color: var(--text-color-secondary);
  transition-timing-function: var(--transition-timing-function);
  transition-duration: var(--transition-duration);
  transition-property: color;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.section-slider .section-slider-navigation li:not(:last-child) {
  margin-right: var(--element-spacing)
}

.section-slider .section-slider-navigation li.section-slider-active {
  color: var(--text-color-primary)
}

.section-slider .section-slider-navigation li:empty {
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background-color: var(--accent-color-secondary);
  transition-property: width
}

.section-slider .section-slider-navigation li:not(:last-child):empty {
  margin-right: 12px
}

.section-slider .section-slider-navigation li.section-slider-active:empty {
  width: 36px;
  background-color: var(--text-color-primary)
}

.section-slider.section-foreground .section-slider-navigation {
  bottom: 50px
}

.section-slider.section-foreground-gradient .section-slider-navigation li.section-slider-active {
  color: var(--gradient-text-color-primary)
}

.section-slider.section-foreground-gradient .section-slider-navigation li:not(.section-slider-active) {
  color: var(--gradient-text-color-secondary)
}

.section-slider.section-foreground-gradient .section-slider-navigation li.section-slider-active:empty {
  background-color: var(--gradient-text-color-primary)
}

.section-slider.section-foreground-gradient .section-slider-navigation li:not(.section-slider-active):empty {
  background-color: var(--gradient-text-color-secondary)
}

.section-slider .section-slider-content:not(.section-slider-active) {
  visibility: hidden
}

.section-slider.section-slider-animate-container-fade .section-slider-content.section-slider-inactive,
.section-slider.section-slider-animate-container-slide .section-slider-content.section-slider-inactive,
.section-slider.section-slider-animate-container-scale .section-slider-content.section-slider-inactive,
.section-slider.section-slider-animate-background-fade .section-slider-content.section-slider-inactive,
.section-slider.section-slider-animate-background-slide .section-slider-content.section-slider-inactive,
.section-slider.section-slider-animate-background-scale .section-slider-content.section-slider-inactive {
  transition: visibility 0s linear calc(var(--transition-duration) * 2)
}

.section-slider.section-slider-animate-container-fade .section-slider-content>.container,
.section-slider.section-slider-animate-container-slide .section-slider-content>.container,
.section-slider.section-slider-animate-container-scale .section-slider-content>.container,
.section-slider.section-slider-animate-background-fade .section-slider-content>.section-background,
.section-slider.section-slider-animate-background-slide .section-slider-content>.section-background,
.section-slider.section-slider-animate-background-scale .section-slider-content>.section-background {
  -webkit-animation-timing-function: var(--transition-timing-function);
  animation-timing-function: var(--transition-timing-function);
  -webkit-animation-duration: calc(var(--transition-duration) * 2);
  animation-duration: calc(var(--transition-duration) * 2)
}

.section-slider.section-slider-animate-pause.section-slider-animate-container-fade .section-slider-content>.container,
.section-slider.section-slider-animate-pause.section-slider-animate-container-slide .section-slider-content>.container,
.section-slider.section-slider-animate-pause.section-slider-animate-container-scale .section-slider-content>.container,
.section-slider.section-slider-animate-pause.section-slider-animate-background-fade .section-slider-content>.section-background,
.section-slider.section-slider-animate-pause.section-slider-animate-background-slide .section-slider-content>.section-background,
.section-slider.section-slider-animate-pause.section-slider-animate-background-scale .section-slider-content>.section-background {
  -webkit-animation-duration: 0s;
  animation-duration: 0s
}

.section-slider.section-slider-animate-container-fade .section-slider-content.section-slider-active>.container,
.section-slider.section-slider-animate-background-fade .section-slider-content.section-slider-active>.section-background {
  -webkit-animation-name: animate-section-slider-fade-in;
  animation-name: animate-section-slider-fade-in
}

.section-slider.section-slider-animate-container-fade .section-slider-content.section-slider-inactive>.container,
.section-slider.section-slider-animate-background-fade .section-slider-content.section-slider-inactive>.section-background {
  opacity: 0;
  -webkit-animation-name: animate-section-slider-fade-out;
  animation-name: animate-section-slider-fade-out
}

@-webkit-keyframes animate-section-slider-fade-in {
  0% {
    opacity: 0
  }
}

@keyframes animate-section-slider-fade-in {
  0% {
    opacity: 0
  }
}

@-webkit-keyframes animate-section-slider-fade-out {
  0% {
    opacity: 1
  }
}

@keyframes animate-section-slider-fade-out {
  0% {
    opacity: 1
  }
}

.section-slider.section-slider-animate-container-slide .section-slider-content.section-slider-active>.container,
.section-slider.section-slider-animate-background-slide .section-slider-content.section-slider-active>.section-background {
  -webkit-animation-name: animate-section-slider-slide-in;
  animation-name: animate-section-slider-slide-in
}

.section-slider.section-slider-animate-container-slide .section-slider-content.section-slider-inactive>.container,
.section-slider.section-slider-animate-background-slide .section-slider-content.section-slider-inactive>.section-background {
  opacity: 0;
  -webkit-transform: translate(-20%, 0);
  transform: translate(-20%, 0);
  -webkit-animation-name: animate-section-slider-slide-out;
  animation-name: animate-section-slider-slide-out
}

@-webkit-keyframes animate-section-slider-slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translate(20%, 0);
    transform: translate(20%, 0)
  }
}

@keyframes animate-section-slider-slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translate(20%, 0);
    transform: translate(20%, 0)
  }
}

@-webkit-keyframes animate-section-slider-slide-out {
  0% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0)
  }
}

@keyframes animate-section-slider-slide-out {
  0% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0)
  }
}

.section-slider.section-slider-animate-container-slide .section-slider-content.section-slider-animate-previous.section-slider-active>.container,
.section-slider.section-slider-animate-background-slide .section-slider-content.section-slider-animate-previous.section-slider-active>.section-background {
  -webkit-animation-name: animate-section-slider-slide-in-previous;
  animation-name: animate-section-slider-slide-in-previous
}

.section-slider.section-slider-animate-container-slide .section-slider-content.section-slider-animate-previous.section-slider-inactive>.container,
.section-slider.section-slider-animate-background-slide .section-slider-content.section-slider-animate-previous.section-slider-inactive>.section-background {
  opacity: 0;
  -webkit-transform: translate(20%, 0);
  transform: translate(20%, 0);
  -webkit-animation-name: animate-section-slider-slide-out-previous;
  animation-name: animate-section-slider-slide-out-previous
}

@-webkit-keyframes animate-section-slider-slide-in-previous {
  0% {
    opacity: 0;
    -webkit-transform: translate(-20%, 0);
    transform: translate(-20%, 0)
  }
}

@keyframes animate-section-slider-slide-in-previous {
  0% {
    opacity: 0;
    -webkit-transform: translate(-20%, 0);
    transform: translate(-20%, 0)
  }
}

@-webkit-keyframes animate-section-slider-slide-out-previous {
  0% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0)
  }
}

@keyframes animate-section-slider-slide-out-previous {
  0% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0)
  }
}

.section-slider.section-slider-animate-container-scale .section-slider-content.section-slider-active>.container,
.section-slider.section-slider-animate-background-scale .section-slider-content.section-slider-active>.section-background {
  -webkit-animation-name: animate-section-slider-scale-in;
  animation-name: animate-section-slider-scale-in
}

.section-slider.section-slider-animate-container-scale .section-slider-content.section-slider-inactive>.container,
.section-slider.section-slider-animate-background-scale .section-slider-content.section-slider-inactive>.section-background {
  opacity: 0;
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  -webkit-animation-name: animate-section-slider-scale-out;
  animation-name: animate-section-slider-scale-out
}

@-webkit-keyframes animate-section-slider-scale-in {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8);
    transform: scale(0.8)
  }
}

@keyframes animate-section-slider-scale-in {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8);
    transform: scale(0.8)
  }
}

@-webkit-keyframes animate-section-slider-scale-out {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

@keyframes animate-section-slider-scale-out {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

.section-slider.section-slider-animate-container-scale .section-slider-content.section-slider-animate-previous.section-slider-active>.container,
.section-slider.section-slider-animate-background-scale .section-slider-content.section-slider-animate-previous.section-slider-active>.section-background {
  -webkit-animation-name: animate-section-slider-scale-in-previous;
  animation-name: animate-section-slider-scale-in-previous
}

.section-slider.section-slider-animate-container-scale .section-slider-content.section-slider-animate-previous.section-slider-inactive>.container,
.section-slider.section-slider-animate-background-scale .section-slider-content.section-slider-animate-previous.section-slider-inactive>.section-background {
  opacity: 0;
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  -webkit-animation-name: animate-section-slider-scale-out-previous;
  animation-name: animate-section-slider-scale-out-previous
}

@-webkit-keyframes animate-section-slider-scale-in-previous {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
  }
}

@keyframes animate-section-slider-scale-in-previous {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
  }
}

@-webkit-keyframes animate-section-slider-scale-out-previous {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

@keyframes animate-section-slider-scale-out-previous {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

@media(max-width:1280px) {
  :root {
    --element-spacing: 30px
  }
}

@media(max-width:1024px) {
  #header:not(.header-navigation-overlay) .header-navigation {
    display: none
  }

  #header .header-navigation-overlay-trigger {
    display: block
  }
}

@media(max-width:900px) {
  .container {
    width: calc(100% - (var(--element-spacing) * 4));
    padding: 0 calc(var(--element-spacing) * 2)
  }

  .tab .tab-navigation {
    display: block;
    border-radius: var(--border-radius)
  }

  .tab .tab-navigation li {
    margin-right: 0 !important;
    border-radius: calc(var(--border-radius) / 1.25)
  }

  .flex {
    display: block;
    margin-left: 0;
    margin-right: 0
  }

  .flex>* {
    width: 100% !important;
    padding: 0
  }

  .flex>*:not(:first-child),
  .flex.flex-large>*:not(:first-child) {
    margin-top: calc(var(--element-spacing) * 2)
  }

  .flex.flex-small>*:not(:first-child) {
    margin-top: var(--element-spacing)
  }

  table:not(.table-static) tr,
  table:not(.table-static) tr td,
  table:not(.table-static) tr th {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    text-align: center !important
  }

  table:not(.table-static) tr td,
  table:not(.table-static) tr th {
    padding: calc(var(--element-spacing) / 4) !important
  }

  table:not(.table-static) tr td:first-child,
  table:not(.table-static) tr th:first-child {
    padding-top: calc(var(--element-spacing) / 2) !important
  }

  table:not(.table-static) tr td:last-child,
  table:not(.table-static) tr th:last-child {
    padding-bottom: calc(var(--element-spacing) / 2) !important
  }

  table:not(.table-static)>*:first-child tr:first-child td:first-child,
  table:not(.table-static)>*:first-child tr:first-child th:first-child,
  table:not(.table-static)>*:first-child tr:first-child td:last-child,
  table:not(.table-static)>*:first-child tr:first-child th:last-child,
  table:not(.table-static)>*:last-child tr:last-child td:first-child,
  table:not(.table-static)>*:last-child tr:last-child th:first-child,
  table:not(.table-static)>*:last-child tr:last-child td:last-child,
  table:not(.table-static)>*:last-child tr:last-child th:last-child {
    border-radius: 0
  }

  table:not(.table-static)>*:first-child tr:first-child td:first-child,
  table:not(.table-static)>*:first-child tr:first-child th:first-child {
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius)
  }

  table:not(.table-static)>*:last-child tr:last-child td:last-child,
  table:not(.table-static)>*:last-child tr:last-child th:last-child {
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius)
  }

  #header .header-navigation-overlay-trigger {
    right: calc(var(--element-spacing) * 2)
  }
}

@media(max-width:640px) {
  :root {
    --header-logo-font-size: 26px;
    --header-logo-height: 32px;
    --font-size-heading-1: 32px;
    --font-size-heading-2: 24px;
    --font-size-heading-3: 20px;
    --font-size-heading-4: 16px;
    --font-size-heading-5: 16px;
    --font-size-body: 16px;
    --font-spacing: 12px
  }

  dl {
    display: block
  }

  dl dd {
    padding-left: 0
  }

  .container {
    width: calc(100% - (var(--element-spacing) * 2));
    padding: 0 var(--element-spacing)
  }

  .box.box-large .box-label {
    margin: 0 var(--element-spacing);
    padding: calc(var(--element-spacing) / 6) calc(var(--element-spacing) / 3)
  }

  .box.box-large .box-header,
  .box.box-large .box-content,
  .box.box-large .box-footer {
    padding: var(--element-spacing)
  }

  .box.box-large hr {
    margin: var(--element-spacing) calc(var(--element-spacing) * -1)
  }

  #header .header-navigation-overlay-trigger {
    right: var(--element-spacing)
  }

  section .section-header h1+p,
  section .section-header-feature h1+p {
    font-size: var(--font-size-body);
    line-height: calc(var(--font-size-body) + var(--font-spacing))
  }

  section .section-header-feature h1 {
    font-size: var(--font-size-heading-1);
    line-height: calc(var(--font-size-heading-1) + var(--font-spacing))
  }
}
