  .Font-light {
    font-family: "Ubuntu", sans-serif;
    font-weight: 100;
    font-style: normal;
  }
  
  .Font-regular {
    font-family: "Ubuntu", sans-serif;
    font-weight: 200;
    font-style: normal;
  }
  
  .Font-medium {
    font-family: "Ubuntu", sans-serif;
    font-weight: 400;
    font-style: normal;
  }
  
  .Font-semibold {
    font-family: "Ubuntu", sans-serif;
    font-weight: 400;
    font-style: normal;
  }
  
  .Font-bold {
    font-family: "Ubuntu", sans-serif;
    font-weight: 500;
    font-style: normal;
  }


  html, body {
    padding: 0;
    margin: 0;
    font-family: "Ubuntu", sans-serif;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: normal;
  }

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

  h2 {
    font-size: 30px;
    margin: 0 0 32px 0;
    color: #00467C;
  }

  a {
    color: #00467C;
    text-decoration: none;
  }

  a.article {
    color: orange;
    text-decoration: none;
  }

  .centered {
    margin: 0 auto;
    padding: 0 15px;
    width: calc(100% - 30px);
    height: 100%;
    max-width: 1340px;
    position: relative;
  }

  .halfleft { 
    padding-top: 23px;
    width: calc(49% - 13px); 
    height: calc(100% - 23px);
    display: inline-block;
    vertical-align: top;
    position: relative;
  }

  .halfright { 
    width: calc(49% - 13px); 
    margin-left: 26px;
    display: inline-block;
  }

  p.vertical-centered {
    margin: 0;
    position: absolute;
    top: 50%;
    transform: translate(0%, -50%);
    padding: 0 26px;
    width: calc(50% - 78px);
    font-size: 20px;
  }
  @media only screen and (max-width: 1000px) and (min-width: 800px) {
    p.vertical-centered {
        font-size: 20px;
      }
  }

  @media only screen and (max-width: 799px) {
    p.vertical-centered { 
      position: relative;
      width: calc(100% - 52px);
      transform: none;
      padding-bottom: 52px;
    }
  }

  .fullimage.halfright {
    position: absolute;
    right: 0;
    height: 376px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left -45px;
  }

  @media only screen and (max-width: 1390px) {
    .fullimage.halfright {
        background-position: top left;
      }
  }

  div.headbar {
    background: #6594A8;
    color: #ffffff;
    height: 80px;
  }
  @media only screen and (max-width: 1200px) {
    div.headbar {
        height: auto;
      }
  }

  div.navigation {
    position: relative;
  }

  div.navigation .desktopmenu {
    display: inline-block;
  }
  @media only screen and (max-width: 1200px) {
    div.navigation .desktopmenu {
        display: none;
      }
  }

  div.navigation .desktopmenu ul {
    list-style-type: none;
    width: auto;
    display: inline-block;
    vertical-align: bottom;
    margin: 0;
  }

  div.navigation .desktopmenu ul li {
    display: inline-block;
    height: 100%;
  }

  div.navigation ul a,
  div.navigation .mobilemenu a.img {
    font-size: 20px;
    padding: 31px 32px 22px 32px;
    color: #ffffff;
    text-decoration: none;
    display: inline-block;
  }
  div.navigation .mobilemenu a.img img { display: inline;  vertical-align: -3px; }
  @media only screen and (max-width: 1200px) {
    div.navigation .desktopmenu ul a {
        padding: 31px 20px 22px 20px;
    }
  }

  div.navigation ul a:hover,
  div.navigation ul a.active {
    text-decoration: underline;
  }

  div.navigation .desktopmenu a.img {
    position: absolute;
    top: 31px;
  }

  div.navigation .desktopmenu a.img.youtube {
    right: 15px;
  }

  div.navigation .desktopmenu a.img.github {
    right: 70px;
  }

  div.navigation .desktopmenu ul li.img a {
    padding: 0;
    margin-left: 22px;
    text-align: right;
  }

  div.navigation .mobilemenu {
    display: none;
    width: 100%;
    position: relative;
  }
  div.navigation .mobilemenu .roll {
    display: none;
  }
  @media only screen and (max-width: 1200px) {
    div.navigation .mobilemenu {
        display: inline-block;
      }
  }

  div.navigation .mobilemenu img.menu {
    position: absolute;
    right: 15px;
    top: 0;
    width: 40px;
    padding: 20px 0 20px 20px;
  }

  div.navigation .mobilemenu a.menu:hover + .roll,
  div.navigation .mobilemenu a.menu:focus + .roll,
  div.navigation .mobilemenu .roll:hover {
    display: block;
  }
  
  div.navigation .mobilemenu ul.nav {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
  }

  div.navigation .mobilemenu ul li {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
  }

  div.navigation .mobilemenu ul li a,
  div.navigation .mobilemenu a.img {
    display: block;
    padding: 12px 0;
    text-align: center;
    border-top: 1px solid #98BCCB;
  }

  div.navigation img.logo {
    margin-top: 5px;
  }

  div.subheader {
    background: #7EABBE;
    height: 138px;
    background-image: url(../images/kruhy-white.png);
    background-repeat: no-repeat;
    background-position: calc(325px + 50%) -421px;
  }
  @media only screen and (max-width: 1390px) {
    div.subheader {
        background-position: 450px -421px;
      }
  }

  div.articlesubheader {
    height: 138px;
    background-image: url(../images/kruhy-gray.png);
    background-repeat: no-repeat;
    background-position: calc(325px + 50%) -421px;
  }
  @media only screen and (max-width: 1390px) {
    div.articlesubheader {
        background-position: 450px -421px;
      }
  }

  div.bigsubheader {
    background: #7EABBE;
    height: 376px;
    background-image: url(../images/kruhy-white.png);
    background-repeat: no-repeat;
    background-position: calc(50% - 340px) -489px;
    color: white;
  }
  @media only screen and (max-width: 1390px) {
    div.bigsubheader {
        background-position: -215px -489px;
      }
  }

  div.bigsubheader p {
    padding-right: 50px;
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 18px;
    font-family: "Ubuntu", sans-serif;
    font-weight: 400;
    font-style: normal;
  }

  div.bigsubheader a.button {
    border: none;
    background-color: #326E97;
    color: #ffffff;
    padding: 16.5px 32.5px;
    position: absolute;
    bottom: 43px;
    right: 83px;
    border-radius: 27px;
    font-size: 24px;
  }

  div.bigsubheader a.button:hover {
    background: #00467C;  
   }

  div.articlesubheader h1 {
    font-size: 40px;
    line-height: 40px;
    color: #00467C;
    margin: 0;
    padding-top: 48px;
  }

  div.articlesubheader p {
    color: #808182;
    font-size: 14px;
    border-bottom: 2px solid #D7D7D7;
    margin: 0;
    line-height: 14px;
    padding: 24px 0 10px 0;
  }

  div.subheader h1 {
    font-size: 40px;
    line-height: 138px;
    color: #ffffff;
  }

  div.bigsubheader h1 {
    font-size: 40px;
    color: #ffffff;
    margin-bottom: 17px;
  }

  @media only screen and (max-width: 1200px) and (min-width: 800px) {
    div.bigsubheader p {
        font-size: 20px;
        padding-right: 0;
    }
    div.bigsubheader h1 {
      font-size: 38px;
    }
  }

  @media only screen and (max-width: 799px) {
    .halfleft { 
      width: 100%; 
      height: calc(50% - 23px);
    }
    .halfright { 
      width: 100%; 
      margin: 0;
    }
    .fullimage.halfright {
      position:  relative;
    }
    div.bigsubheader {
      height: 752px;
      background-position: -215px -113px;
    }
  }

  @media only screen and (max-width: 600px) {
    div.bigsubheader p {
        font-size: 20px;
        padding-right: 26px;
    }
    div.bigsubheader h1 {
      font-size: 38px;
    }

    div.bigsubheader a.button {
      position: relative;
      margin-left: auto;
      margin-right: auto;
      display: block;
      font-size: 22px;
      right: auto;
      bottom: auto;
      margin-top: 30px;
    }

    .halfleft {
      text-align: center;
    }
  }

  @media only screen and (max-width: 400px) {
    div.bigsubheader h1 {
      font-size: 30px;
    }
    div.bigsubheader a.button {
      padding: 13px 10px;
    }
  }

  div#main {
    background-image: url(../images/kruhy-gray.png);
    background-repeat: no-repeat;
    background-position: calc(325px + 50%) -562px;
  }
  @media only screen and (max-width: 1360px) {
    div#main {
        background-position: 450px -562px;
      }
  }
  div#main.bigsubheader_main {
    background-position: calc(50% - 340px) -865px;
  }
  @media only screen and (max-width: 1360px) {
    div#main.bigsubheader_main {
        background-position: -215px -865px;
      }
  }

  div#main.bigsubheader_main .centered {
    padding-top: 33px;
  }

  div#main.bigsubheader_main h2:first-child {
    font-size: 36px;
    margin: 0 0 15px 0;
    line-height: 44px;
  }

  .section {
    padding-top: 55px;
    padding-bottom: 100px;
  }

  .servicesection {
    padding: 50px 2px;
  }

  .colored {
    background-color: #D6DAE1;
    position: relative;
  }

  .colored.circles {
    background-image: url(../images/kruhy-white.png);
    background-repeat: no-repeat;
    background-position: calc(325px + 50%) -562px;
  }
  @media only screen and (max-width: 1360px) {
    .colored.circles {
        background-position: 450px -562px;
      }
  }
  

  .producthandler {
    width: 100%;
    display: inline-block;
    text-align: center;
  }

  .producthandler .product {
    width: 309px;
    display: inline-block;
    margin-left: 26px;
    vertical-align: top;
  }

  .producthandler .product img{
    max-width: 257px;
  }

  .producthandler .product:nth-child(4n+1) {
    margin-left: 13px;
  }
  @media only screen and (max-width: 1370px) and (min-width: 1054px) {
    .producthandler .product:nth-child(4n+1) {
      margin-left: 26px;
    }
    .producthandler .product:nth-child(3n) {
      margin-right: 13px;
    }
    .producthandler .product:nth-child(3n+1) {
      margin-left: 13px;
    }
  }

  @media only screen and (max-width: 1053px) and (min-width: 739px) {
    .producthandler .product:nth-child(4n+1) {
      margin-left: 26px;
    }
    .producthandler .product:nth-child(2n) {
      margin-right: 13px;
    }
    .producthandler .product:nth-child(2n+1) {
      margin-left: 13px;
    }
  }

  @media only screen and (max-width: 738px) {
    .producthandler {
      width: 100%;
      padding: 0;
    }
    .producthandler .product:nth-child(4n+1),
    .producthandler .product {
      margin-left: auto;
      margin-right: auto;
      display: block;
    }
  }

  .producthandler .product p,
  .producthandler .product strong {
    text-align: left;
  }

  .producthandler h2 {
    margin: 0 0 26px 0;
  }

  .producthandler .product p {
    font-size: 18px;
    margin: 0;
  }

  .producthandler .product p.title {
    font-size: 28px;
    margin: 26px 0 0 0;
  }

  article {
    width: calc(49% - 74px);
    padding: 26px;
    border: 2px solid #d7d7d7;
    border-radius: 15px;
    height: 203px;
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin: 13px;
  }

  @media only screen and (max-width: 900px) {
    article {
        width: calc(100% - 56px);
        margin: 13px 0;
      }
  }

  article div.img {
    width: calc(49% - 13px);
    max-height: 100%;
    margin-right: 26px;
    overflow: hidden;
    display: inline-block;
    vertical-align: top;
  }

  article div.img img {
    width: 100%;
    display: block;
  }

  article div.text {
    width: calc(49% - 13px);
    max-height: 174px;
    display: inline-block;
  }

  article h3 {
    margin: 0 0 7px 0;
    font-size: 30px;
    color: #00467C;
    line-height: 100%;
  }
  @media only screen and (max-width: 1200px) and (min-width: 901px) {
    article h3 {
        font-size: 30px;
      }
  }

  article h3 a {
    color: #00467C;
    text-decoration: none;
  }

  article p {
    margin: 0 0 5px 0;
    font-size: 16px;
    color: #8e8e8e;
  }
  @media only screen and (max-width: 1200px) and (min-width: 901px) {
    article p {
        margin: 0 0 3px 0;
    }
  }

  article p.category {
    margin-bottom: 14px;
  }

  article p span,
  article p a {
    color: #8e8e8e;
    font-weight: 500;
    text-decoration: none;
  }

  article p a:hover {
    text-decoration: underline;
  }

  article p.category a {
    color: #00467C;
    text-decoration: none;
  }

  article p.category a:hover {
    text-decoration: underline;
  }

  article a.button {
    position: absolute;
    bottom: 26px;
  }

  @media only screen and (max-width: 500px) {
    article {
      height: 433px;
    }
    article div.img {
      width: 100%;
    }
    article div.text {
      width: 100%;
      padding-top: 26px;
    }
    article a.button {
      position: relative;
      margin: 26px auto 0;
      bottom: auto;
      display: block;
    }
  }

  a.button {
    font-family: "Ubuntu", sans-serif;
    font-weight: 500;
    font-style: normal;
    color: #00467C;
    border: 1px #00467C solid;
    border-radius: 10px;
    display: inline-block;
    height: 16px;
    text-align: center;
    text-decoration: none;
    line-height: 16px;
    font-size: 16px;
    padding: 12px 10px;
    width: 110px;
  }
   a.button:hover {
    background: #00467C;
    color: #ffffff;
    border: none;
    padding: 13px 11px;
   }

   @media only screen and (max-width: 1200px) and (min-width: 901px) {
    article a.button {
        padding: 10px 5px;
      }
    a.button:hover {
        padding: 9px 4px;
       }
  }

  #categories {
    text-align: center;
    margin-bottom: 15px;
    margin-top: 0px;
  }

  #categories a.button {
    margin-bottom: 26px;
    margin: 0 13px 26px 13px;
  }

  #categories a.button.active {
    background: #326E97;
    color: #ffffff;
    border: none;
    padding: 13px 11px;
  }

  .articlebody {
    margin-top: 0px;
    font-size: 15px;
    line-height: 175%;
  }

  .articlebody + h2 {
    margin: 32px 0;
  }

  .articlebody img.img-right {
    float: right;
    margin: 26px 0 26px 26px;
  }
  .articlebody img.img-left {
    float: left;
    margin: 26px 26px 26px 0;
  }

  .articlebody img {
    float: none;
    margin: 26px auto;
    display: block;
    cursor: pointer;
  }
  div.caption p {
    text-align: center;
    font-size: 16px;
  }

  #lbt-lightbox-caption { font-size: 12px; }

  .articlebody div.box.mainimage {
    max-width: calc(50% - 13px);
    margin-top: 0;
    display: block;
    position: relative;
    float: right;
    margin: 0 0 26px 26px;
  }

  .halfleftimg div.box.mainimage {
    cursor: pointer;
  }
  .halfleftimg div.box.mainimage .overlay {
    opacity: 0;
  }
  .halfleftimg div.box.mainimage:hover .overlay {
    opacity: 1;
  }
  .halfleftimg div.box.mainimage:hover img {
    opacity: 0.2;
  }

  .articlebody img.mainimage {
    max-width: 100%;
    margin: 0;
    position: relative;
    transition: .5s ease;
  }

  img.mainimage {
    z-index: 1;
  }

  img.mainimage:hover {
    opacity: 0.2;
  }
  
  div.box .overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    background-color: #1B3D54;
    font-weight: bold;
  }

  div.box .overlay .text {
    color: white;
    font-size: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
  }

  .halfleftimg { 
    width: calc(49% - 13px); 
    height: calc(100% - 23px);
    display: inline-block;
    vertical-align: top;
    position: relative;
    text-align: center;
  }

  .halfleftimg img {
    max-width: 100%;
    position: relative;
  }

  @media only screen and (max-width: 799px) {
    .halfleftimg { 
      width: calc(100% - 52px);
      /* padding-top: 26px;
      padding-bottom: 52px; */
    }
    .halfleftimg img {
      max-height: 300px;
    }
  }

  .articlebody ul {
    list-style: none;
    padding: 0 0 0 38px;
  }

  .articlebody ul li {
    padding-left: 1.5em;
  }

  .articlebody ul li:before
  {
    color: #00467C;
    content: '⦿';
    margin: 0 0 0 -1.5em;
    display: inline-block;
    width: 1.5em;
  }

  .half {
    width: calc(50% - 13px);
    display: inline-block;
    vertical-align: top;
    margin-top: 26px;
  }
  .half + .half {
    margin-left: 26px;
  }

  @media only screen and (max-width: 899px) {
    .half {
      width: 100%;
    }
    .half + .half {
      margin-left: 0px;
    }
  }

  div.service{
    display: inline-block;
    margin: 13px;
    position: relative;
    width: calc(50% - 26px);
  }

  @media only screen and (max-width: 599px) {
    div.service{
      width: calc(100% - 26px);
    }
  }

  div.service img { 
    display: block; 
    width: 100%;
  }

  div.service p.desc {
    background: rgba(0,0,0,70%);
    position: absolute;
    color: #ffffff;
    text-align: center;
    width: 100%;
    bottom: 0;
    margin: 0;
    font-size: 28px;
    line-height: 50px;
  }

  @media only screen and (max-width: 900px) and (min-width: 600px) {
    div.service p.desc {
      font-size: 24px;
      line-height: 40px;
    }
  }

  img.notfound {
    max-width: 100%;
  }

  footer { 
    text-align: center;
    background: #7EABBE;
    color: #ffffff;
    width: 100%;
    font-size: 16px;
    padding: 25px 0;
    clear: both;
  }

   footer span {
    font-size: 18px;
    display: block;
   }
  
