@font-face {
  font-family: "DM Sans Bold";
  font-weight: 700;
  font-style: normal;
  src: local("DM Sans Bold"), local("DM-Sans-Bold"), url("../fonts/dm_sans_700.woff2") format(woff2), url("../fonts/dm_sans_700.woff") format(woff); }

@font-face {
  font-family: "DM Sans Regular";
  font-weight: 400;
  font-style: normal;
  src: local("DM Sans Regular"), local("DM-Sans-Regular"), url("../fonts/dm_sans_400.woff2") format(woff2), url("../fonts/dm_sans_400.woff") format(woff); }

@font-face {
  font-family: "DM Serif Display Regular";
  font-weight: 400;
  font-style: normal;
  src: local("DM Serif Display Regular"), local("DM-Serif-Display-Regular"), url("../fonts/dm_serif_display_400.woff2") format(woff2), url("../fonts/dm_serif_display_400.woff") format(woff); }

:root {
  --fonts_size: 16px;
  --padding-top: 13px;
  --padding-bottom: 11px;
  --padding-right: 45px;
  --padding-left: 45px;
  --breakpoint_desktop: 1440px;
  --elem_width: 324px; }

body {
  font-family: 'DM Sans', sans-serif;
  font-size: var(--fonts_size);
  line-height: 24px;
  margin: 0;
  background-color: rgba(67, 76, 204, 0.05); }

ul {
  margin: 0;
  padding: 0;
  list-style: none; }

p,
figure {
  margin: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  --line-height: 48px;
  margin: 0;
  font-family: 'DM Serif Display', Arial, Helvetica, sans-serif;
  font-weight: normal;
  font-style: normal;
  line-height: var(--line-height);
  font-size: var(--fonts_size); }

a {
  text-decoration: none;
  color: currentColor; }

a:hover {
  text-decoration: underline; }

img {
  max-width: 100%;
  border-radius: 5px; }

address {
  font-style: normal; }

dl {
  margin: 0; }

dd {
  margin: 0; }

button {
  cursor: pointer; }

.container {
  --padding-left: 14px;
  --padding-right: 15px;
  padding-left: var(--padding-left);
  padding-right: var(--padding-right); }
  @media (min-width: 650px) {
    .container {
      --padding-left: 54px;
      --padding-right: 54px; } }
  @media (min-width: 1440px) {
    .container {
      max-width: 1170px;
      margin-left: auto;
      margin-right: auto;
      -ms-margin-left: auto;
      -ms-margin-right: auto;
      padding: 0; } }

.content {
  overflow-x: hidden;
  position: relative; }

.header {
  --padding-top: 16px;
  --padding-bottom: 16px;
  background-color: #434CCC;
  padding-top: var(--padding-top);
  padding-bottom: var(--padding-bottom); }
  .header > .container {
    --padding-right: 14px;
    display: flex;
    display: -ms-flexbox;
    flex-direction: row;
    justify-content: space-between;
    align-items: center; }
    @media (min-width: 650px) {
      .header > .container {
        --padding-right: 54px; } }
  .header__heading {
    --fonts_size: 24px;
    line-height: 32px;
    text-transform: uppercase; }
    .header__heading > a {
      color: #fff; }
    @media (min-width: 1440px) {
      .header__heading {
        --fonts_size: 40px; } }

.masthead {
  --padding-top: 31px;
  padding-top: var(--padding-top); }
  .masthead__headings {
    display: flex;
    display: -ms-flexbox;
    flex-direction: column-reverse;
    justify-content: space-between; }
    .masthead__headings > h2 {
      --fonts_size: 52px;
      --padding-top: 61px;
      --padding-bottom: 65px;
      --line-height: 64px;
      padding-top: var(--padding-top);
      padding-bottom: var(--padding-bottom); }
      @media (min-width: 650px) {
        .masthead__headings > h2 {
          max-width: 450px; } }
      @media (min-width: 1440px) {
        .masthead__headings > h2 {
          max-width: 585px;
          --fonts_size: 72px; } }
    .masthead__headings > p a {
      color: rgba(0, 0, 0, 0.5); }
    @media (min-width: 1440px) {
      .masthead__headings {
        max-width: 585px; } }
  .masthead__description {
    font-size: 18px;
    line-height: 32px;
    padding-bottom: 82px; }
    @media (min-width: 650px) {
      .masthead__description {
        max-width: 450px; } }
    @media (min-width: 1440px) {
      .masthead__description {
        max-width: 585px; } }

.menu {
  background-image: url("../images/icon_menu.svg");
  background-repeat: no-repeat;
  background-size: 24px 24px;
  background-position: 100% 50%;
  color: transparent;
  cursor: pointer; }
  @media (min-width: 650px) {
    .menu {
      display: none; } }

.checkbox-menu[type="checkbox"] {
  display: none; }

.checkbox-menu[type="checkbox"]:checked ~ header .navigation {
  transform: translateY(0); }

.close-menu {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  opacity: 0;
  transition: opacity 1s;
  background-color: rgba(0, 0, 0, 0.25); }
  @media (min-width: 650px) {
    .close-menu {
      background-color: initial; } }

.checkbox-menu[type="checkbox"]:checked ~ main {
  z-index: 1; }

.checkbox-menu[type="checkbox"]:checked ~ label {
  z-index: 2;
  opacity: 1; }

.header .navigation {
  --padding: 16px;
  --padding-right: 16px;
  --elem_width: 250px;
  padding-top: var(--padding);
  padding-bottom: var(--padding);
  padding-left: var(--padding);
  padding-right: var(--padding-right);
  background-color: #f8f8f8;
  position: fixed;
  z-index: 3;
  top: 0;
  left: 0;
  bottom: 0;
  width: var(--elem_width);
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.5);
  transform: translateY(-110%);
  transition: transform 0.2s;
  display: flex;
  flex-direction: column; }
  .header .navigation__close-menu {
    text-align: right;
    width: 40px;
    align-self: flex-end;
    cursor: pointer; }
    @media (min-width: 650px) {
      .header .navigation__close-menu {
        display: none; } }
  @media (min-width: 650px) {
    .header .navigation {
      --elem_width: 324px;
      --padding: 0;
      --padding-right: 22px;
      position: initial;
      background-color: transparent;
      box-shadow: none;
      transform: none;
      transition: none; } }

.navigation__list {
  order: 1; }
  .navigation__list > li {
    --padding-bottom: 2rem;
    padding-bottom: var(--padding-bottom);
    font-weight: 700; }
    .navigation__list > li a {
      color: rgba(0, 0, 0, 0.5); }
      @media (min-width: 650px) {
        .navigation__list > li a {
          color: #fff; } }
    @media (min-width: 650px) {
      .navigation__list > li {
        padding-bottom: 0; } }
  @media (min-width: 650px) {
    .navigation__list {
      display: flex;
      display: -ms-flexbox;
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
      gap: 31px; } }

.section_image-slider__header {
  display: none; }

.section_image-slider__gallery {
  display: flex;
  display: -ms-flexbox;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 9px;
  overflow-x: scroll;
  margin-right: -2rem;
  scrollbar-width: none;
  /* To hide the scroll bar for Firefox */
  -ms-overflow-style: none;
  /* To hide the scroll bar for Internet Explorer 11 */ }
  @media (min-width: 650px) {
    .section_image-slider__gallery {
      margin: 0;
      gap: 11px; } }
  @media (min-width: 1440px) {
    .section_image-slider__gallery {
      overflow-x: hidden; } }
  .section_image-slider__gallery::-webkit-scrollbar {
    display: none; }
  .section_image-slider__gallery__image > picture img.sliderImage {
    --elem_width: 137px;
    display: block;
    max-width: var(--elem_width); }
    @media (min-width: 650px) {
      .section_image-slider__gallery__image > picture img.sliderImage {
        --elem_width: 147px; } }
    @media (min-width: 1440px) {
      .section_image-slider__gallery__image > picture img.sliderImage {
        --elem_width: 100%; } }
  .section_image-slider__gallery__image img {
    cursor: pointer; }
  .section_image-slider__gallery img {
    opacity: 0.5;
    border: 1px solid transparent; }
    .section_image-slider__gallery img:hover {
      border: 1px solid rgba(0, 0, 0, 0.5);
      opacity: 1; }
  .section_image-slider__gallery:last-of-type {
    padding-right: 0; }

.image-active {
  opacity: 1;
  width: 1440px; }

img.open {
  opacity: 1; }

.section_mineral-carving {
  --padding-top: 92px;
  --padding-bottom: 105px;
  padding-top: var(--padding-top);
  padding-bottom: var(--padding-bottom); }
  .section_mineral-carving > .container {
    display: flex;
    display: -ms-flexbox;
    flex-direction: column-reverse;
    justify-content: space-between; }
    @media (min-width: 1440px) {
      .section_mineral-carving > .container {
        display: flex;
        display: -ms-flexbox;
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: center;
        align-items: flex-start; } }
  .section_mineral-carving__desc {
    --padding-top: 75px;
    padding-top: var(--padding-top); }
    .section_mineral-carving__desc > header > h3 {
      --fonts_size: 40px;
      --padding-bottom: 29px;
      --line-height: 64px;
      padding-bottom: var(--padding-bottom); }
      @media (min-width: 1440px) {
        .section_mineral-carving__desc > header > h3 {
          --fonts_size: 52px; } }
    .section_mineral-carving__desc > header > p {
      --fonts_size: 18px;
      --padding-bottom: 46px;
      font-size: var(--fonts_size);
      padding-bottom: var(--padding-bottom);
      line-height: 32px; }
      @media (min-width: 650px) {
        .section_mineral-carving__desc > header > p {
          --padding-bottom: 38px; } }
    .section_mineral-carving__desc > p {
      --padding-bottom: 55px;
      color: rgba(0, 0, 0, 0.5);
      padding-bottom: var(--padding-bottom); }
    @media (min-width: 650px) {
      .section_mineral-carving__desc {
        max-width: 450px; } }
    @media (min-width: 1440px) {
      .section_mineral-carving__desc {
        max-width: 570px;
        padding-top: 0; } }
  .section_mineral-carving__info {
    display: flex;
    display: -ms-flexbox;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    row-gap: 40px; }
    @media (min-width: 1440px) {
      .section_mineral-carving__info {
        max-width: 443px; } }
    .section_mineral-carving__info dt {
      color: rgba(0, 0, 0, 0.5);
      padding-bottom: 8px; }
    .section_mineral-carving__info dd {
      font-weight: 700; }
    .section_mineral-carving__info--date {
      flex-basis: 50%; }
    .section_mineral-carving__info--location {
      flex-basis: 50%; }
    .section_mineral-carving__info--camera {
      flex-basis: 50%; }
      .section_mineral-carving__info--camera dd {
        --elem_width: 86px;
        max-width: 86px; }
        @media (min-width: 1440px) {
          .section_mineral-carving__info--camera dd {
            --elem_width: inherit; } }
    .section_mineral-carving__info--lens {
      flex-basis: 50%; }

.section_subscription {
  --padding-top: 63px;
  --padding-bottom: 54px;
  background-color: #FFDD78;
  padding-top: var(--padding-top);
  padding-bottom: var(--padding-bottom); }
  @media (min-width: 650px) {
    .section_subscription {
      --padding-top: 79px;
      --padding-bottom: 104px; }
      .section_subscription .container {
        display: flex;
        display: -ms-flexbox;
        flex-direction: row;
        justify-content: space-between;
        align-items: center; } }
  .section_subscription__header {
    --padding-bottom: 44px;
    --element-gap: 19px;
    display: flex;
    display: -ms-flexbox;
    flex-direction: column-reverse;
    justify-content: space-between;
    gap: var(--element-gap);
    max-width: 294px;
    padding-bottom: var(--padding-bottom); }
    .section_subscription__header > h3 {
      --fonts_size: 40px;
      line-height: 1.3; }
      @media (min-width: 1440px) {
        .section_subscription__header > h3 {
          --fonts_size: 52px; } }
    .section_subscription__header > p {
      text-transform: uppercase;
      letter-spacing: 4.8px; }
    @media (min-width: 650px) {
      .section_subscription__header {
        --elem_width: 382px;
        --element-gap: 17px;
        max-width: var(--elem_width);
        padding: 0; } }
  .section_subscription__form {
    --padding-top: 13px;
    --padding-bottom: 11px;
    --element-gap: 16px;
    display: flex;
    flex-direction: column;
    gap: var(--element-gap); }
    @media (min-width: 1440px) {
      .section_subscription__form {
        --element-gap: 54px;
        flex-direction: row;
        align-items: flex-end; } }
    .section_subscription__form > fieldset {
      --element-gap: 12px;
      display: flex;
      display: -ms-flexbox;
      flex-direction: column;
      justify-content: space-between;
      margin: 0;
      padding: 0;
      list-style: none;
      gap: var(--element-gap);
      border: none;
      max-width: 346px; }
      .section_subscription__form > fieldset > label {
        --fonts_size: 12px;
        font-weight: bold;
        font-size: var(--fonts_size);
        text-transform: uppercase;
        line-height: 16px; }
      .section_subscription__form > fieldset > input {
        --padding-right: 16px;
        width: 100%;
        font-family: 'DM Sans', Arial, Helvetica, sans-serif;
        font-size: var(--fonts_size);
        line-height: 24px;
        box-sizing: border-box;
        border: 1px solid #DADADA;
        line-height: 1.5;
        padding: 0;
        padding-left: var(--padding-right);
        border-radius: 5px;
        padding-top: var(--padding-top);
        padding-bottom: var(--padding-bottom);
        color: rgba(0, 0, 0, 0.5);
        mix-blend-mode: normal; }
        .section_subscription__form > fieldset > input:focus {
          outline: none; }
        .section_subscription__form > fieldset > input::placeholder {
          color: rgba(0, 0, 0, 0.5);
          mix-blend-mode: normal;
          font-style: normal;
          font-weight: normal; }
        @media (min-width: 650px) {
          .section_subscription__form > fieldset > input {
            width: 346px; } }
      @media (min-width: 1440px) {
        .section_subscription__form > fieldset {
          padding-bottom: 0; } }
    .section_subscription__form > button {
      --padding-left: 45.5px;
      --padding-right: 45.5px;
      font-family: 'DM Sans', Arial, Helvetica, sans-serif;
      max-width: 170px;
      color: #fff;
      border: none;
      border-radius: 5px;
      background-color: #434CCC;
      font-weight: bold;
      font-size: var(--fonts_size);
      line-height: 24px;
      text-align: center;
      padding-left: var(--padding-left);
      padding-right: var(--padding-right);
      padding-top: var(--padding-top);
      padding-bottom: var(--padding-bottom); }
      .section_subscription__form > button:hover {
        background-color: rgba(67, 76, 204, 0.8); }

.social-media {
  --elem_width: 68px;
  display: flex;
  display: -ms-flexbox;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  max-width: var(--elem_width); }
  .social-media__icon a {
    color: #000;
    opacity: 0.3; }
    .social-media__icon a:hover {
      opacity: 0.5; }

.footer {
  --padding-top: 75px;
  --padding-bottom: 29px;
  background-color: #fff;
  padding-top: var(--padding-top);
  padding-bottom: var(--padding-top); }
  .footer .container {
    --padding-bottom: 70px;
    padding-bottom: var(--padding-bottom); }
    @media (min-width: 1440px) {
      .footer .container {
        display: flex;
        display: -ms-flexbox;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        align-items: flex-start;
        gap: 20px;
        padding-bottom: 0; } }
  .footer__about {
    --padding-bottom: 90px;
    padding-bottom: var(--padding-bottom); }
    .footer__about > span {
      --fonts_size: 24px;
      font-family: 'DM Serif Display', Arial, Helvetica, sans-serif;
      font-size: var(--fonts_size);
      text-transform: uppercase; }
      .footer__about > span > a {
        color: #000; }
    .footer__about > p {
      --padding-top: 23px;
      --padding-bottom: 35px;
      color: rgba(0, 0, 0, 0.5);
      padding-top: var(--padding-top);
      padding-bottom: var(--padding-bottom); }
    @media (min-width: 650px) {
      .footer__about {
        --elem_width: 270px;
        max-width: var(--elem_width); } }
    @media (min-width: 650px) {
      .footer__about {
        --elem_width: 270px;
        max-width: var(--elem_width); } }
    @media (min-width: 1440px) {
      .footer__about {
        padding-bottom: 0; } }
  .footer__pagination__list {
    --padding-bottom: 77px;
    padding-bottom: var(--padding-bottom);
    color: rgba(0, 0, 0, 0.5); }
    .footer__pagination__list li:not(:last-of-type) {
      --padding-bottom: 8px;
      padding-bottom: var(--padding-bottom); }
    .footer__pagination__list--homepage {
      font-weight: 700;
      color: #000;
      --padding-bottom: 24px; }
  .footer address:not(:last-of-type) {
    --padding-bottom: 27px;
    padding-bottom: var(--padding-bottom); }
  .footer__author__item {
    display: flex;
    flex-direction: row;
    gap: 30px; }
    .footer__author__item:hover {
      text-decoration: none;
      opacity: 0.8; }
    .footer__author__item img {
      max-width: 70px;
      height: 48px; }
    .footer__author__item > div {
      display: flex;
      flex-direction: column; }
      .footer__author__item > div > span {
        color: rgba(0, 0, 0, 0.5); }
      .footer__author__item > div > time {
        font-size: 12px; }
    .footer__author__item:not(:last-of-type) {
      --padding-bottom: 27px;
      padding-bottom: var(--padding-bottom); }
  .footer__status {
    color: rgba(0, 0, 0, 0.5);
    position: relative; }
    .footer__status > .container {
      --padding-top: 27px;
      padding-top: var(--padding-bottom);
      padding-bottom: 0; }
      .footer__status > .container > p span {
        text-transform: uppercase; }
      @media (min-width: 650px) {
        .footer__status > .container {
          display: flex;
          display: -ms-flexbox;
          flex-direction: row;
          justify-content: space-between;
          align-items: center;
          gap: 20px; } }
      .footer__status > .container > address {
        color: rgba(0, 0, 0, 0.5);
        padding-bottom: 8px; }
        @media (min-width: 650px) {
          .footer__status > .container > address {
            padding-bottom: 0; } }
    .footer__status::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      border-top: 2px solid rgba(0, 0, 0, 0.1);
      width: 100vw; }
