* {
  transition: all 0.5s linear;
}

html,
body {
  scroll-behavior: smooth;
  font-size: 100%;
  background: #1f1f1f;
  /* background: #1f1f1f url(../images/bg.jpg) no-repeat 10% center;
  background-size: 100%; */
}

/* Fonts */
@font-face {
  src: url(../fonts/SF-Pro-Display-Bold.otf);
  font-family: "sf-pro-display-bold";
}

@font-face {
  src: url(../fonts/SF-Pro-Display-Semibold.otf);
  font-family: "sf-pro-display-semibold";
}

.sf-pro-display-bold-fonts {
  font-family: "sf-pro-display-bold";
}

.sf-pro-display-semibold-fonts {
  font-family: "sf-pro-display-semibold";
}

/* Colors */
.text-red {
  color: #ed1c24;
}

.text-red1 {
  color: #ce141a;
}

.text-white {
  color: #f5f5f5 !important;
}

/* Navbar */
.navbar {
  background: #1f1f1f 0% 0% no-repeat padding-box;
  box-shadow: 6px 10px 23px #171717de;
}

.logo {
  width: 300px;
}

.navbar-nav .nav-link {
  border: 3px solid #ed1c24;
  color: #ed1c24;
  font-size: 26px;
  line-height: 19px;
  width: 145px;
  height: 43px;
  text-align: center;
  margin-left: 3rem;
}

.navbar-nav .nav-link.outline:hover {
  background-color: #ed1c24;
  color: #1f1f1f;
}

.navbar-nav .nav-link.filled {
  background-color: #ed1c24;
  color: #1f1f1f;
}

.navbar-nav .nav-link.filled:hover {
  background-color: transparent;
  color: #ed1c24;
}

.navbar-toggler {
  border: 1px solid #ed1c24;
  outline: 0 !important;
}

.menu-bar {
  font-size: 25px;
}

@media (max-width: 767.98px) {
  .navbar-nav .nav-link {
    margin: 0.5rem auto;
  }
}

/* Header */
header {
  background: url(../images/header-bg.png) no-repeat center;
  background-size: cover;
}

header .wrapper {
  width: 798px;
  margin: 0 auto 0;
}

.header-contents {
  padding: 15rem 0;
}

header .wrapper .heading {
  font-size: 124px;
  line-height: 90px;
}

header .wrapper .heading span {
  font-size: 74px;
}

header .wrapper .text {
  font-size: 27px;
}

.header-buttons {
  display: flex;
  justify-content: center;
}

.header-buttons > a {
  display: block;
  font-size: 28px;
  line-height: 40px;
  color: #ffffff;
  width: 206px;
  height: 46px;
  margin: 0 0.75rem;
  text-align: center;
}

.header-buttons > a:hover {
  text-decoration: none;
}

.header-buttons > a.lm {
  border: 3px solid #ed1c24;
}

.header-buttons > a.lm:hover {
  background: #ed1c24;
}

.header-buttons > a.gs {
  background: #ed1c24;
  border: 3px solid #ed1c24;
}

.header-buttons > a.gs:hover {
  background: transparent;
}

@keyframes float {
  0% {
    box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
    transform: translatey(0px);
  }
  50% {
    box-shadow: 0 25px 15px 0px rgba(0, 0, 0, 0.2);
    transform: translatey(-20px);
  }
  100% {
    box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
    transform: translatey(0px);
  }
}

.statistics {
  display: flex;
  width: 602px;
  background: transparent linear-gradient(0deg, #0b0b0b 0%, #1b1b1b 100%) 0% 0%
    no-repeat padding-box;
  box-shadow: 0px 0px 38px #ce141a80;
}

.statistics > div {
  width: 50%;
  font-size: 26px;
  line-height: 30px;
  padding: 3rem 0;
}

.statistics > div.databases {
  background: url(../images/databases-bg.png) no-repeat center;
}

.statistics > div.totallines {
  background: url(../images/total-lines-bg.png) no-repeat center;
}

@media (max-width: 991.98px) {
  .header-contents {
    padding: 5rem 0;
  }

  header .wrapper {
    width: 100%;
  }
  header .wrapper .heading {
    font-size: 90px;
    line-height: 55px;
  }

  header .wrapper .heading span {
    font-size: 50px;
  }
}

@media (max-width: 767.98px) {
  header .wrapper .heading {
    font-size: 60px;
    line-height: 40px;
  }

  header .wrapper .heading span {
    font-size: 35px;
  }

  header .wrapper .text {
    font-size: 18px;
  }

  .header-buttons > a {
    font-size: 22px;
  }

  .statistics {
    width: 100%;
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
}

@media (max-width: 576px) {
  .logo {
    width: 250px;
  }

  header .wrapper .heading {
    font-size: 45px;
  }

  .statistics > div {
    font-size: 20px;
    padding: 2rem 0;
  }
}

/* Sections */
.section {
  padding-top: 3rem;
}

.section-1 {
  background: url(../images/section-1-bg.png) no-repeat center;
  background-size: cover;
}

.section-2 {
  background: url(../images/section-2-bg.png) no-repeat center;
  background-size: cover;
}

.section-3 {
  background: url(../images/section-3-bg.png) no-repeat center;
  background-size: cover;
}

.section-heading {
  font-size: 74px;
}

.section-text {
  font-size: 34px;
  line-height: 44px;
}

@media (max-width: 1630px) {
  .section-heading {
    font-size: 60px;
  }

  .section-text {
    font-size: 28px;
    line-height: 36px;
  }
}

@media (max-width: 1280px) {
  .section-heading {
    font-size: 50px;
  }

  .section-text {
    font-size: 22px;
    line-height: 30px;
  }
}

@media (max-width: 991.98px) {
  .section img.img-fluid {
    max-width: 60%;
  }

  .section img.img-fluid.d {
    max-width: 40%;
  }
}

@media (max-width: 576.98px) {
  .section-heading {
    font-size: 40px;
  }

  .section-text {
    font-size: 20px;
    line-height: 28px;
  }

  .section img.img-fluid {
    max-width: 80%;
  }

  .section img.img-fluid.d {
    max-width: 50%;
  }
}

/* Contact */
.contact-wrapper {
  background: url(../images/contact-bg.png) no-repeat center;
  background-size: cover;
  padding: 10rem 0 10rem;
}

.contact {
  max-width: 990px;
  box-shadow: 0px 0px 38px #ce141a80;
  position: relative;
  z-index: 1;
}

@media (max-width: 991.98px) {
  .contact {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
}

.contact .wrapper {
  width: 525px;
  padding-top: 3rem;
  padding-bottom: 2rem;
}

.contact .wrapper img {
  position: absolute;
  top: -4rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.contact .heading {
  font-size: 42px;
}

.contact .text {
  font-size: 27px;
  line-height: 32px;
  padding: 0 2.5rem;
}

.contact .button {
  width: 206px;
  height: 48px;
  background: #ed1c24;
  border: 2px solid #ed1c24;
  font-size: 28px;
  line-height: 40px;
}

.contact .button:hover {
  text-decoration: none;
  background: transparent;
}

@media (max-width: 576.98px) {
  .contact-wrapper {
    padding-bottom: 5rem;
  }

  .contact .wrapper {
    width: 100%;
    padding: 3rem 1rem 2rem;
  }

  .contact .heading {
    font-size: 30px;
  }

  .contact .text {
    font-size: 18px;
    line-height: 25px;
    padding: 0;
  }

  .contact .button {
    width: 180px;
    height: 40px;
    font-size: 23px;
    line-height: 34px;
  }
}

/* Footer */
footer {
  background: #1f1f1f;
  box-shadow: 6px 10px 23px #171717de;
  padding: 1rem 2rem 0;
}

.footer-text {
  font-size: 20px;
}

.footer-text a {
  color: #ed1c24;
}
