/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./node_modules/group-css-media-queries-loader/lib/index.js!./node_modules/sass-loader/dist/cjs.js!./src/styles/style.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************/
/* stylelint-disable-line */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: .67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  -webkit-text-decoration: underline;
  text-decoration: underline; /* 2 */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: .35em .75em .625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon.woff?yuzzw2") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^=icon-],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-feature-settings: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-chevron-down::before {
  content: "\e908";
}

.icon-cross::before {
  content: "\e90d";
}

.icon-chevron-up::before {
  content: "\e911";
}

.icon-chevron-left::before {
  content: "\e912";
}

.icon-chevron-right::before {
  content: "\e913";
}

/**
 * Set up a decent box model on the root element
 */

html {
  box-sizing: border-box;
}

/**
 * Make all elements from the DOM inherit from the parent box-sizing
 * Since `*` has a specificity of 0, it does not override the `html` value
 * making all elements inheriting from the root box-sizing value
 * See: https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */

*,
*::before,
*::after {
  box-sizing: inherit;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/*
 * Extends the .visually-hidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
  Basic typography style for copy text
*/

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #22222c;
  font-family: "DM Sans", sans-serif;
  font-size: 22px;
  line-height: 1.32;
  font-weight: 300;
}

/*
  Basic styles for links
*/

a {
  transition: color .35s cubic-bezier(.3, .86, .36, .95);
  color: #22222c;
  -webkit-text-decoration: none;
  text-decoration: none;
}

a:hover {
  color: #22222c;
  -webkit-text-decoration: none;
  text-decoration: none;
}

ul,
ol,
dl,
p {
  margin: 0 0 18px;
}

h1,
.h1,
h2,
.h2 {
  font-weight: 400;
}

h1,
.h1 {
  margin: 0 0 22px;
  font-size: 54px;
  line-height: 1.19;
  letter-spacing: .05em;
}

h2,
.h2 {
  margin: 0;
  font-size: 38px;
  line-height: 1.29;
}

h3,
.h3 {
  margin: 0 0 13px;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: .02em;
}

input[type=text],
input[type=email],
input[type=tel],
textarea {
  transition: border-color .35s cubic-bezier(.3, .86, .36, .95);
  border: 1px solid currentColor;
  background-color: transparent;
  width: 100%;
  min-width: 0;
  padding: 1.2rem 2.4rem;
  border-radius: 0;
  -webkit-appearance: none;
}

input[type=text]:focus, input[type=text]:hover,
input[type=email]:focus,
input[type=email]:hover,
input[type=tel]:focus,
input[type=tel]:hover,
textarea:focus,
textarea:hover {
  box-shadow: none;
  outline: none;
}

.header {
  padding: 21px 0 18px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: #f6f2eb;
}

.header .container {
  max-width: 1615px;
}

.header-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.logo {
  width: 180px;
}

.nav-opener {
  display: inline-block;
  width: 18px;
  height: 18px;
  position: absolute;
  left: 27px;
  top: 50%;
  transform: translateY(-43%);
}

.nav-opener::before, .nav-opener::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #f04327;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: margin-top .35s cubic-bezier(.3, .86, .36, .95), transform .35s cubic-bezier(.3, .86, .36, .95);
}

.nav-opener::before {
  margin-top: -2px;
}

.nav-opener::after {
  margin-top: 2px;
}

.nav-active .nav-opener::before, .nav-active .nav-opener::after {
  margin-top: 0;
}

.nav-active .nav-opener::before {
  transform: rotate(45deg);
}

.nav-active .nav-opener::after {
  transform: rotate(-45deg);
}

.nav-drop {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: calc(100vh - var(--header-height));
  overflow-y: auto;
  padding: 66px 36px 66px 37px;
  background: #f6f2eb;
  opacity: 0;
  visibility: hidden;
  transform: translateX(100%);
  transition: opacity .35s cubic-bezier(.3, .86, .36, .95), visibility .35s cubic-bezier(.3, .86, .36, .95), transform .35s cubic-bezier(.3, .86, .36, .95);
}

.nav-active .nav-drop {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

.resize-active .nav-drop {
  transition: none .35s cubic-bezier(.3, .86, .36, .95);
}

.nav__list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: 200;
  font-size: 54px;
  line-height: 1.3;
}

.nav__list-item {
  margin-bottom: 48px;
}

.nav__list-item:last-child {
  margin-bottom: 0;
}

.nav__list-link {
  position: relative;
}

.nav__list-link:hover {
  color: #278ff0;
}

.nav__list-link:hover::before {
  transform: scaleX(1);
}

.nav__list-link::before {
  content: "";
  width: 100%;
  height: 2px;
  background: #278ff0;
  position: absolute;
  top: calc(100% + 2px);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s cubic-bezier(.3, .86, .36, .95);
}

.quick-actions__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: none;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: #f6f2eb;
  min-width: 360px;
}

body.nav-active {
  overflow: hidden;
}

.wrapper {
  width: 100%;
  position: relative;
  overflow: clip;
}

.container {
  width: 100%;
  margin: 0 auto;
  max-width: 1476px;
  padding: 0 36px 0 37px;
}

img {
  width: 100%;
  display: block;
}

.extra-light {
  font-weight: 200;
}

.color-bone {
  color: #f6f2eb;
}

section {
  scroll-margin-top: var(--header-height);
  padding-top: 80px;
  padding-bottom: 70px;
}

.headings-decor {
  display: inline-block;
  position: relative;
}

.headings-decor.headings-decor-white .line {
  background: #f6f2eb;
}

.headings-decor.headings-decor-orange .line {
  background: #f04327;
}

.headings-decor .lines-container {
  width: 27px;
  height: 30px;
  position: absolute;
  top: -12px;
  right: -21px;
}

.headings-decor .line {
  position: absolute;
  background: #278ff0;
  opacity: 0;
  transition: opacity .35s cubic-bezier(.3, .86, .36, .95);
}

.headings-decor .line.active {
  opacity: 1;
}

.headings-decor .line.line-01 {
  width: 3px;
  height: 16px;
  border-radius: 4px;
  top: 2px;
  left: 0;
}

.headings-decor .line.line-02 {
  width: 3px;
  height: 17px;
  border-radius: 4px;
  top: 4px;
  left: 15px;
  transform: rotate(40deg);
}

.headings-decor .line.line-03 {
  width: 3px;
  height: 17px;
  border-radius: 4px;
  bottom: -4px;
  right: 4px;
  transform: rotate(73deg);
}

.underline-scale {
  position: relative;
  display: inline-block;
}

.underline-scale.active::before {
  transform: scaleX(1);
}

.underline-scale.orange::before {
  background: #f04327;
}

.underline-scale::before {
  content: "";
  width: 100%;
  height: 4px;
  border-radius: 4px;
  background: #278ff0;
  position: absolute;
  bottom: 0;
  z-index: -1;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1s cubic-bezier(.3, .86, .36, .95);
}

.image-scale.active img {
  transform: scale(1);
}

.image-scale img {
  transform: scale(0);
  transition: transform .35s cubic-bezier(.3, .86, .36, .95);
}

.fade-in {
  opacity: 0;
  transform: scale(.8);
  transition: opacity .35s cubic-bezier(.3, .86, .36, .95), transform .35s cubic-bezier(.3, .86, .36, .95);
}

.fade-in.active {
  transform: scale(1);
  opacity: 1;
}

.footer {
  background: #22222c;
  color: #f6f2eb;
  padding: 27px 0;
}

.footer .container {
  padding: 0 22px 0 24px;
  max-width: 1586px;
}

.footer-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.footer-logo-wrap {
  width: 100%;
}

.footer-logo {
  width: 160px;
  margin: 0 auto;
}

.copyright,
.disclaimer {
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.copyright p,
.disclaimer p {
  margin-bottom: 0;
}

.copyright a {
  color: #f6f2eb;
}

.copyright a:hover {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding: 11px 47px;
  border: 1px solid #f04327;
  border-radius: 40px;
  color: #f04327;
  font-family: "DM Sans", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.28;
  letter-spacing: .03em;
  transition: background .35s cubic-bezier(.3, .86, .36, .95), color .35s cubic-bezier(.3, .86, .36, .95);
}

.btn:hover {
  background: #f04327;
  color: #ffffff;
}

.btn.primary {
  background: #278ff0;
  border-color: #278ff0;
  color: #f6f2eb;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.3;
  padding: 14px 42px 18px;
}

.btn.primary:hover {
  background: transparent;
  color: #278ff0;
}

@keyframes slide {
  to {
    transform: translateX(0);
  }
}

.hero {
  background: #278ff0;
  padding: 190px 0 131px;
  position: relative;
}

.hero .container {
  padding: 0 48px 0 53px;
}

.hero .decor {
  position: absolute;
  pointer-events: none;
  animation: slide 1s linear forwards;
  transition: transform .35s cubic-bezier(.3, .86, .36, .95);
}

.hero .decor.decor-left {
  width: 281px;
  height: 290px;
  top: -8px;
  left: -46px;
  transform: translateX(-100%);
}

.hero .decor.decor-right {
  width: 214px;
  height: 283px;
  bottom: -50px;
  right: -28px;
  transform: translateX(100%);
}

.hero .decor .desktop {
  display: none;
}

.hero .decor img {
  width: 100%;
  height: 100%;
}

.hero .headings-decor .lines-container {
  top: auto;
  right: -24px;
}

.hero-content {
  max-width: 1088px;
  margin: 0 auto;
  font-weight: 400;
  font-size: 32px;
  line-height: 1.25;
  letter-spacing: .02em;
}

.hero-content h1 {
  color: #f6f2eb;
}

.hero-content p:last-child {
  margin-bottom: 0;
}

.intro {
  background: #22222c;
  color: #f6f2eb;
  padding: 105px 0 96px;
  position: relative;
}

.intro-decor {
  width: 100px;
  position: absolute;
  left: 50%;
  top: -50px;
  transform: translateX(-50%);
}

.intro-content {
  font-weight: 400;
  font-size: 28px;
  line-height: 1.14;
  letter-spacing: -0.018em;
}

.intro-content h2 {
  margin-bottom: 42px;
  letter-spacing: .02em;
}

.intro-content p:last-child {
  margin-bottom: 0;
}

.services h2 {
  margin-bottom: 38px;
  letter-spacing: .039em;
}

.services-wrap {
  padding-right: 5px;
}

.service {
  display: flex;
  flex-direction: column;
  margin-bottom: 42px;
}

.service:last-child {
  margin-bottom: 0;
}

.service__list {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-top: auto;
  font-weight: 500;
}

.service__list li {
  position: relative;
  padding-left: 23px;
  margin-bottom: 9px;
}

.service__list li:last-child {
  margin-bottom: 0;
}

.service__list li::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #f04327;
  display: inline-block;
  position: absolute;
  left: -1px;
  top: 9px;
}

.impact {
  background: #22222c;
  color: #f6f2eb;
}

.impact h2 {
  margin-bottom: 23px;
  letter-spacing: .045em;
}

.impact-wrap .grid .impact-graph-img {
  display: none;
}

.impact-subtitle {
  margin-bottom: 30px;
}

.impact-subtitle .h2 {
  letter-spacing: .023em;
}

.impact-content {
  letter-spacing: .01em;
  margin-bottom: 51px;
}

.impact-content p:last-child {
  margin-bottom: 0;
}

.impact-graph-img {
  max-width: 563px;
}

.experience h2 {
  margin-bottom: 31px;
  letter-spacing: .015em;
}

.experience-content {
  margin-bottom: 40px;
}

.experience-content p:last-child {
  margin-bottom: 0;
}

.experience-content p strong {
  font-weight: 500;
}

.gallery {
  display: flex;
  flex-wrap: wrap;
  margin-left: -37px;
  margin-right: -37px;
}

.gallery__item {
  width: 50%;
}

.gallery__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.reach {
  background: #22222c;
  color: #f6f2eb;
}

.reach h2 {
  letter-spacing: .045em;
}

.heading-wrap {
  margin-bottom: 31px;
}

.heading-wrap h2 {
  margin-bottom: 32px;
}

.heading-wrap p:last-child {
  margin-bottom: 0;
}

.heading-wrap .heading {
  padding-right: 30px;
}

.heading-wrap .content {
  padding-left: 10px;
}

.map {
  position: relative;
  max-width: 1209px;
  margin: 0 auto;
}

.map img {
  max-height: 674px;
  aspect-ratio: 1209/674;
  opacity: .2;
}

.map .pin {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #f04327;
}

@keyframes pulse-animation {
  0% {
    box-shadow: 0 0 0 0 rgba(240, 67, 39, .5);
  }

  70% {
    box-shadow: 0 0 0 5px rgba(240, 67, 39, .3);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(240, 67, 39, .1);
  }
}

.about {
  background: #278ff0;
  padding-bottom: 0;
}

.about-content-wrap {
  padding: 0 36px 0 37px;
  margin-bottom: 39px;
}

.about-content {
  font-weight: 300;
  max-width: 689px;
  margin-left: auto;
  font-size: 22px;
}

.about-content h2 {
  margin-bottom: 29px;
  letter-spacing: .045em;
}

.about-content p:last-child {
  margin-bottom: 0;
}

.about-content p strong {
  font-weight: 500;
}

.about-img {
  overflow: hidden;
}

.about-img .lines-container {
  top: 10.2% !important;
  left: 42% !important;
  transform: scaleX(-1) rotate(11deg);
}

.about-img img {
  margin: -1px;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.contact {
  background: #22222c;
  color: #f6f2eb;
  padding-bottom: 27px;
}

.contact-heading {
  margin-bottom: 29px;
}

.contact-heading h2 {
  color: #f04327;
  font-weight: 100;
  font-size: 128px;
  line-height: .92;
  letter-spacing: .042em;
  display: inline-block;
}

.contact-heading .contact-heading-decor {
  position: relative;
}

.contact-heading .contact-heading-decor .decor-img {
  width: 107px;
  height: 78px;
  position: absolute;
  right: -77px;
  top: -22px;
}

@-moz-document url-prefix() {
  .contact-heading .contact-heading-decor .decor-img {
    right: -46px !important;
    top: -21px !important;
  }

  @media (min-width: 1024px) {
    .contact-heading .contact-heading-decor .decor-img {
      right: -10px !important;
    }
  }

  @media (min-width: 1480px) {
    .contact-heading .contact-heading-decor .decor-img {
      right: 17px !important;
      top: -62px !important;
    }
  }
}

.contact-heading .headings-decor .lines-container {
  top: 12px;
  right: -30px;
  transform: rotate(30deg);
}

.contact-content {
  font-weight: 300;
}

.contact-content p {
  margin-bottom: 47px;
}

.contact-content p strong {
  font-weight: 500;
}

.contact-content .contact-subtitle {
  font-weight: 200;
  font-size: 50px;
  line-height: 1.16;
  margin-bottom: 44px;
  letter-spacing: .05em;
}

.contact-content .contact-subtitle .underline {
  -webkit-text-decoration: underline;
  text-decoration: underline;
  text-decoration-color: #f04327;
}

.contact-content .btn-container,
.contact-content .links-wrap {
  text-align: center;
}

.contact-content .btn-container {
  margin-bottom: 54px;
}

.contact-content .links-wrap {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 16px;
}

.contact-content .links-wrap li {
  margin-bottom: 9px;
}

.contact-content .links-wrap li:last-child {
  margin-bottom: 0;
}

.contact-content .links-wrap a {
  color: #278ff0;
  font-weight: 500;
}

.contact-content .links-wrap a:hover {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

@media (min-width: 768px) {
  body {
    font-size: 25px;
  }

  h1,
  .h1 {
    font-size: 87px;
  }

  h2,
  .h2 {
    font-size: 56px;
  }

  h3,
  .h3 {
    font-size: 32px;
  }

  section {
    padding-top: 115px;
    padding-bottom: 100px;
  }

  .headings-decor .lines-container {
    width: 40px;
    height: 38px;
  }

  .headings-decor .line.line-01 {
    width: 5px;
    height: 24px;
  }

  .headings-decor .line.line-02 {
    width: 5px;
    height: 24px;
    top: 5px;
    left: 19px;
  }

  .headings-decor .line.line-03 {
    width: 5px;
    height: 22px;
  }

  .footer-logo-wrap {
    width: auto;
    order: 1;
  }

  .footer-logo {
    width: 198px !important;
  }

  .copyright,
  .disclaimer {
    font-size: 12px;
  }

  .disclaimer {
    order: 2;
  }

  .hero .decor.decor-left {
    top: 10px;
  }

  .hero-content {
    font-size: 53px;
  }

  .intro-content {
    font-size: 38px;
  }

  .services-wrap {
    padding-right: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
  }

  .service {
    margin-bottom: 0;
    width: calc(50% - 25px);
  }

  .impact-wrap {
    display: grid;
    grid-template-columns: 40.5% 1fr;
    grid-gap: 50px;
    gap: 50px;
  }

  .impact-wrap .grid {
    display: grid;
    grid-gap: 30px;
    gap: 30px;
  }

  .impact-wrap .grid .impact-graph-img {
    display: block;
    margin-top: auto;
  }

  .impact-subtitle {
    margin-bottom: 0;
  }

  .impact-subtitle .h2 {
    font-size: 40px;
  }

  .impact-content {
    margin-bottom: 0;
    order: 1;
  }

  .impact-graph-img {
    display: none;
  }

  .gallery {
    margin-left: 0;
    margin-right: 0;
    gap: 38px 34px;
  }

  .gallery__item {
    width: calc(33.33% - 23px);
  }

  .gallery__item img {
    border-radius: 10px;
  }

  .reach h2 {
    margin-bottom: 0;
  }

  .heading-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .heading-wrap .heading,
  .heading-wrap .content {
    width: 50%;
  }

  .map .pin {
    width: 8px;
    height: 8px;
  }

  .about {
    padding: 0;
  }

  .about-wrap {
    display: flex;
    flex-wrap: wrap;
  }

  .about-content-wrap {
    margin-bottom: 0;
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 115px 13px 100px;
  }

  .about-content h2 {
    font-size: 43px;
  }

  .about-img {
    width: 50%;
  }

  .contact-wrap {
    display: flex;
    flex-wrap: wrap;
  }

  .contact-heading {
    margin-bottom: 0;
    width: 40%;
    max-width: 536px;
    order: 1;
  }

  .contact-content {
    flex: 1;
    padding-right: 5%;
  }

  .contact-content p {
    margin-bottom: 45px;
  }

  .contact-content .contact-subtitle {
    margin-bottom: 32px;
  }

  .contact-content .contact-subtitle .underline {
    text-underline-offset: 10px;
  }

  .contact-content .btn-container,
  .contact-content .links-wrap {
    text-align: left;
  }

  .contact-content .links-wrap {
    font-size: 20px;
  }
}

@media (min-width: 1024px) {
  .header {
    padding: 39px 0 29px;
  }

  .nav-wrap {
    flex: 1;
    padding-left: 20px;
    padding-right: 2px;
  }

  .nav-opener {
    display: none;
  }

  .nav-drop {
    background: transparent;
    position: static;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: auto;
    padding: 0;
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }

  .nav__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 20px 32px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: .03em;
  }

  .nav__list {
    gap: 20px 65px;
  }

  .nav__list-item {
    margin-bottom: 0;
  }

  .nav {
    padding-right: 32px;
    flex: 1;
  }

  .quick-actions__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px 32px;
  }

  section {
    padding-top: 150px;
    padding-bottom: 130px;
  }

  .footer {
    padding: 53px 0;
  }

  .copyright,
  .disclaimer {
    font-size: 14px;
  }

  .btn.primary {
    font-size: 22px;
    line-height: 1.32;
    padding: 17px 49px 18px;
  }

  .hero {
    padding: 295px 0 188px;
  }

  .hero .decor.decor-left {
    top: 25px;
  }

  .intro {
    padding: 207px 0 206px;
  }

  .intro-decor {
    width: 160px;
    top: -80px;
  }

  .services h2 {
    margin-bottom: 57px;
    letter-spacing: .049em;
  }

  .service p {
    margin-bottom: 14px;
  }

  .service__list li {
    padding-left: 43px;
    margin-bottom: 8px;
  }

  .service__list li::before {
    width: 15px;
    height: 15px;
  }

  .impact-subtitle .h2 {
    font-size: 57px;
    letter-spacing: .048em;
  }

  .experience h2 {
    margin-bottom: 19px;
    letter-spacing: .05em;
  }

  .experience-content {
    margin-bottom: 57px;
    letter-spacing: .014em;
  }

  .gallery__item {
    width: calc(25% - 26px);
  }

  .heading-wrap {
    margin-bottom: 85px;
  }

  .map .pin {
    width: 11px;
    height: 11px;
  }

  .about-content-wrap {
    padding-top: 150px;
    padding-bottom: 130px;
  }

  .about-content {
    font-size: 24px;
  }

  .about-content h2 {
    font-size: 58px;
  }

  .contact {
    padding-bottom: 127px;
    padding-top: 198px;
  }

  .contact-heading h2 {
    font-size: 182px;
  }

  .contact-heading .contact-heading-decor .decor-img {
    right: -60px;
  }

  .contact-content .btn-container {
    margin-bottom: 72px;
  }
}

@media (min-width: 1200px) {
  body {
    font-size: 28px;
  }

  h1,
  .h1 {
    font-size: 120px;
    line-height: 1.08;
    margin-bottom: 40px;
    letter-spacing: .045em;
  }

  h2,
  .h2 {
    font-size: 74px;
    line-height: 1.22;
  }

  h3,
  .h3 {
    font-size: 36px;
    letter-spacing: .03em;
    margin-bottom: 23px;
  }

  .logo {
    width: 270px;
  }

  .nav {
    padding-right: 65px;
  }

  .quick-actions__list {
    gap: 20px 65px;
  }

  .headings-decor .lines-container {
    top: -25px;
    right: -28px;
    width: 52px;
    height: 46px;
  }

  .headings-decor .line.line-01 {
    width: 7px;
    height: 32px;
    top: 1px;
  }

  .headings-decor .line.line-02 {
    width: 7px;
    height: 30px;
    left: 24px;
    top: 8px;
    transform: rotate(34deg);
  }

  .headings-decor .line.line-03 {
    width: 7px;
    height: 26px;
    bottom: -7px;
    transform: rotate(64deg);
  }

  .footer-logo-wrap {
    margin-left: -91px;
  }

  .copyright,
  .disclaimer {
    font-size: 16px;
  }

  .hero .decor.decor-left {
    width: 399px;
    height: 500px;
    left: -74px;
    top: -12px;
  }

  .hero .decor.decor-right {
    width: 338px;
    height: 422px;
    right: -100px;
    bottom: -11px;
  }

  .hero .decor .mobile {
    display: none;
  }

  .hero .decor .desktop {
    display: block;
  }

  .hero .headings-decor .lines-container {
    top: -16px;
  }

  .hero-content {
    font-size: 74px;
    line-height: 1.3;
    letter-spacing: .049em;
  }

  .intro-content {
    font-size: 48px;
    line-height: 1.3;
    letter-spacing: .05em;
  }

  .intro-content h2 {
    margin-bottom: 52px;
    letter-spacing: .048em;
  }

  .services-wrap {
    gap: 160px;
  }

  .service {
    width: calc(50% - 80px);
    line-height: 1.36;
    letter-spacing: .015em;
  }

  .impact .headings-decor .lines-container {
    top: -32px;
    right: -39px;
  }

  .impact-wrap {
    gap: 50px 100px;
  }

  .experience .headings-decor .lines-container {
    right: -36px;
  }

  .reach .headings-decor .lines-container {
    top: -34px;
    right: -38px;
  }

  .heading-wrap .content {
    letter-spacing: .0145em;
  }

  .heading-wrap .content p {
    margin-bottom: -15px;
  }

  .about-content h2 {
    font-size: 74px;
    margin-bottom: 64px;
    letter-spacing: .055em;
  }

  .contact-heading h2 {
    font-size: 217px;
  }

  .contact-heading .headings-decor .lines-container {
    top: 15px;
    right: -55px;
  }

  .contact-content .contact-subtitle {
    font-size: 92px;
  }

  .contact-content .contact-subtitle .underline {
    text-underline-offset: 19px;
  }

  .contact-content .links-wrap {
    font-size: 24px;
  }
}

@media (min-width: 1480px) {
  .logo {
    width: 360px;
  }

  .hero .decor.decor-left {
    width: 516px;
    height: 711px;
  }

  .hero .decor.decor-right {
    width: 462px;
    height: 561px;
    right: -100px;
  }

  .impact-wrap {
    gap: 50px 145px;
  }

  .impact-subtitle .h2 {
    font-size: 74px;
  }

  .contact-heading {
    width: 35%;
  }

  .contact-heading h2 {
    font-size: 274px;
  }

  .contact-heading .contact-heading-decor .decor-img {
    width: 185px;
    height: 135px;
    right: -48px;
    top: -73px;
  }

  .contact-content {
    padding-right: 9%;
    letter-spacing: .014em;
  }

  .contact-content .links-wrap {
    display: flex;
    flex-wrap: wrap;
    letter-spacing: 0;
  }

  .contact-content .links-wrap li {
    margin-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .contact-content .links-wrap li:not(:first-child)::before {
    content: "";
    width: 1px;
    height: 65%;
    background: #f6f2eb;
    display: inline-block;
    margin: 0 16px;
    vertical-align: middle;
  }
}

@media (max-width: 767px) {
  .intro-content h2 {
    font-size: 32px;
    line-height: 1.25;
  }

  .impact-subtitle .h2 {
    font-size: 32px;
    line-height: 1.25;
  }

  .experience {
    padding-bottom: 0;
  }
}

@media (max-width: 1199px) {
  .impact-content {
    font-size: 26px;
    line-height: 1.23;
  }
}


/*# sourceMappingURL=style.css.map*/