/*
Theme Name: Signum Software Theme
Author: Signum Software
Author URI: https://signum-software.at/
Description: The theme for Signum Software website
Version: 1.0.0
*/
:root {
  --signum-bg-dark: #1f212d;
  --signum-text-light: #fff;
  --signum-text-tint: #f9f9f9;
  --signum-text-gray-tint: #5a5c62;
  --signum-text-gray: #76797e;
  --signum-text-blur: #828282;
  --signum-color-accent: #1599db;
  --signum-text-silver-gray: #415361;
  --signum-text-dark: #1f212d;
  --signum-text: #01192c; }

@font-face {
  font-family: "Work Sans";
  src: url("./font/WorkSans-VariableFont_wght.ttf") format("truetype");
  font-variation-settings: normal; }

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

html,
body {
  width: 100%;
  height: 100%;
  overflow: auto; }

html,
html.signum-theme {
  font-family: sans-serif;
  font-size: 62.5%;
  /* 1rem = 10px */
  margin-top: 0 !important; }

body {
  font-family: "Work Sans", sans-serif;
  font-size: 1.6rem;
  color: #01192c; }

input,
textarea {
  font-family: inherit; }

a {
  text-decoration: none;
  color: inherit;
  cursor: pointer; }

h2 {
  margin: 2rem 0;
  font-weight: 600;
  font-size: 10.2rem; }

p {
  color: #1f212d;
  font-size: 2.6rem;
  line-height: 4.4rem; }

h3 {
  font-size: 2.2rem;
  font-weight: 600; }

@media (max-width: 992px) {
  h1, h2, h3, p, span, a {
    word-wrap: break-word;
    word-wrap: anywhere; }
  h2 {
    font-size: 6rem; }
  p {
    font-size: 2.2rem;
    line-height: 3.6rem; }
  h3 {
    font-size: 2rem; } }

.container:not(.container-escape) {
  width: 100%;
  padding-left: 1.2rem;
  padding-right: 1.2rem;
  margin-left: auto;
  margin-right: auto; }
  @media (min-width: 576px) {
    .container:not(.container-escape) {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .container:not(.container-escape) {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .container:not(.container-escape) {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .container:not(.container-escape) {
      max-width: 1140px; } }
  @media (min-width: 1400px) {
    .container:not(.container-escape) {
      max-width: 1320px; } }

.home #main-header {
  color: var(--signum-color-accent);
  margin: 0; }

#main-header {
  position: relative;
  background-color: transparent;
  display: flex;
  flex-direction: column;
  color: #fff;
  margin-bottom: 8rem; }
  #main-header.no-thumbnail {
    background-color: var(--signum-bg-dark); }
  #main-header.has-thumbnail.large-thumbnail .content {
    min-height: 80vh; }
    @media (max-width: 1700px) {
      #main-header.has-thumbnail.large-thumbnail .content {
        min-height: 100rem; } }
    @media (max-width: 1500px) {
      #main-header.has-thumbnail.large-thumbnail .content {
        min-height: 80rem; } }
    @media (max-width: 992px) {
      #main-header.has-thumbnail.large-thumbnail .content {
        min-height: 45rem; } }
    @media (max-width: 600px) {
      #main-header.has-thumbnail.large-thumbnail .content {
        min-height: 30rem; } }
  #main-header .header-image {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    width: 100%;
    height: 100%; }
    #main-header .header-image img {
      object-fit: cover;
      height: auto;
      min-width: 100%;
      min-height: 100%; }
  #main-header .content {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
    #main-header .content .top-bar {
      padding: 4rem 1.2rem;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      #main-header .content .top-bar .nav-logo {
        height: 7rem; }
        #main-header .content .top-bar .nav-logo img {
          max-height: 100%;
          max-width: 100%;
          height: auto;
          width: auto; }
      #main-header .content .top-bar .nav-links {
        display: flex;
        justify-content: flex-end;
        align-items: center; }
        #main-header .content .top-bar .nav-links .nav-toggler {
          background: none;
          border: none;
          display: none;
          cursor: pointer; }
          #main-header .content .top-bar .nav-links .nav-toggler:active {
            filter: drop-shadow(0 0 0.25rem var(--signum-color-accent)); }
          #main-header .content .top-bar .nav-links .nav-toggler svg {
            stroke: var(--signum-text-light);
            stroke-width: 0.5rem;
            stroke-linecap: round; }
        #main-header .content .top-bar .nav-links .main-navigation {
          font-size: 2.2rem;
          font-weight: 500;
          text-transform: uppercase;
          transition: linear 0.1s; }
          #main-header .content .top-bar .nav-links .main-navigation .menu {
            list-style-type: none;
            display: flex; }
            #main-header .content .top-bar .nav-links .main-navigation .menu li + li {
              padding-left: 1rem; }
      @media (min-width: 1700px) {
        #main-header .content .top-bar {
          padding-left: 20rem;
          padding-right: 20rem; } }
      @media (min-width: 1500px) {
        #main-header .content .top-bar {
          padding-left: 10rem;
          padding-right: 10rem; } }
    #main-header .content .page-title {
      font-weight: 600;
      color: var(--signum-text-light);
      font-size: 12.6rem;
      padding: 20rem 30rem 12rem; }
      @media (max-width: 1500px) {
        #main-header .content .page-title {
          padding: 12rem 15rem; } }
      @media (max-width: 1200px) {
        #main-header .content .page-title {
          padding: 6rem 15rem 4rem; } }
      @media (max-width: 992px) {
        #main-header .content .page-title {
          padding: 6rem 5rem;
          font-size: 10rem; } }
      @media (max-width: 720px) {
        #main-header .content .page-title {
          padding: 6rem 1rem 4rem;
          font-size: 8rem; } }
  @media (max-width: 992px) {
    #main-header.nav-menu-open .main-navigation {
      width: 25rem;
      box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.125);
      border-left: 0.1rem rgba(0, 0, 0, 0.125) solid; }
    #main-header .nav-logo {
      height: 5rem !important; }
    #main-header .nav-toggler {
      display: flex !important; }
    #main-header .main-navigation {
      width: 0rem;
      overflow: hidden;
      background-color: var(--signum-text-light);
      color: var(--signum-text) !important;
      position: fixed;
      right: 0;
      top: 0;
      height: 100%; }
      #main-header .main-navigation .menu {
        padding: 7rem 2rem;
        flex-direction: column;
        align-items: flex-start; }
        #main-header .main-navigation .menu li + li {
          padding-left: 0 !important;
          white-space: nowrap; }
        #main-header .main-navigation .menu li {
          display: flex; }
          #main-header .main-navigation .menu li a {
            padding: 2rem 0; } }

.main-content > article > *:not(.container-escape) {
  width: 100%;
  padding-left: 1.2rem;
  padding-right: 1.2rem;
  margin-left: auto;
  margin-right: auto; }
  @media (min-width: 576px) {
    .main-content > article > *:not(.container-escape) {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .main-content > article > *:not(.container-escape) {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .main-content > article > *:not(.container-escape) {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .main-content > article > *:not(.container-escape) {
      max-width: 1140px; } }
  @media (min-width: 1400px) {
    .main-content > article > *:not(.container-escape) {
      max-width: 1320px; } }

#main-footer {
  display: flex;
  flex-direction: column;
  background-color: #1f212d;
  font-size: 1.8rem; }
  #main-footer h1 {
    font-size: 8rem;
    font-weight: 600;
    color: #f9f9f9; }
  #main-footer h3 {
    color: #fff; }
  #main-footer .top-footer {
    padding-top: 8rem;
    padding-bottom: 5rem; }
    #main-footer .top-footer h3,
    #main-footer .top-footer span,
    #main-footer .top-footer img,
    #main-footer .top-footer li {
      margin-bottom: 3rem; }
    #main-footer .top-footer span,
    #main-footer .top-footer li {
      display: block;
      color: #76797e; }
    #main-footer .top-footer .columns {
      display: flex;
      margin-top: 8rem; }
      #main-footer .top-footer .columns > div + div {
        margin-left: 8rem; }
      #main-footer .top-footer .columns .contact {
        flex: 1; }
        #main-footer .top-footer .columns .contact .phone-number {
          color: #1599db; }
      #main-footer .top-footer .columns .footer-navigation ul {
        list-style-type: none; }
  #main-footer .seperator {
    border-top: 0.1rem solid #2f313a; }
  #main-footer .lower-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #76797e;
    height: 6.7rem;
    padding: 0 2rem; }
  @media (max-width: 992px) {
    #main-footer h1 {
      font-size: 5rem; }
    #main-footer .top-footer {
      text-align: center; }
      #main-footer .top-footer .columns {
        flex-direction: column; }
        #main-footer .top-footer .columns > div + div {
          margin-left: 0;
          margin-top: 2rem; } }
