/* FONTS */
/* COLORS */
/*
 Roboto
 thin 100
 thin 100 Italic
 light 300
 light 300 Italic
 regular 400
 regular 400 Italic
 medium 500
 medium 500 Italic
 bold 700
 bold 700 Italic
 black 900
 black 900 Italic
 */
/* ==========================================================================
 Normalize.scss settings
 ========================================================================== */
/**
 * Includes legacy browser support IE6/7
 *
 * Set to false if you want to drop support for IE6 and IE7
 */
/* Base
 ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
 *  `em` units.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }
/**
 * Remove default margin.
 */
body {
  margin: 0; }
/* HTML5 display definitions
 ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }
/**
 * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio, canvas, progress, video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }
/**
 * Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }
/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden], template {
  display: none; }
/* Links
 ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }
/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active, a:hover {
  outline: 0; }
/* Text-level semantics
 ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }
/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b, strong {
  font-weight: bold; }
/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }
/**
 * Addresses styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }
/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }
/* Embedded content
 ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 8/9/10.
 * 2. Improves image quality when scaled in IE 7.
 */
img {
  border: 0; }
/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }
/* Grouping content
 ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }
/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }
/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }
/**
 * Address odd `em`-unit font size rendering in all browsers.
 * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
 */
code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em; }
/* Forms
 ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *  Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 * 4. Improves appearance and consistency in all browsers.
 */
button, input, optgroup, select, textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }
/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button, select {
  text-transform: none; }
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *  and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *  `input` and others.
 * 4. Removes inner spacing in IE 7 without affecting normal text inputs.
 *  Known issue: inner spacing remains in IE 6.
 */
button, html input[type="button"], input[type="reset"], input[type="submit"] {
  /* 1 */
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }
/**
 * Re-set default cursor for disabled elements.
 */
button[disabled], html input[disabled] {
  cursor: default; }
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }
/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 *  Known issue: excess padding remains in IE 6.
 */
input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }
/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  height: auto; }
/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }
/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }
/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 * 3. Corrects text not wrapping in Firefox 3.
 * 4. Corrects alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }
/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }
/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }
/* Tables
 ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td, th {
  padding: 0; }

h1.main {
  font-size: 58px;
  color: #c6d30e;
  font-weight: 900;
  padding: 50px 0 20px 0;
  margin: 0;
  line-height: 75px; }
  @media all and (max-width: 600px) {
  h1.main {
    font-size: 48px;
    line-height: 55px;
    width: auto; } }

h2.main {
  font-size: 32px;
  color: #c6d30e;
  font-weight: 100;
  padding: 0 0 40px 0;
  margin: -40px 0 0 0;
  line-height: 40px; }
  @media all and (max-width: 600px) {
  h2.main {
    font-size: 22px;
    line-height: 30px; } }

.line-person-cards-nav {
  margin: 0 0 30px 0;
  display: none; }
  .line-person-cards-nav ul {
    margin: 0 -5px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap; }
    .line-person-cards-nav ul li {
      padding: 0 5px 10px 5px; }
      .line-person-cards-nav ul li a {
        display: block;
        background: #eee;
        padding: 19px 20px;
        line-height: 1.2;
        color: #333;
        font-size: 19px;
        transition: 250ms; }
        .line-person-cards-nav ul li a:hover {
          background: #648381;
          color: #fff; }
  @media all and (max-width: 1200px) {
  .line-person-cards-nav {
    margin-left: 15px;
    margin-right: 15px; } }

.line-person-cards {
  margin: 0 0 40px 0; }
  .line-person-cards h2 {
    margin: 0;
    padding: 0;
    font-size: 27px;
    font-weight: 300; }
  .line-person-cards .persons {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 15px 0 20px 0; }
    .line-person-cards .persons .item {
      width: calc(33.3333% - 10px);
      background: #fff;
      padding: 15px;
      margin-bottom: 20px;
      display: flex; }
      .line-person-cards .persons .item .image {
        margin-right: 15px; }
        .line-person-cards .persons .item .image img {
          max-width: 120px; }
          @media all and (max-width: 1200px) {
  .line-person-cards .persons .item .image img {
    max-width: 90px; } }
      .line-person-cards .persons .item .info {
        width: 100%; }
        .line-person-cards .persons .item .info h4 {
          margin: 0;
          padding: 0 0 5px 0;
          color: #0e1428;
          font-weight: 600;
          font-size: 18px; }
        .line-person-cards .persons .item .info .position {
          color: #c6d30e;
          margin-bottom: 4px;
          font-size: 13px;
          margin-bottom: 10px; }
        .line-person-cards .persons .item .info .phone {
          font-size: 13px;
          color: #000;
          font-weight: 900;
          margin-bottom: 3px; }
          .line-person-cards .persons .item .info .phone svg {
            width: 16px;
            height: 16px;
            fill: #000;
            margin: 0 2px -2px 0; }
        .line-person-cards .persons .item .info .email {
          font-size: 13px;
          color: #000;
          margin-bottom: 3px; }
          .line-person-cards .persons .item .info .email svg {
            width: 16px;
            height: 16px;
            fill: #000; }
          .line-person-cards .persons .item .info .email a {
            text-decoration: underline; }
            .line-person-cards .persons .item .info .email a:hover {
              text-decoration: none; }
        .line-person-cards .persons .item .info .address {
          font-size: 13px; }
      @media all and (max-width: 900px) {
  .line-person-cards .persons .item {
    width: calc(50% - 10px); } }
      @media all and (max-width: 600px) {
  .line-person-cards .persons .item {
    width: 100%; } }
  @media all and (max-width: 1200px) {
  .line-person-cards {
    margin-left: 0;
    margin-right: 0; } }

.line-text {
  background: #fff;
  padding: 0;
  margin: 0 0 20px 0;
  line-height: 1.6em; }
  .line-text a {
    color: #000;
    text-decoration: underline; }
    .line-text a:hover {
      text-decoration: none; }
  .line-text:after {
    clear: both;
    display: block;
    width: 100%;
    height: 0;
    content: ''; }
  .line-text h1 {
    line-height: 1.4;
    margin: 0;
    padding: 0;
    font-size: 48px;
    margin: 30px 0 25px 0;
    text-transform: uppercase;
    color: #000; }
  .line-text h2 {
    line-height: 1.4;
    font-weight: normal;
    font-size: 30px;
    margin: 30px 0 25px 0;
    padding: 0;
    color: #000; }
  .line-text h3 {
    font-size: 26px;
    color: #1b1919;
    font-weight: normal;
    margin: 40px 0 40px 0;
    padding: 0;
    position: relative; }
    .line-text h3:after {
      width: 30px;
      height: 2px;
      background: #c6d30e;
      content: '';
      position: absolute;
      left: 0;
      bottom: -20px; }
  .contact-form {
    background: #c3d2e5;
    padding: 30px;
    width: 100%;
    margin: 30px auto; }
  .contact-form h2 {
    text-align: center;
    margin: 0;
    padding: 0;
    font-size: 30px;
    font-weight: 900;
    color: #0e1428; }
  .contact-form h3 {
    text-align: center;
    margin: 5px 0;
    padding: 0; }
  .contact-form p {
    text-align: center;
    margin: 10px 0;
    padding: 0;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.5; }
  .contact-form form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 30px; }
    .contact-form form .input {
      width: calc(33.3333% - 10px);
      margin: 0 0 12px 0; }
      .contact-form form .input label {
        display: block;
        font-size: 15px;
        padding: 0 0 3px 0; }
      .contact-form form .input input {
        height: 35px;
        line-height: 40px;
        width: 100%;
        font-size: 16px;
        background: #fff;
        outline: none;
        padding: 0 10px;
        border: 0;
        border-radius: 2px; }
      @media all and (max-width: 500px) {
  .contact-form form .input {
    width: 100%; } }
    .contact-form form .textarea {
      width: 100%;
      margin: 0 0 12px 0; }
      .contact-form form .textarea textarea {
        line-height: 1;
        width: 100%;
        height: 150px;
        padding: 10px;
        width: 100%;
        border: 0;
        border-radius: 2px;
        font-size: 16px;
        background: #fff;
        outline: none; }
    .contact-form form .submit {
      clear: both; }
      .contact-form form .submit input[type="submit"] {
        background-color: #c6d30e;
        text-align: left;
        cursor: pointer;
        border: 0;
        color: #fff;
        font-size: 16px;
        line-height: 30px;
        font-weight: 900;
        padding: 10px 50px 10px 50px;
        display: block;
        width: 100%;
        position: relative;
        border-radius: 2px;
        transition: 250ms; }
        .contact-form form .submit input[type="submit"]:hover {
          background-color: #b0bb0c; }
        @media all and (max-width: 700px) {
  .contact-form form .submit input[type="submit"] {
    padding: 10px 20px 10px 20px; } }
  @media all and (max-width: 800px) {
  .contact-form {
    width: 100%; } }

.line-images {
  margin: 0 0 40px 0; }
  .line-images .single-image a {
    display: block; }
    .line-images .single-image a img {
      width: 100%; }

.line-table {
  background: #fff;
  padding: 20px;
  margin: 0 0 40px 0; }
  .line-table h2 {
    margin: 0;
    padding: 0; }
  .line-table .table {
    overflow: auto;
    width: 100%; }
    .line-table .table table {
      width: 100%;
      margin: 20px 0 0 0;
      border: 1px solid #eee; }
    .line-table .table table tr td, .line-table .table table tr th {
      border: 1px solid #eee;
      padding: 10px 15px; }
      .line-table .table table tr th {
        background-color: #f6f6f6; }

.line-files {
  background: #fff;
  padding: 20px 0;
  margin: 0 0 40px 0; }
  .line-files h2 {
    margin: 0;
    padding: 0; }
  .line-files .file-list {
    margin: 20px -10px 0 -10px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap; }
    .line-files .file-list li {
      width: calc(33.3333% - 20px);
      background-color: #eee;
      margin: 10px;
      padding: 15px;
      transition: 250ms; }
    .line-files .file-list li a {
      display: block;
      line-height: 1.6em; }
      .line-files .file-list li a span {
        font-size: 16px;
        display: block; }
        .line-files .file-list li a span em {
          color: #aaa;
          font-size: 15px; }
    .line-files .file-list li:hover {
      background: #ddd; }

.tarif-list {
  width: 100%;
  padding: 70px 0; }
  .tarif-list:nth-child(even) {
    background: #f3f6f9; }
    .tarif-list:nth-child(even) .list .item .abbr {
      background: #0e1428; }
  .tarif-list h2 {
    font-size: 29px;
    margin: 0 0 15px 0;
    padding: 0;
    line-height: 25px; }
  .tarif-list .list {
    display: flex;
    flex-wrap: wrap; }
    .tarif-list .list .item {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      width: 100%;
      border-bottom: 1px solid #e4ebf0;
      padding: 20px 0; }
    .tarif-list .list .item:last-child {
      border: 0; }
    .tarif-list .list .item .abbr {
      width: 60px;
      height: 60px;
      font-size: 12px;
      font-weight: bold;
      background: #000;
      color: #fff;
      text-align: center;
      line-height: 60px;
      border-bottom-left-radius: 10px;
      border-top-right-radius: 10px; }
      @media all and (max-width: 900px) {
    .tarif-list .list .item .abbr {
      margin: 0 0 25px 0; } }
    .tarif-list .list .item .title {
      padding: 0 20px;
      width: calc(100% - 45% - 60px); }
      .tarif-list .list .item .title h3 {
        margin: 0;
        padding: 0;
        color: #000; }
      .tarif-list .list .item .title p {
        margin: 0;
        padding: 0; }
      @media all and (max-width: 900px) {
    .tarif-list .list .item .title {
      width: calc(100% - 60px);
      margin: 0 0 25px 0; } }
    .tarif-list .list .item .btn {
      text-align: right;
      margin: 0 0 0 auto;
      width: 12%; }
      .tarif-list .list .item .btn a {
        line-height: 48px;
        color: #fff;
        text-transform: uppercase;
        background: #000;
        border-bottom: 1px solid #000;
        display: inline-block;
        font-size: 15px;
        font-weight: 600;
        padding: 0 30px;
        transition: 250ms; }
        .tarif-list .list .item .btn a:hover {
          background: #c6d30e;
          border-color: #3f4404; }
        @media all and (max-width: 500px) {
    .tarif-list .list .item .btn a {
      display: block;
      text-align: center; } }
      @media all and (max-width: 1200px) {
    .tarif-list .list .item .btn {
      margin-right: 10px; } }
      @media all and (max-width: 900px) {
    .tarif-list .list .item .btn {
      margin: 0 auto;
      width: auto; } }
      @media all and (max-width: 500px) {
    .tarif-list .list .item .btn {
      width: 100%;
      margin: 20px 0 0 0; } }
    .tarif-list .list .item .speed-download {
      text-align: center;
      width: 9%;
      font-size: 16px; }
      .tarif-list .list .item .speed-download span {
        color: #abb8c1;
        font-size: 14px;
        display: block; }
      @media all and (max-width: 900px) {
    .tarif-list .list .item .speed-download {
      margin: 0 auto;
      width: auto; } }
    .tarif-list .list .item .speed-upload {
      text-align: center;
      width: 9%;
      font-size: 16px; }
      .tarif-list .list .item .speed-upload span {
        color: #abb8c1;
        font-size: 14px;
        display: block; }
      @media all and (max-width: 900px) {
    .tarif-list .list .item .speed-upload {
      margin: 0 auto;
      width: auto; } }
    .tarif-list .list .item .price {
      text-align: center;
      width: 12%;
      font-size: 16px; }
      @media all and (max-width: 900px) {
    .tarif-list .list .item .price {
      margin: 0 auto;
      width: auto; } }
    .tarif-list .list .item .programs {
      text-align: center;
      width: 18%; }
      .tarif-list .list .item .programs a {
        font-weight: bold;
        transition: 250ms; }
        .tarif-list .list .item .programs a i {
          display: inline-block;
          margin: -2px 5px 0 0;
          width: 16px;
          height: 16px;
          line-height: 18px;
          font-size: 10px;
          color: #fff;
          font-weight: bold;
          background: #0e1428;
          border-radius: 50%; }
        .tarif-list .list .item .programs a:hover {
          color: #000; }
    .tarif-list .list .item .program-list {
      width: 100%;
      margin: 15px 0 0 0;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      display: none;
      opacity: 0;
      transition: 250ms; }
      .tarif-list .list .item .program-list.active {
        display: flex;
        opacity: 1; }
      .tarif-list .list .item .program-list .image {
        width: calc(100% / 14);
        text-align: center;
        padding: 5px; }
        .tarif-list .list .item .program-list .image img {
          display: inline-block;
          max-width: 100%;
          max-height: 100px; }

.preloader-box {
  width: 100%;
  height: 100%;
  content: '';
  background: rgba(255, 255, 255, 0.2);
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1099; }
  .preloader-box__inner {
    width: 300px;
    height: 130px;
    text-align: center;
    background: rgba(0, 0, 0, 0.8);
    position: fixed;
    left: 50%;
    top: 50%;
    margin: -65px 0 0 -150px;
    border-radius: 5px; }
    .preloader-box__inner .title {
      color: #fff;
      padding: 20px 0 0 0;
      font-size: 18px; }
    .preloader-box__inner i {
      width: 64px;
      height: 64px;
      margin: 5px 0 0 0;
      background: red;
      display: inline-block;
      background: url(../img/loading.svg) no-repeat center center; }
