@import url("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&display=swap");
html, body {
  margin: 0;
  padding: 0;
  font-family: "Source Sans Pro", Arial, Tahoma, sans-serif;
}

header {
  display: grid;
  grid-template: ". logo ." auto ". hr. " auto ". nav ." auto/calc((100vw - 840px) / 2) 1fr calc((100vw - 840px) / 2);
  font-weight: lighter;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
header .main-logo {
  grid-area: logo;
  place-self: center;
  transition: height 0.3s;
  height: 102px;
}
header .main-logo.hidden {
  height: 0;
}
header .main-logo img {
  max-height: 100%;
}
header hr {
  grid-area: hr;
}
header nav {
  grid-area: nav;
  display: grid;
  user-select: none;
  -webkit-user-select: none;
  grid-template: "logo menu langselect" 100%/max-content 1fr min-content;
}
header nav .small-logo {
  grid-area: logo;
  height: 60px;
  display: none;
  margin-right: 20px;
}
header nav .small-logo.shown {
  display: initial;
}
header nav ul {
  grid-area: menu;
  list-style: none;
  padding-left: 0;
}
header nav ul li {
  margin-right: 24px;
  display: inline-block;
  border-bottom: 3px solid transparent;
  transition: border-bottom-color 0.3s;
  position: relative;
}
header nav ul li::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: -3px;
  left: 0;
  transition: background 0.3s;
}
header nav ul li:hover::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: #09142f;
  position: absolute;
  bottom: -3px;
  left: 0;
}
header nav ul li a {
  text-decoration: none;
  font-size: 1.4rem;
}
header nav select {
  grid-area: langselect;
  appearance: none;
  -webkit-appearance: none;
  width: 90px;
  height: 30px;
  text-align: center;
  align-self: center;
  cursor: pointer;
  border: 1px solid #4859a1;
  text-align-last: center;
  border-radius: 4px;
  font-size: 13px;
}
header nav select:focus {
  outline: none;
  border-color: #09142f;
}

*::selection {
  background: #7483c1;
}

*:focus {
  outline: 1px solid #7483c1;
  outline-offset: 0;
}

select:focus {
  outline-offset: -1px;
}

h2 {
  margin: 24px;
}

hr {
  width: 100%;
  border: 1px #ebebeb solid;
  margin: 0;
}

.darkblue-bg {
  background: #09142f;
}

.blue-bg {
  background: #4859a1;
}

.white-bg {
  background: #fcfcfc;
}

.yellow-bg {
  background: #ffbd2f;
}

.lightyellow-bg {
  background: #eae0cc;
}

.text-condensed {
  margin: 0;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-justify {
  text-align: justify;
}

.text-small {
  font-size: 1.2em;
}

.text-medium {
  font-size: 1.6em;
}

.text-large {
  font-size: 2em;
}

.black {
  color: #323232;
}

.darkgray {
  color: #6d7079;
}

.darkblue {
  color: #09142f;
}

.white {
  color: #fcfcfc;
}

.rounded-corners {
  border-radius: 8px;
}

.constrain-max-width {
  display: grid;
  grid-template: ". content ." auto/calc((100vw - 840px) / 2) 1fr calc((100vw - 840px) / 2);
}
.constrain-max-width.extra-wide {
  grid-template: ". content ." auto/calc((100vw - 1280px) / 2) 1fr calc((100vw - 1280px) / 2);
}
.constrain-max-width.extra-narrow {
  grid-template: ". content ." auto/calc((100vw - 480px) / 2) 1fr calc((100vw - 480px) / 2);
}
.constrain-max-width > *:first-child {
  grid-area: content;
}

.call-to-action {
  text-decoration: none;
  font-weight: 700;
  padding: 12px;
  transition: box-shadow 0.3s;
}
.call-to-action:hover {
  box-shadow: 0px 8px 16px 0px rgba(9, 20, 47, 0.55);
}
.call-to-action:active {
  box-shadow: 0px 4px 8px 0px rgba(9, 20, 47, 0.55);
}

.normalize-list {
  list-style: none;
  padding-left: 0;
}

.custom-list {
  list-style: square;
}

.check-list {
  list-style: url("/images/list_check.png");
  padding-left: 24px;
}

.inline-list li {
  display: inline-block;
}

.horizontal-center {
  justify-self: center;
}

.horizontal-right {
  justify-self: end;
}

.vertical-center {
  align-self: center;
}

.left-description {
  display: grid;
  grid-column-gap: 16px;
  grid-template: "top image" auto "bottom image" auto/auto min-content;
}
.left-description img {
  grid-area: image;
  max-width: 640px;
}

.right-description {
  display: grid;
  grid-column-gap: 16px;
  grid-template: "image top" auto "image bottom" auto/min-content auto;
}
.right-description img {
  grid-area: image;
  max-width: 640px;
}

.separate-columns {
  display: grid;
  grid-column-gap: 16px;
  grid-template: "left . right" auto/max-content max-content;
}
.separate-columns > *:first-child {
  grid-area: left;
  justify-self: left;
}
.separate-columns > *:last-child {
  grid-area: right;
  justify-self: right;
}

.three-column {
  display: grid;
  grid-column-gap: 24px;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
}

.four-column {
  display: grid;
  grid-column-gap: 16px;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto;
}

.auto-two-column {
  columns: 300px 2;
}

.two-column {
  display: grid;
  grid-column-gap: 48px;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
}

.small-column-gap {
  grid-column-gap: 8px;
}

img:not([src="/images/cleverit-logo.png"]) {
  max-width: 100%;
}

.text-thin {
  font-weight: 300;
}

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

.top-spacer-large {
  padding-top: 48px;
}

.bottom-spacer-large {
  padding-bottom: 48px;
}

.top-spacer-medium {
  padding-top: 32px;
}

.bottom-spacer-medium {
  padding-bottom: 32px;
}

.top-spacer-small {
  padding-top: 16px;
}

.bottom-spacer-small {
  padding-bottom: 16px;
}

.element-spacer-before {
  margin-top: 32px;
}

.element-space-after {
  margin-bottom: 32px;
}

.extra-line-height {
  line-height: 1.6;
}

.extra-element-spacing {
  padding-top: 8px;
  padding-bottom: 8px;
}

.small-button {
  min-width: 40px;
}

.medium-button {
  min-width: 60px;
}

.large-button {
  min-width: 80px;
}

.container-box {
  padding-left: 16px;
  padding-right: 16px;
}

.title-underline {
  display: block;
  width: 80px;
  margin-left: calc(50vw - 40px);
  height: 8px;
}

/*# sourceMappingURL=main.css.map */
