  .video-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
      max-width: 1200px;
      margin: auto;
      padding: 16px;
    }

    @media (max-width: 768px) {
      .video-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    .video-wrapper {
      position: relative;
      width: 100%;
      padding-bottom: 56.25%; /* 16:9 ratio */
      height: 0;
      overflow: hidden;
      border-radius: 6px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
      background: #000;
    }

    .video-wrapper iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border: 0;
    }


/* Ensure the parent container (.video-container) has a defined space. */
/* Using padding-bottom for an intrinsic aspect ratio is a common and flexible method. */
.video-container {
    position: relative; /* Needed for absolute positioning of the video */
    width: 100%;
    /* Example for 16:9 aspect ratio: (9 / 16) * 100% = 56.25% */
    padding-bottom: 56.25%; /* Adjust this value if your videos are a different aspect ratio (e.g., 75% for 4:3) */
    overflow: hidden; /* Crucial to hide any parts of the video that are cropped by object-fit: cover */
    background-color: black; /* Good fallback background color for the container */
}

/* Apply styles to the video element itself */
.projects__video {
    position: absolute; /* Allows the video to fill the padded parent */
    top: 0;
    left: 0;
    width: 100%; /* Make the video take up the full width of its container */
    height: 100%; /* Make the video take up the full height of its container */
    object-fit: cover; /* This is the key: it makes the video cover the entire area, cropping if necessary */
    /* Maintain other video attributes in HTML like autoplay, muted, loop, playsinline, controls */
}





/* ===== Font Imports ===== */
@font-face {
    font-family: 'ip';
    src: url(../fonts/ip/font/ip.eot);
    src: url(../fonts/ip/font/ip.eot#iefix) format("embedded-opentype"),
        url(../fonts/ip/font/ip.woff) format("woff"),
        url(../fonts/ip/font/ip.ttf) format("truetype"),
        url(../fonts/ip/font/ip.svg) format("svg");
    font-weight: 400;
    font-style: normal;
}

/* ===== Base & Reset Styles ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

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, input, 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;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

nav ol, nav ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote cite {
    font-style: normal;
}

blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

button, input[type=submit] {
    cursor: pointer;
}

/* ===== Complete Transparent CSS Solution ===== */

/* 1. Remove ALL backgrounds */
body,
header,
.main-header,
.first-nav,
.second-nav,
.home-section,
.home-section__bg,
.home-section__overlay,
.about-section,
.about-card,
.about-card__header,
.about-card__info,
.common-section,
.services,
.services__item,
.advantages,
.projects-wrap,
.testimonials,
.testimonials__item,
.contacts-section,
.contact-card,
.contact-card__header,
.contact-info,
footer,
.container,
.grid-container {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

/* 2. Remove all decorative elements */
.icon:before,
.services__item:before,
.second-nav__logo:after,
.second-nav__logo span:before,
.second-nav__logo span:after,
.about-card__info-status {
    display: none !important;
    content: none !important;
}

/* ===== General Body & Typography ===== */
html, body {
    width: 100%;
    height: 100%;
    color: #2c3e50;
    font-family: "Open Sans", Tahoma, Verdana, Arial, sans-serif;
    line-height: 1.2;
}

body {
    background: #f0f0f0; /* Fallback if particles fail */
    color: #2a2a2a !important;
    line-height: 1.6;
    background: #fff url(../images/bg-pattern.jpg);
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 400;
}

h1, h2, h3, h4 {
    color: #edf1f5 !important;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
}

h1 {
    color: #ecf0f1;
    font-size: 60px;
    font-family: Georgia, Times, "Times New Roman", serif;
}

h2 {
    font-family: Georgia, Times, "Times New Roman", serif;
    font-size: 40px;
}

h3 {
    font-size: 30px;
}

h4 {
    font-size: 20px;
}

h5 {
    font-size: 18px;
}

p {
    font-size: 18px;
    color: #bdc3c7;
}

li p {
    font-family: Georgia, Times, "Times New Roman", serif;
    font-style: italic;
}

a {
    color: #2c3e50;
    font-family: "Open Sans", Tahoma, Verdana, Arial, sans-serif;
    font-size: 18px;
    text-decoration: none;
    outline-style: none;
    border-bottom: 1px dashed #2c3e50;
}
/* Ensure all <cite> elements have white text */
cite {
    color: #FFFFFF !important; /* Pure white */
    font-style: normal; /* <cite> is often italic by default, set to normal if you don't want italics */
}

/* Specifically for your testimonials section, targeting the cite within a blockquote */
.testimonials__item blockquote cite {
    color: #FFFFFF !important; /* Make sure testimonial citations are pure white */
    font-style: normal; /* Keep it normal as per previous suggestion or remove if you want italics */
}

/* If you have a specific span for the role within cite, ensure it's also white or a very light color */
.testimonials__item blockquote cite span.role {
    color: #F8F8F8; /* A very light grey, almost white, or #FFFFFF for pure white */
}

/* Also for the advantages section cite if it applies */
.advantages blockquote cite {
    color: #FFFFFF !important; /* Pure white for advantages section citation */
    font-style: normal;
}

a:hover {
    border-bottom: none;
}

::selection {
    color: #ecf0f1;
    background-color: #bdc3c7;
}

::-moz-selection {
    color: #ecf0f1;
    background-color: #bdc3c7;
}

/* ===== Icons ===== */
.icon:before {
    font-family: "ip";
    font-style: normal;
    font-weight: 400;
}

.icon_menu:before { content: "\e801" }
.icon_menu.is-closed:before { content: "\e809" }
.icon_spoiler.is-opened:before { content: "\e803" }
.icon_spoiler.is-closed:before { content: "\e802" }
.icon_research:before { content: "\e80b" }
.icon_strategy:before { content: "\e807" }
.icon_improve:before { content: "\e80f" }
.icon_plan:before { content: "\e80c" }
.icon_recover:before { content: "\e80a" }
.icon_support:before { content: "\e80e" }
.icon_develop:before { content: "\e808" }
.icon_deploy:before { content: "\e80d" }
.icon_deliver:before { content: "\e810" }
.icon_gotop:before { content: "\e817" }
.icon_gonext:before { content: "\e818" }
.icon_fb:before { content: "\e811" }
.icon_twi:before { content: "\e812" }
.icon_gplus:before { content: "\e813" }
.icon_vk:before { content: "\e814" }
.icon_in:before { content: "\e815" }
.icon_rss:before { content: "\e816" }
.icon_mail:before { content: "\e800" }
.icon_location:before { content: "\e806" }
.icon_ql:before { content: "\e804" }
.icon_qr:before { content: "\e805" }
.icon_link:before { content: "\e819" }
.icon_phone:before { content: "\e81a" }

/* ===== Layout & Utility Classes ===== */
.container {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
}

.container:before, .container:after {
    display: block;
    content: '';
    clear: both;
    height: 0;
}

.common-section {
    padding-top: 100px;
    width: 100%;
    margin: 0 0;
    clear: both;
}

.common-section:before, .common-section:after {
    display: block;
    content: '';
    clear: both;
    height: 0;
}

.common-section__header {
    padding-bottom: 50px;
    text-align: center;
    float: left;
    width: 98%;
    width: calc(100% - 40px);
    margin-left: 1%;
    margin-right: 1%;
    margin-left: calc(20px);
    margin-right: calc(20px);
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
}

.grid-container {
    width: 100%;
    margin: 0 0;
    clear: both;
}

.grid-container:before, .grid-container:after {
    display: block;
    content: '';
    clear: both;
    height: 0;
}

/* ===== Progress Bar ===== */
.progressjs-inner {
    width: 0;
}

.progressjs-progress {
    z-index: 9999999;
}

.progressjs-theme-custom {
    background-color: #ecf0f1;
    -webkit-transition: all .2s ease-out;
    -o-transition: all .2s ease-out;
    transition: all .2s ease-out;
}

.progressjs-theme-custom .progressjs-inner {
    height: 100%;
    -webkit-transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    transition: all .3s ease-out;
}

.progressjs-theme-custom.progressjs-end {
    opacity: 0 !important;
}

.progressjs-theme-custom .progressjs-percent {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 200px;
    height: 120px;
    margin-left: -100px;
    margin-top: -60px;
    text-align: center;
    color: #ffa726;
    font-size: 120px;
    line-height: 120px;
    font-family: "Open Sans", Tahoma, Verdana, Arial, sans-serif;
}

/* ===== Main Header & Navigation ===== */
.main-header {
    position: fixed;
    z-index: 100;
    width: 100%;
}

.first-nav {
    position: absolute;
    z-index: 200;
    top: 0;
    left: 0;
    height: 40px;
    overflow: hidden;
    background-color: #ffa726;
    width: 100%;
    margin: 0 0;
    clear: both;
}

.first-nav:before, .first-nav:after {
    display: block;
    content: '';
    clear: both;
    height: 0;
}

.first-nav__languages, .first-nav__links {
    float: left;
    width: 73%;
    width: calc(75% - 40px);
    margin-left: 1%;
    margin-right: 1%;
    margin-left: calc(20px);
    margin-right: calc(20px);
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
}

.first-nav__languages li, .first-nav__links li {
    display: inline-block;
    margin: 0 10px;
}

.first-nav__languages a, .first-nav__links a {
    color: #ecf0f1;
    font-family: Georgia, Times, "Times New Roman", serif;
    font-style: italic;
    line-height: 40px;
    border-color: #ecf0f1;
    -webkit-transition: color .5s;
    -o-transition: color .5s;
    transition: color .5s;
}

.first-nav__languages a.is-selected, .first-nav__languages a:hover, .first-nav__links a.is-selected, .first-nav__links a:hover {
    color: #2c3e50;
    border: 0;
}

.first-nav__navcontrol {
    display: none;
    float: left;
    width: 23%;
    width: calc(25% - 40px);
    margin-left: 1%;
    margin-right: 1%;
    margin-left: calc(20px);
    margin-right: calc(20px);
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
    color: #ecf0f1;
    line-height: 40px;
    text-align: right;
    border: 0;
    -webkit-transition: color .5s;
    -o-transition: color .5s;
    transition: color .5s;
}

.first-nav__navcontrol:before {
    display: inline-block;
    margin-right: 10px;
    color: #ecf0f1;
    font-size: 20px;
    -webkit-transition: color .5s;
    -o-transition: color .5s;
    transition: color .5s;
}

.first-nav__navcontrol.is-open, .first-nav__navcontrol.is-closed {
    display: block;
}

.first-nav__navcontrol:hover, .first-nav__navcontrol:hover:before {
    color: #2c3e50;
}

.second-nav {
    position: relative;
    min-height: 80px;
    background-color: #ecf0f1;
    width: 100%;
    margin: 0 0;
    clear: both;
    margin-top: 40px;
    -webkit-box-shadow: inset 0 1px 2px -1px #2c3e50, 0 1px 2px -1px #2c3e50;
    box-shadow: inset 0 1px 2px -1px #2c3e50, 0 1px 2px -1px #2c3e50;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}

.second-nav:before, .second-nav:after {
    display: block;
    content: '';
    clear: both;
    height: 0;
}

.second-nav.is-closed {
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
}

.second-nav__logo {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 20px;
    width: 80px;
    color: #ecf0f1;
    font-size: 40px;
    line-height: 80px;
    font-family: "Open Sans", Tahoma, Verdana, Arial, sans-serif;
    letter-spacing: -5px;
    font-weight: 700;
    text-align: center;
    background-color: #ffa726;
    border: 0;
    -webkit-box-shadow: inset 0 1px 2px -1px #2c3e50;
    box-shadow: inset 0 1px 2px -1px #2c3e50;
}

.second-nav__logo:after {
    content: "";
    position: absolute;
    bottom: -29px;
    left: 0;
    z-index: 250;
    border-top: 30px solid #ffa726;
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
}

.second-nav__logo span {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

.second-nav__logo span:after {
    content: "";
    position: absolute;
    bottom: -15px;
    right: -2px;
    width: 50px;
    height: 5px;
    background-color: transparent;
    -webkit-box-shadow: 0 1px 2px -1px #2c3e50;
    box-shadow: 0 1px 2px -1px #2c3e50;
    -webkit-transform: rotate(-37deg);
    -ms-transform: rotate(-37deg);
    transform: rotate(-37deg);
}

.second-nav__logo span:before {
    content: "";
    position: absolute;
    bottom: -15px;
    left: -2px;
    width: 50px;
    height: 5px;
    background-color: transparent;
    -webkit-box-shadow: 0 1px 2px -1px #2c3e50;
    box-shadow: 0 1px 2px -1px #2c3e50;
    -webkit-transform: rotate(37deg);
    -ms-transform: rotate(37deg);
    transform: rotate(37deg);
}

.menu {
    float: left;
    width: 98%;
    width: calc(100% - 40px);
    margin-left: 1%;
    margin-right: 1%;
    margin-left: calc(20px);
    margin-right: calc(20px);
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
    text-align: right;
    padding-left: 100px;
}

.menu ul {
    padding-top: 20px;
    padding-bottom: 20px;
}

.menu li {
    display: inline-block;
    margin-left: 18px;
}

.menu li a {
    line-height: 40px;
    font-size: 20px;
    color: rgb(251, 251, 251) !important;
    background: transparent !important;
    border: none !important;
    -webkit-transition: color .5s;
    -o-transition: color .5s;
    transition: color .5s;
}

.menu li a.is-selected {
    color: #ff7e33 !important;
    background: transparent !important;
    border: 0;
}

.menu li a.is-selected, .menu li a:hover {
    color: #bdc3c7;
    border: 0;
}

/* ===== Hero Section ===== */
.home-section {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.home-section:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 100%;
    height: 0;
    clear: both;
    -webkit-box-shadow: 0 0 2px 1px #2c3e50;
    box-shadow: 0 0 2px 1px #2c3e50;
}

.home-section__bg {
    position: absolute;
    min-width: 100%;
    min-height: 100%;
    z-index: 0;
    background: url(../images/bg.jpg) center 0 no-repeat;
    background-attachment: fixed;
    background-size: cover;
}

.home-section__overlay {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 100%;
    background-color: transparent;
    background-color: rgba(44, 62, 80, .3);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4C000000, endColorstr=#4C000000);
    zoom: 1;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDoAABSCAABFVgAADqXAAAXb9daH5AAAAAZSURBVHjaYmCAAGM0GjfHGEMGAAAA//8DACm0ATMe8beGAAAAAElFTkSuQmCC);
    background-repeat: repeat;
    background-attachment: fixed;
}

.home-section__header {
    padding: 200px 10px 400px;
    text-align: left;
}

.home-section__header h1 {
    margin-bottom: 10px;
    font-size: 100px;
    color: white !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    text-shadow: 1px 1px 1px #2c3e50;
}

.home-section__header h2 {
    color: rgba(255, 255, 255, 0.9) !important;
    font-family: 'Open Sans Condensed';
    text-shadow: 1px 1px 2px #2c3e50;
}

/* ===== Particles Background ===== */
#particles-js {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0.9;
    background: linear-gradient(135deg, #000428 0%, #004e92 100%);
}

/* ===== About Section ===== */
.about-section {
    position: relative;
    margin-top: -200px;
}

.about-card {
    -webkit-box-shadow: 2px 2px 4px -2px #2c3e50;
    box-shadow: 2px 2px 4px -2px #2c3e50;
    float: left;
    width: 73%;
    width: calc(75% - 40px);
    margin-left: 1%;
    margin-right: 1%;
    margin-left: calc(20px);
    margin-right: calc(20px);
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
    float: right;
}

.about-card__header {
    padding: 20px;
    background-color: #ffa726;
}

.about-card__header h2, .about-card__header h4 {
    color: #ecf0f1;
}

.about-card__info {
    padding: 1.5rem !important;
    background: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(5px);
    border-radius: 8px;
    margin-bottom: 1.5rem !important;
}

.about-card__info p {
    font-weight: lighter;
}

.about-card__info blockquote p {
    margin: 20px 0 20px 20px;
    font-family: Georgia, Times, "Times New Roman", serif;
    font-style: italic;
}

.about-card__info .about-card__info-status {
    margin-top: 20px;
    padding-top: 10px;
    font-weight: 400;
    border-top: 1px dashed #bdc3c7;
}

.about-card__info .about-card__info-status span {
    font-weight: 700;
    text-transform: uppercase;
}

/* ===== Services Section ===== */
.services {
    list-style-type: none;
    float: left;
    width: 48%;
    width: calc(50% - 40px);
    margin-left: 1%;
    margin-right: 1%;
    margin-left: calc(20px);
    margin-right: calc(20px);
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
}

.services__item {
    margin-bottom: 50px;
    padding: 1.5rem !important;
    background: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(5px);
    border-radius: 8px;
    margin-bottom: 1.5rem !important;
}

.services__item h4 {
    margin-left: 80px;
    margin-bottom: 10px;
    text-transform: uppercase;
    font-weight: 700;
}

.services__item p {
    margin-left: 80px;
}

.services__item:before {
    margin-top: 30px;
    float: left;
    color: #bdc3c7;
    font-size: 60px;
    -webkit-transition: color .5s;
    -o-transition: color .5s;
    transition: color .5s;
}

.services__item:hover:before {
    color: #ffa726;
}

/* ===== Advantages Section ===== */
.advantages {
    text-align: center;
    border-left: 10px solid #ffa726;
    border-right: 10px solid #ffa726;
    float: left;
    width: 98%;
    width: calc(100% - 40px);
    margin-left: 1%;
    margin-right: 1%;
    margin-left: calc(20px);
    margin-right: calc(20px);
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
    margin-top: 50px;
}

.advantages h2 {
    position: relative;
    margin-top: -15px;
}

.advantages h2:before, .advantages h2:after {
    content: "";
    position: absolute;
    top: 15px;
    display: block;
    width: 30%;
    height: 10px;
    background-color: #ffa726;
}

.advantages h2:before {
    left: 0;
}

.advantages h2:after {
    right: 0;
}

.advantages blockquote {
    padding: 40px 0;
    border-bottom: 10px solid #ffa726;
}

.advantages blockquote p, .advantages blockquote cite {
    display: inline-block;
    width: 80%;
    margin: 0 auto;
}

.advantages blockquote p {
    margin-bottom: 20px;
    font-weight: lighter;
    font-size: 25px;
}

.advantages blockquote cite {
    font-size: 30px;
}

/* ===== Process Section ===== */
.process {
    position: relative;
    list-style-type: none;
    float: left;
    width: 98%;
    width: calc(100% - 40px);
    margin-left: 1%;
    margin-right: 1%;
    margin-left: calc(20px);
    margin-right: calc(20px);
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
    height: 360px;
}

.process:hover .process__step-icon.is-active {
    border-color: #dde4e6;
}

.process:hover .process__step-icon.is-active:before {
    text-shadow: -1px -1px 0 #2c3e50, 0 -1px 0 #2c3e50, 1px -1px 0 #2c3e50, 1px 0 0 #2c3e50, 1px 1px 0 #2c3e50, 0 1px 0 #2c3e50, -1px 1px 0 #2c3e50, -1px 0 0 #2c3e50;
}

.process:hover .process__step-info {
    visibility: hidden;
}

.process:hover .process__step-info:before, .process:hover .process__step-info:after {
    visibility: hidden;
}

.process__step {
    position: absolute;
    top: 0;
    display: block;
    width: 25%;
    height: 100%;
    background-color: transparent;
    background-image: url(../images/transparent.gif);
    background-repeat: repeat;
}

.process__step_research {
    left: 0%;
    z-index: 40;
}

.process__step_develop {
    left: 37.5%;
    margin-left: -12.5%;
    z-index: 30;
}

.process__step_deploy {
    left: 62.5%;
    margin-left: -12.5%;
    z-index: 20;
}

.process__step_deliver {
    left: 87.5%;
    margin-left: -12.5%;
    z-index: 10;
}

.process__step:hover > .process__step-icon, .process__step:hover > .process__step-icon.is-active {
    border-color: #ffa726;
}

.process__step:hover > .process__step-icon:before, .process__step:hover > .process__step-icon.is-active:before {
    text-shadow: -1px -1px 0 #ffa726, 0 -1px 0 #ffa726, 1px -1px 0 #ffa726, 1px 0 0 #ffa726, 1px 1px 0 #ffa726, 0 1px 0 #ffa726, -1px 1px 0 #ffa726, -1px 0 0 #ffa726;
}

.process__step:hover + .process__step-info {
    visibility: visible;
}

.process__step:hover + .process__step-info_research:before, .process__step:hover + .process__step-info_research:after {
    left: 12.5%;
    visibility: visible;
}

.process__step:hover + .process__step-info_develop:before, .process__step:hover + .process__step-info_develop:after {
    left: 37.5%;
    visibility: visible;
}

.process__step:hover + .process__step-info_deploy:before, .process__step:hover + .process__step-info_deploy:after {
    left: 62.5%;
    visibility: visible;
}

.process__step:hover + .process__step-info_deliver:before, .process__step:hover + .process__step-info_deliver:after {
    left: 87.5%;
    visibility: visible;
}

.process__step-icon {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 180px;
    height: 180px;
    margin-left: -90px;
    text-align: center;
    background-color: #ecf0f1;
    border: 1px solid #dde4e6;
    border-radius: 50%;
    -webkit-box-shadow: 3px 4px 8px -4px #2c3e50;
    box-shadow: 3px 4px 8px -4px #2c3e50;
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}

.process__step-icon:before {
    font-size: 80px;
    line-height: 180px;
    color: #dde4e6;
    text-shadow: -1px -1px 0 #2c3e50, 0 -1px 0 #2c3e50, 1px -1px 0 #2c3e50, 1px 0 0 #2c3e50, 1px 1px 0 #2c3e50, 0 1px 0 #2c3e50, -1px 1px 0 #2c3e50, -1px 0 0 #2c3e50;
    cursor: default;
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}

.process__step-icon.is-active {
    border-color: #ffa726;
}

.process__step-icon.is-active:before {
    text-shadow: -1px -1px 0 #ffa726, 0 -1px 0 #ffa726, 1px -1px 0 #ffa726, 1px 0 0 #ffa726, 1px 1px 0 #ffa726, 0 1px 0 #ffa726, -1px 1px 0 #ffa726, -1px 0 0 #ffa726;
}

.process__step-info {
    position: absolute;
    top: 180px;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    margin: 40px 0 50px;
    padding: 10px;
    background-color: #ecf0f1;
    border-top: 10px solid #ffa726;
    -webkit-box-shadow: 2px 2px 4px -2px #2c3e50;
    box-shadow: 2px 2px 4px -2px #2c3e50;
}

.process__step-info_research, .process__step-info_develop, .process__step-info_deploy, .process__step-info_deliver {
    visibility: hidden;
}

.process__step-info.is-active {
    visibility: visible;
}

.process__step-info:before {
    content: "";
    position: absolute;
    top: -40px;
    left: 12.5%;
    margin-left: -40px;
    border-bottom: 40px solid #ffa726;
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
}

.process__step-info:after {
    content: "";
    position: absolute;
    top: -25px;
    left: 12.5%;
    margin-left: -27px;
    border-bottom: 27px solid #ecf0f1;
    border-left: 27px solid transparent;
    border-right: 27px solid transparent;
}

.process__step-info h3 {
    margin-bottom: 10px;
}

.process__step-info h3 span {
    color: #bdc3c7;
}

/* ===== Projects Section ===== */
.projects-wrap {
    position: relative;
    width: 100%;
    clear: both;
    overflow: hidden;
}

.projects-wrap:before, .projects-wrap:after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    display: block;
    width: 100%;
    height: 0;
    clear: both;
}

.projects-wrap:before {
    top: 0;
    -webkit-box-shadow: 0 0 2px 1px #2c3e50;
    box-shadow: 0 0 2px 1px #2c3e50;
}

.projects-wrap:after {
    bottom: 0;
    -webkit-box-shadow: 0 0 2px 1px #2c3e50;
    box-shadow: 0 0 2px 1px #2c3e50;
}

.projects {
    float: left;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
}

.projects__item {
    float: left;
    width: 25%;
    margin-left: 0;
    margin-right: 0;
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
    position: relative;
    height: 0;
    padding-bottom: 18.75%;
    overflow: hidden;
}

.projects__item img {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    margin: 0;
}

.projects__item figcaption {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    white-space: nowrap;
    background-color: #ecf0f1;
    background-color: rgba(236, 240, 241, .9);
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity .5s;
    -o-transition: opacity .5s;
    transition: opacity .5s;
}

.projects__item figcaption:after {
    content: "";
    display: inline-block;
    width: 0;
    height: 100%;
    vertical-align: middle;
}

.projects__item figcaption a {
    display: inline-block;
    width: 90%;
    font-size: 25px;
    color: #ffa726;
    vertical-align: middle;
    white-space: normal;
    border-bottom: none;
}

.projects__item figcaption a:before {
    margin-right: 5px;
    font-size: 20px;
}

.projects__item:hover figcaption {
    visibility: visible;
    opacity: 1;
}

/* ===== Testimonials Section ===== */
.testimonials {
    list-style-type: none;
    float: left;
    width: 48%;
    width: calc(50% - 40px);
    margin-left: 1%;
    margin-right: 1%;
    margin-left: calc(20px);
    margin-right: calc(20px);
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
}

.testimonials__item {
    min-height: 180px;
    margin-bottom: 40px;
    padding: 1.5rem !important;
    background: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(5px);
    border-radius: 8px;
    -webkit-box-shadow: 2px 2px 4px -2px #2c3e50;
    box-shadow: 2px 2px 4px -2px #2c3e50;
}

.testimonials__item img {
    display: block;
    width: 100px;
    height: 100px;
    float: left;
    border-radius: 50%;
    opacity: .6;
    -webkit-transition: opacity .5s;
    -o-transition: opacity .5s;
    transition: opacity .5s;
}

.testimonials__item:hover img {
    opacity: 1;
}

.testimonials__item blockquote {
    margin-left: 140px;
}

.testimonials__item blockquote p {
    position: relative;
    margin-left: 25px;
}

.testimonials__item blockquote p:before {
    position: absolute;
    top: -5px;
    left: -25px;
    font-size: 20px;
    color: #ffa726;
}

.testimonials__item blockquote cite {
    display: block;
    margin-top: 20px;
    font-size: 20px;
    text-transform: uppercase;
}

.testimonials__item blockquote cite span.name {
    color: #ffa726;
}

.testimonials__item blockquote cite span.role {
    color: #bdc3c7;
    white-space: nowrap;
}

/* ===== Contacts Section ===== */
.contacts-section {
    position: relative;
    padding-top: 300px;
}

.contact-card {
    position: absolute;
    top: -200px;
    z-index: 50;
    -webkit-box-shadow: 2px 2px 4px -2px #2c3e50;
    box-shadow: 2px 2px 4px -2px #2c3e50;
    float: left;
    width: 73%;
    width: calc(75% - 40px);
    margin-left: 1%;
    margin-right: 1%;
    margin-left: calc(20px);
    margin-right: calc(20px);
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
}

.contact-card__header {
    padding: 20px;
    background-color: #ffa726;
}

.contact-card__header h2, .contact-card__header h4 {
    color: #ecf0f1;
}

.contact-info {
    position: relative;
    min-height: 300px;
    padding: 1.5rem !important;
    background: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(5px);
    border-radius: 8px;
    overflow: hidden;
    white-space: nowrap;
    margin-bottom: 1.5rem !important;
}

.contact-info__logo {
    display: inline-block;
    color: #ffa726;
    font-size: 80px;
    line-height: 60px;
    letter-spacing: -5px;
    font-family: "Open Sans", Tahoma, Verdana, Arial, sans-serif;
    font-weight: 700;
    text-align: center;
    border: 0;
    vertical-align: top;
}

.contact-info__group {
    display: inline-block;
    padding-left: 20px;
    white-space: normal;
    vertical-align: top;
}

.contact-info__additional {
    margin-bottom: 20px;
}

.contact-info__additional p {
    font-style: italic;
    font-family: Georgia, Times, "Times New Roman", serif;
    line-height: 1.5;
}

.contact-info__vcard h4 {
    margin-bottom: 10px;
    font-weight: 700;
}

.contact-info__vcard p {
    margin-bottom: 10px;
}

.contact-info__vcard p:before {
    float: left;
    display: block;
    width: 25px;
    height: 25px;
    border: 0;
    vertical-align: top;
}

.contact-info__vcard a {
    display: inline-block;
    vertical-align: top;
}

.contact-info__vcard span {
    display: inline-block;
}

.contact-info__social {
    position: absolute;
    width: 40px;
    height: 100%;
    top: 0;
    right: 0;
    list-style-type: none;
    background-color: #bdc3c7;
}

.contact-info__social li {
    display: block;
    width: 40px;
    height: 50px;
    text-align: center;
    overflow: hidden;
    background-color: #bdc3c7;
    border-top: 1px solid #ecf0f1;
}

.contact-info__social li:hover {
    background-color: transparent;
}

.contact-info__social li a {
    display: inline-block;
    width: 40px;
    color: #ecf0f1;
    font-size: 0;
    cursor: pointer;
    border: 0;
}

.contact-info__social li a:before {
    display: inline-block;
    width: 40px;
    text-align: center;
    font-size: 25px;
    line-height: 50px;
    color: #ecf0f1;
}

.contact-info__social li a:hover:before {
    color: #2c3e50;
}

/* ===== Google Map ===== */
#gmap {
    position: relative;
    width: 100%;
    height: 600px;
    overflow: hidden;
    background-image: url(../images/map.jpg);
    background-position: top center;
    background-size: cover;
}

#gmap:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    display: block;
    width: 100%;
    height: 0;
    -webkit-box-shadow: 0 0 2px 1px #2c3e50;
    box-shadow: 0 0 2px 1px #2c3e50;
}

#gmap .gm-style-iw * {
    display: block;
    width: 100% !important;
}

#gmap .gm-style-iw * h4, #gmap .gm-style-iw * p {
    margin: 0;
    padding: 0;
}

#gmap .gm-style-iw * a {
    color: #4272db;
    border: 0;
}

/* ===== Footer ===== */
.main-footer {
    position: relative;
    z-index: 100;
    width: 100%;
    background-color: #ffa726;
    color: #ecf0f1;
    -webkit-box-shadow: 0 -2px 2px -1px #2c3e50;
    box-shadow: 0 -2px 2px -1px #2c3e50;
}

.main-footer:before {
    content: "";
    position: absolute;
    top: -30px;
    left: 50%;
    margin-left: -40px;
    border-bottom: 40px solid #ffa726;
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
}

.main-footer a {
    color: #ecf0f1;
    border-color: #ecf0f1;
    -webkit-transition: color .5s;
    -o-transition: color .5s;
    transition: color .5s;
}

.main-footer a:hover {
    color: #2c3e50;
}

.main-footer__author, .main-footer__copyright {
    margin-left: 10px;
    padding-top: 10px;
    float: left;
    line-height: 40px;
}

.main-footer__designer, .main-footer__links {
    margin-right: 10px;
    padding-top: 10px;
    float: right;
    line-height: 40px;
}

.main-footer__author, .main-footer__designer, .main-footer__copyright, .main-footer__links {
    font-weight: lighter;
}

.main-footer__author span, .main-footer__author a, .main-footer__designer span, .main-footer__designer a, .main-footer__copyright span, .main-footer__copyright a, .main-footer__links span, .main-footer__links a {
    font-weight: 700;
}

.main-footer__gotop {
    position: absolute;
    top: -20px;
    left: 50%;
    z-index: 200;
    display: block;
    width: 36px;
    height: 36px;
    margin-left: -18px;
    font-size: 0;
    border: 0;
    overflow: hidden;
}

.main-footer__gotop:before {
    display: block;
    font-size: 60px;
    line-height: 40px;
    color: #ecf0f1;
    -webkit-transition: color .5s;
    -o-transition: color .5s;
    transition: color .5s;
}

.main-footer__gotop:hover:before {
    color: #2c3e50;
}

/* ===== Media Queries (Responsive Design) ===== */
@media screen and (max-width: 1200px) and (min-width: 800px) {
    .testimonials__item img {
        display: none;
    }
    .testimonials__item blockquote {
        margin-left: 0;
    }
}

@media screen and (max-width: 1200px) {
    h1 {
        font-size: 55px;
    }
    h2 {
        font-size: 35px;
    }
    h3 {
        font-size: 25px;
    }
    h4 {
        font-size: 18px;
    }
    .home-section__header h1 {
        font-size: 75px;
    }
    .projects__item {
        float: left;
        width: 50%;
        margin-left: 0;
        margin-right: 0;
        height: auto;
        margin-top: 0;
        margin-bottom: 0;
        padding-bottom: 37.5%;
    }
}

@media screen and (max-width: 960px) {
    .second-nav__logo {
        display: none;
    }
    .menu {
        padding-left: 0;
        text-align: center;
    }
    .advantages h2:before, .advantages h2:after {
        width: 25%;
    }
    .advantages blockquote p {
        font-size: 20px;
    }
    .advantages blockquote cite {
        font-size: 25px;
    }
}

@media screen and (max-width: 900px) {
    .testimonials__item blockquote cite {
        font-size: 18px;
    }
}

@media screen and (max-width: 800px) {
    .common-section {
        padding-top: 50px;
    }
    .common-section__header {
        padding-bottom: 30px;
    }
    h1 {
        font-size: 50px;
    }
    h2 {
        font-size: 30px;
    }
    h3 {
        font-size: 20px;
    }
    h5 {
        font-size: 16px;
    }
    p {
        font-size: 16px;
    }
    .first-nav__languages li, .first-nav__links li {
        margin: 0 7px;
    }
    .menu ul {
        padding-top: 0;
        padding-bottom: 0;
    }
    .menu li {
        margin: 0 9px;
        display: block;
        margin: auto;
        border-bottom: 1px dashed #bdc3c7;
    }
    .menu li a {
        font-size: 18px;
        border-bottom: none;
    }
    .home-section__header {
        text-align: center;
    }
    .home-section__header h1 {
        font-size: 50px;
    }
    .about-card {
        float: left;
        width: 98%;
        width: calc(100% - 40px);
        margin-left: 1%;
        margin-right: 1%;
        margin-left: calc(20px);
        margin-right: calc(20px);
        height: auto;
        margin-top: 0;
        margin-bottom: 0;
        float: none;
    }
    .services {
        float: left;
        width: 98%;
        width: calc(100% - 40px);
        margin-left: 1%;
        margin-right: 1%;
        margin-left: calc(20px);
        margin-right: calc(20px);
        height: auto;
        margin-top: 0;
        margin-bottom: 0;
    }
    .services__item {
        margin-bottom: 30px;
    }
    .advantages {
        margin-top: 30px;
    }
    .process__step-icon {
        width: 160px;
        height: 160px;
        margin-left: -80px;
    }
    .process__step-icon:before {
        font-size: 70px;
        line-height: 160px;
    }
    .process__step-info {
        top: 160px;
    }
    .projects__item figcaption a {
        font-size: 20px;
    }
    .projects__item figcaption a:before {
        font-size: 18px;
    }
    .testimonials {
        float: left;
        width: 98%;
        width: calc(100% - 40px);
        margin-left: 1%;
        margin-right: 1%;
        margin-left: calc(20px);
        margin-right: calc(20px);
        height: auto;
        margin-top: 0;
        margin-bottom: 0;
    }
    .testimonials__item {
        margin-bottom: 20px;
    }
    .contacts-section {
        padding-top: 250px;
    }
    .contact-card {
        float: left;
        width: 98%;
        width: calc(100% - 40px);
        margin-left: 1%;
        margin-right: 1%;
        margin-left: calc(20px);
        margin-right: calc(20px);
        height: auto;
        margin-top: 0;
        margin-bottom: 0;
        float: none;
    }
    .contact-info__logo {
        display: none;
    }
    .contact-info__group {
        padding-left: 0;
    }
    .contact-info__additional {
        margin-left: 0;
    }
    .contact-info__vcard {
        margin-left: 0;
    }
}

@media screen and (max-width: 600px) {
    .first-nav__languages, .first-nav__links {
        float: left;
        width: 89.66667%;
        width: calc(91.66667% - 40px);
        margin-left: 1%;
        margin-right: 1%;
        margin-left: calc(20px);
        margin-right: calc(20px);
        height: auto;
        margin-top: 0;
        margin-bottom: 0;
    }
    .first-nav__navcontrol {
        float: left;
        width: 6.33333%;
        width: calc(8.33333% - 40px);
        margin-left: 1%;
        margin-right: 1%;
        margin-left: calc(20px);
        margin-right: calc(20px);
        height: auto;
        margin-top: 0;
        margin-bottom: 0;
        margin-left: 0;
        font-size: 0;
    }
    .first-nav__navcontrol:before {
        margin-right: 0;
    }
    .home-section__header {
        padding: 100px 0 300px;
    }
    .advantages h2:before, .advantages h2:after {
        width: 15%;
    }
    .advantages blockquote {
        padding: 20px 0;
    }
    .advantages blockquote p {
        font-size: 18px;
    }
    .advantages blockquote cite {
        font-size: 20px;
    }
    .process__step-icon {
        width: 140px;
        height: 140px;
        margin-left: -70px;
    }
    .process__step-icon:before {
        font-size: 70px;
        line-height: 140px;
    }
    .process__step-info {
        top: 140px;
    }
    .main-footer__author, .main-footer__copyright {
        padding-top: 20px;
        line-height: 1;
    }
    .main-footer__designer, .main-footer__links {
        padding-top: 0;
    }
    .main-footer__author, .main-footer__designer, .main-footer__copyright, .main-footer__links {
        float: none;
        text-align: center;
    }
}

@media screen and (max-width: 480px) {
    .advantages h2:before, .advantages h2:after {
        width: 10%;
    }
    .process__step-icon {
        width: 120px;
        height: 120px;
        margin-left: -60px;
    }
    .process__step-icon:before {
        font-size: 60px;
        line-height: 120px;
    }
    .process__step-info {
        top: 120px;
    }
    .projects__item {
        float: left;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        height: auto;
        margin-top: 0;
        margin-bottom: 0;
        padding-bottom: 75%;
    }
    .testimonials__item img {
        display: none;
    }
    .testimonials__item blockquote {
        margin-left: 0;
    }
}
