@font-face {
  font-family: Din;
  src: url(fonts/DinReg.ttf);
}
@font-face {
  font-family: Din;
  src: url(fonts/DINProMed.ttf);
  font-weight: 500;
}
@font-face {
  font-family: Din;
  src: url(fonts/DINProLght.ttf);
  font-weight: 100;
}
@font-face {
  font-family: Din;
  src: url(fonts/DINProBold.ttf);
  font-weight: 700;
}
@font-face {
  font-family: Din;
  src: url(fonts/DINProBlk.ttf);
  font-weight: 800;
}
@font-face {
  font-family: DinCond;
  src: url(fonts/DINCondensedBold.ttf);
  font-weight: 800;
}
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: "Din", sans-serif;
  font-weight: 500;
  vertical-align: baseline;
  box-sizing: border-box;
  color: #083a82;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
  font-family: "Din", sans-serif;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

html {
  font-size: 9px;
}

h2 {
  font-size: 6.4rem;
  text-align: center;
}

h3,
.card-title {
  font-size: 3.3rem;
}

p {
  font-size: 1.6rem;
  line-height: 1.35em;
}
p.large {
  font-size: 2.5rem;
}
p b {
  font-weight: 700;
}

.buy-btn {
  font-weight: 700;
  padding: 1rem 3rem;
}

.buy-btn,
.red-btn {
  font-size: 3rem;
  border-radius: 6rem;
  background-color: red;
  color: #fff;
  position: relative;
  padding: 3rem 7rem;
}
.buy-btn::after,
.red-btn::after {
  content: "";
  position: absolute;
  left: -20%;
  bottom: 0;
  transform: translateY(100%);
  height: 3rem;
  width: 140%;
  background-image: url(img/card_shadow.png);
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
}
.buy-btn a,
.red-btn a {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

header.site-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 5;
}
header.site-header .header-cont {
  width: 100%;
  max-width: 120rem;
  padding: 2.5rem 1rem 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: auto;
}
header.site-header .header-cont .logo {
  width: 20rem;
  height: 8rem;
  background-image: url(img/logo_head.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
header.site-header .header-cont ul {
  display: flex;
}
header.site-header .header-cont ul li {
  padding: 1.5rem 3rem;
  border-radius: 3rem;
  font-size: 2.5rem;
  color: #fff;
}

.page-header {
  padding: 22rem 1rem 31rem;
  background-image: url(img/main-header.png);
  background-size: cover;
  background-position: center bottom;
  border-bottom-left-radius: 30vw;
  border-bottom-right-radius: 30vw;
  position: relative;
}
.page-header::before, .page-header::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 30vw;
  height: 30vw;
  background-size: cover;
  z-index: -1;
}
.page-header::before {
  right: 0;
  background-image: url(img/header-bg-right-part.png);
}
.page-header::after {
  left: 0;
  background-image: url(img/header-bg-left-part.png);
}
.page-header .section-cont {
  width: 100%;
  max-width: 120rem;
  margin: auto;
}
.page-header .section-cont .subtitle {
  font-size: 3.3rem;
  margin: 3rem 0 4.5rem;
  color: #fff;
  font-weight: 700;
  line-height: 1em;
}
.page-header .section-cont .buy-btn {
  display: inline-block;
}

section.basic-wrapper {
  margin: -15rem auto -9rem;
  padding: 20rem 1rem 12rem;
  text-align: center;
  background-image: url(img/ban2-bg.png);
  z-index: -2;
  position: relative;
}
section.basic-wrapper .basic {
  width: 100%;
  max-width: 120rem;
  margin: auto;
}
section.basic-wrapper .basic h2 {
  margin-bottom: 3rem;
}
section.basic-wrapper .basic p {
  width: 100%;
  max-width: 100rem;
  margin: 0 auto 5rem;
}
section.basic-wrapper .basic .cols {
  display: flex;
  margin-bottom: 5rem;
  justify-content: center;
}
@media (max-width: 600px) {
  section.basic-wrapper .basic .cols {
    flex-direction: column;
    max-width: 80%;
    margin: auto;
  }
}
section.basic-wrapper .basic .cols .col {
  padding: 2rem 2rem;
  flex: 0 0 33%;
  border-right: 1px solid #000;
}
@media (max-width: 600px) {
  section.basic-wrapper .basic .cols .col {
    border-right: 0px solid #000;
    margin-bottom: 4rem;
  }
}
section.basic-wrapper .basic .cols .col:last-child {
  border-right: 0px solid #000;
}
section.basic-wrapper .basic .cols .col .col-img-wrapper {
  width: 100%;
  height: 13rem;
  margin-bottom: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
section.basic-wrapper .basic .cols .col p {
  margin-bottom: 0;
}

.block1-wrapper {
  background-image: url(img/blk-bg-6.png);
  background-size: cover;
  background-position: center;
  margin-bottom: 19rem;
  position: relative;
}
.block1-wrapper.with-btm-shadow {
  margin-bottom: 0;
}
.block1-wrapper .block1-content {
  width: 100%;
  max-width: 120rem;
  margin: auto;
  color: #fff;
  text-align: center;
  padding: 7rem 1rem;
  line-height: 1.35em;
}
.block1-wrapper .block1-content h2 {
  color: #fff;
}
.block1-wrapper .block1-content p {
  color: #fff;
}
.block1-wrapper .block1-content.with-hand {
  padding-bottom: 12rem;
}
.block1-wrapper .block1-content .artoz-img {
  background-color: #f5fcff;
  margin: 5rem auto -14rem;
  border-radius: 5rem;
  position: relative;
}
.block1-wrapper .block1-content .artoz-img::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(100%);
  height: 2rem;
  width: 100%;
  background-image: url(img/card_shadow.png);
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
}
.block1-wrapper .block1-content .icons-with-desc {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  margin-top: 5rem;
  line-height: 1.35em;
}
.block1-wrapper .block1-content .icons-with-desc .icons-with-desc-item {
  flex: 0 1 25%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: left;
}
.block1-wrapper .block1-content .icons-with-desc .icons-with-desc-item .icon {
  margin-right: 1rem;
}
.block1-wrapper .block1-content .icons-with-desc .icons-with-desc-item .desc {
  color: #fff;
}
.block1-wrapper .block1-content .hand {
  position: absolute;
  background-image: url(img/hand.png);
  background-size: contain;
  bottom: 0;
  right: 0;
  width: 70%;
  height: 38rem;
  background-repeat: no-repeat;
  background-position: right center;
  transform: translateY(50%);
  z-index: 4;
}

.contact-wrapper {
  width: 100%;
  max-width: 70rem;
  margin: auto;
  position: relative;
}
.contact-wrapper .packshot {
  background-image: url(img/packshot-2.png);
  position: absolute;
  width: 50%;
  height: 30rem;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  right: 0;
  top: 0;
}

.contact-wrapper-part {
  width: 50%;
  text-align: left;
}

.btm-shadow-wrapper {
  background-color: #fff;
  position: relative;
}
.btm-shadow-wrapper::after {
  content: "";
  position: absolute;
  left: -20%;
  bottom: 0;
  transform: translateY(100%);
  height: 3rem;
  width: 140%;
  background-image: url(img/card_shadow.png);
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
}
.btm-shadow-wrapper .btm-shadow {
  max-width: 70rem;
  width: 100%;
  padding: 15rem 2rem 4rem;
  text-align: center;
  margin: auto;
}

.blk2-wrapper .blk2-content {
  width: 100%;
  max-width: 110rem;
  background-color: #def0f9;
  margin: 0 auto 5rem;
  padding: 2rem 5rem;
  text-align: center;
  border-radius: 5rem;
  position: relative;
}
.blk2-wrapper .blk2-content::before {
  content: "!";
  font-size: 6rem;
  width: 11rem;
  height: 11rem;
  background-color: #def0f9;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.blk2-wrapper .blk2-content::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(100%);
  height: 2rem;
  width: 100%;
  background-image: url(img/card_shadow.png);
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
}

.blk-3 h2 {
  margin-bottom: 2rem;
}
.blk-3 .block-with-bg-wrapper {
  background-color: #f5fcff;
  padding: 2rem 1rem;
}
.blk-3 .block-with-bg-wrapper .block-with-bg {
  width: 100%;
  max-width: 120rem;
  margin: auto;
  display: flex;
}
.blk-3 .block-with-bg-wrapper .block-with-bg .col {
  flex: 0 0 50%;
}
.blk-3 .block-with-bg-wrapper .block-with-bg .col p {
  width: 90%;
  margin-bottom: 1.5rem;
}

.block-2cols {
  width: 100%;
  max-width: 120rem;
  margin: auto;
  display: flex;
  align-items: center;
  padding: 4rem 1rem;
}
.block-2cols .col {
  flex: 0 0 50%;
}

.block5-wrapper {
  background-image: url(img/blk-bg.png);
  background-size: cover;
  background-position: center top;
  min-height: 50vw;
  border-bottom-left-radius: 50vw;
  border-bottom-right-radius: 50vw;
  text-align: center;
  padding-top: 13rem;
  padding-bottom: 19rem;
  position: relative;
}
.block5-wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 30vw;
  background-image: url(img/blk-bg-4.png);
  background-size: cover;
  background-position: top center;
  z-index: -1;
}
.block5-wrapper.dark {
  background-image: url(img/blk-bg-dark.png);
}
.block5-wrapper.dark::before {
  background-image: url(img/blk-bg-4-dk.png);
}
.block5-wrapper.narrow .block-content {
  width: 100%;
  max-width: 74rem;
}
.block5-wrapper.about {
  padding-top: 18rem;
}
.block5-wrapper .subhead {
  font-size: 2.5rem;
  color: #fff;
  width: 100%;
  max-width: 74rem;
  margin: 0 auto 4rem;
}
.block5-wrapper .block-content {
  width: 100%;
  max-width: 120rem;
  margin: 0 auto;
  color: #fff;
}
.block5-wrapper .block-content .pre-cont {
  margin-bottom: 5rem;
}
.block5-wrapper .block-content .pre-cont p {
  color: #fff;
  margin-bottom: 2rem;
}
.block5-wrapper .block-content h3 {
  text-align: left;
  position: relative;
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
  color: #fff;
}
.block5-wrapper .block-content h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-image: url(img/separator.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.block5-wrapper .block-content .title, .block5-wrapper .block-content .content {
  color: #fff;
}
.block5-wrapper .block-content .txt-cont {
  width: 100%;
  max-width: 74rem;
  margin: auto;
}
.block5-wrapper .block-content .txt-cont p {
  color: #fff;
  margin-bottom: 2rem;
}
.block5-wrapper h2 {
  color: #fff;
  margin-bottom: 7rem;
}
.block5-wrapper .cards {
  display: flex;
  width: 100%;
  max-width: 120rem;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .block5-wrapper .cards {
    flex-direction: column;
  }
}
.block5-wrapper .cards .card {
  padding: 2.5rem;
  flex: 1 1 33%;
}
.block5-wrapper .cards .card .card-body {
  padding: 5rem 3rem;
  background-color: #e7f2fa;
  border-radius: 5rem;
  text-align: left;
  box-shadow: rgba(54, 110, 191, 0.2) 0px 7px 29px 0px;
  position: relative;
}
.block5-wrapper .cards .card .card-body::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(100%);
  height: 2rem;
  width: 100%;
  background-image: url(img/card_shadow.png);
  background-position: center top;
  background-size: cover;
}
.block5-wrapper .cards .card .card-body .card-title {
  margin-bottom: 2rem;
}
.block5-wrapper .img-with-txt {
  width: 100%;
  max-width: 115rem;
  display: flex;
  margin: auto;
  padding: 2.5rem;
  margin-bottom: 2.5rem;
}
.block5-wrapper .img-with-txt .img-part {
  flex: 0 0 30%;
  background-image: url(img/img-txt.png);
  background-size: cover;
  background-position: center;
  border-radius: 5rem;
}
.block5-wrapper .img-with-txt .txt-part {
  padding: 2.5rem 0 2.5rem 2.5rem;
}
.block5-wrapper .img-with-txt .txt-part .txt {
  padding-left: 2.5rem;
  border-left: 4px solid #fff;
  color: #fff;
  text-align: left;
}
.block5-wrapper .red-btn {
  width: 100%;
  max-width: 111rem;
  margin: 0 auto 12rem;
}
.block5-wrapper .link-to-reasons {
  font-size: 4rem;
  color: #fff;
  text-decoration: underline;
  position: relative;
}
.block5-wrapper .link-to-reasons::before, .block5-wrapper .link-to-reasons::after {
  content: "";
  background-color: #ffffff2b;
  width: 15rem;
  height: 15rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}
.block5-wrapper .link-to-reasons::after {
  width: 19rem;
  height: 19rem;
}
.block5-wrapper .link {
  margin-top: 5rem;
  font-size: 4rem;
  text-decoration: underline;
  color: #fff;
}

.neg-margins {
  margin: -14rem 0 -14rem;
  max-width: 100%;
}

.icon-with-txt-wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  justify-content: space-between;
}
.icon-with-txt-wrapper .icon-with-txt-entry {
  flex: 0 0 50%;
  padding-right: 10%;
  display: flex;
  text-align: left;
  box-sizing: border-box;
  margin-bottom: 3rem;
}
.icon-with-txt-wrapper .icon-with-txt-entry .body {
  padding: 2rem 0 0 1rem;
}
.icon-with-txt-wrapper .icon-with-txt-entry .title {
  font-size: 3.3rem;
  margin-bottom: 1rem;
}
.icon-with-txt-wrapper .icon-with-txt-entry .content {
  font-size: 1.6rem;
  line-height: 1.35em;
}

.block-6-wrapper {
  position: relative;
  min-height: 79vw;
  border-top-left-radius: 50vw;
  border-top-right-radius: 50vw;
  background-image: url(img/blk-bg-3.png);
  background-size: cover;
  padding: 8rem 1rem 8rem;
  margin: -3rem auto 5rem;
}
.block-6-wrapper .block-6-cont {
  width: 100%;
  max-width: 120rem;
  color: #fff;
  margin: auto;
  text-align: center;
}
.block-6-wrapper .block-6-cont .subhead {
  margin-bottom: 5rem;
  color: #fff;
}
.block-6-wrapper .block-6-cont .icon-with-txt-wrapper {
  margin-bottom: 27rem;
}
.block-6-wrapper .block-6-cont .icon-with-txt-wrapper .separator {
  flex: 0 0 100%;
  width: 100%;
  height: 4px;
  background-image: url(img/separator.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin: 3rem 0;
}
.block-6-wrapper .block-6-cont .icon-with-txt-wrapper .title, .block-6-wrapper .block-6-cont .icon-with-txt-wrapper .content {
  color: #fff;
}
.block-6-wrapper h2 {
  margin-bottom: 5rem;
  text-align: center;
  color: #fff;
}
.block-6-wrapper::after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  background-image: url(img/blk-bg-2.png);
  background-size: cover;
  background-position: bottom center;
  height: 29vw;
}
.block-6-wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(img/blk-bg-5.png);
  background-size: 100%;
  background-repeat: no-repeat;
  z-index: -1;
}
.block-6-wrapper .bg-white-part {
  background-image: url(img/ban6-bg-pt.png);
  position: absolute;
  bottom: 0;
  right: 0;
  width: 65vw;
  height: 40vw;
  background-size: cover;
}
.block-6-wrapper .list-with-img {
  width: 100%;
  max-width: 100rem;
  display: flex;
  margin: 0 auto 4rem;
}
.block-6-wrapper .list-with-img .list-items {
  padding: 4rem 4rem 10rem 0;
  flex: 1 1 50%;
}
.block-6-wrapper .list-with-img .list-items .list-item {
  margin-bottom: 5rem;
  color: #fff;
}
.block-6-wrapper .list-with-img .list-items .list-item .card-icon, .block-6-wrapper .list-with-img .list-items .list-item .card-title {
  margin-bottom: 1rem;
}
.block-6-wrapper .list-with-img .list-items .list-item .card-title, .block-6-wrapper .list-with-img .list-items .list-item .card-txt {
  color: #fff;
}
.block-6-wrapper .list-with-img .list-image {
  flex: 1 1 50%;
  background-image: url(img/bycicle.png);
  background-size: cover;
  background-position: center;
  border-radius: 5rem;
}
.block-6-wrapper .btn-holder {
  text-align: center;
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100rem;
  margin: auto;
}
.block-6-wrapper .btn-holder .additional-info {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 33%;
  text-align: right;
}
.block-6-wrapper .btn-holder .additional-info img {
  max-width: 100%;
}
.block-6-wrapper .btn-holder .additional-info .link-to-more-info {
  font-size: 4rem;
  margin: 1rem 0;
}
.block-6-wrapper .btn-holder .buy-btn {
  display: inline-block;
}

.blk7-wrapper {
  background-image: url(img/blk-bg-6.png);
  background-size: cover;
  background-position: bottom center;
  color: #fff;
  position: relative;
  margin-bottom: 5rem;
}
.blk7-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(100%);
  height: 3rem;
  width: 100%;
  background-image: url(img/card_shadow.png);
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
}
.blk7-wrapper .blk7 {
  width: 100%;
  max-width: 120rem;
  margin: auto;
  padding: 4rem 1rem;
  text-align: center;
}
.blk7-wrapper .blk7 .red-btn {
  margin-bottom: 2rem;
}
.blk7-wrapper .blk7 h3 {
  text-align: center;
  margin-bottom: 3rem;
  color: #fff;
}
.blk7-wrapper .blk7 p {
  margin-bottom: 2rem;
  color: #fff;
}
.blk7-wrapper .blk7 .cols {
  display: flex;
}
.blk7-wrapper .blk7 .cols .col {
  flex: 0 0 50%;
  text-align: right;
}
.blk7-wrapper .blk7 .cols .col:first-child {
  border-right: 3px solid #fff;
}
.blk7-wrapper .blk7 .cols .col .list-item {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  max-width: 80%;
  text-align: left;
  margin-bottom: 2rem;
}
.blk7-wrapper .blk7 .cols .col .list-item .digit {
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 1.8rem;
  font-weight: 700;
  font-size: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #366ebf;
  flex: 0 0 5.5rem;
  color: #fff;
}
.blk7-wrapper .blk7 .cols .col .list-item .cont {
  padding-left: 2rem;
  line-height: 1.35em;
  color: #fff;
}
.blk7-wrapper .blk7 .cols .col img {
  max-width: 80%;
  border-radius: 5rem;
}

footer.site-footer {
  background-color: #366ebf;
  color: #fff;
}
footer.site-footer .footer-content {
  width: 100%;
  max-width: 120rem;
  margin: 12rem auto 0;
  position: relative;
  padding: 15rem 1rem 5rem;
}
footer.site-footer .footer-content .footer-upper-part {
  position: absolute;
  top: -7rem;
  left: 0;
  width: 100%;
  display: flex;
}
footer.site-footer .footer-content .footer-upper-part .footer-packshot {
  flex: 0 0 50%;
  background-image: url(img/packshot-3.png);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
}
footer.site-footer .footer-content .footer-upper-part .footer-logo-button {
  flex: 0 0 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
footer.site-footer .footer-content .footer-upper-part .footer-logo-button .footer-logo {
  margin-bottom: 2rem;
}
footer.site-footer .footer-content .footer-lower-part {
  display: flex;
  justify-content: space-between;
}
footer.site-footer .footer-content .footer-lower-part .footer-copyright {
  font-size: 1.6rem;
  color: #fff;
}
footer.site-footer .footer-content .footer-lower-part nav {
  display: flex;
}
footer.site-footer .footer-content .footer-lower-part nav li {
  list-style-type: none;
  font-size: 2.5rem;
  color: #fff;
  margin-left: 2rem;
}