.header {
  height: 10.2vh;
}
.header-link_active::after {
  width: 100%;
}
.main {
  padding-top: 3vmax;
  position: relative;
}
.portfolio-top_projects {
  display: flex;
}
.top-projects {
  height: 40px;
  display: flex;
  gap: 0.625vw;
  position: relative;
}
.portfolio-top_project {
  display: grid !important;
  align-items: center;
  white-space: nowrap;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background-color: #131313;
  color: white;
  font-family: "HelveticaNeueCyr";
  font-weight: 400;
  font-size: 0.833vw;
  line-height: 15.92px;
  padding: 0 1.042vw;
  text-decoration: none;
  z-index: -1;
  height: 40px;
}
.portfolio-top_all {
  border: 1px solid rgba(255, 255, 255, 1);
  width: 100%;
  display: grid;
  align-items: center;
  white-space: nowrap;
  text-align: center;
  background-color: #131313;
  color: white;
  font-family: "HelveticaNeueCyr";
  font-weight: 400;
  font-size: 0.833vw;
  line-height: 15.92px;
  padding: 0 1.042vw;
  text-decoration: none;
  z-index: 2;
}
.block-white_text {
  position: absolute;
  left: 20%;
  top: 45%;
  color: white;
  text-transform: uppercase;
  font-family: "HelveticaNeueCyr";
  font-weight: 600;
  font-size: 1.667vw;
}
.block-white_text:after {
  display: block;
  content: "";
  height: 1px;
  width: 0%;
  background-color: rgba(255, 255, 255, 0.5);
  transition: width 0.4s ease-in-out;
}
.top-projects_block {
  width: 40vw;
  display: flex;
  gap: 0.625vw;
  transition: transform 0.5s ease; 
}
#projectsBlock {
  transition: transform 0.5s ease; 
  cursor: grab; 
  display: flex; 
}
#projectsBlock:active {
  cursor: grabbing; 
}
.prortfolio-block_white:hover {
  .border-link {
    border: 2px solid rgba(218, 218, 218, 0.696);
    transition: border 0.5s ease;
  }
}
.portfolio-top_arror {
  display: grid;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: -20px;
  top: 10%;
  width: 32px;
  height: 32px;
  border: none;
  z-index: 2;
}
.portfolio-top_btns {
  padding: 4px;
  border: 1px solid rgba(255, 255, 255, 1);
  width: 10vw;
  height: 46px;
  display: flex;
  background-color: rgba(16, 16, 16, 1);
}
.portfolio-top_btn {
  border: none;
  color: white;
  background-color: rgba(16, 16, 16, 1);
  width: 100%;
  font-family: "HelveticaNeueCyr";
  font-weight: 400;
  font-size: 0.938vw;
}
.active-btn {
  color: rgba(16, 16, 16, 1);
  background-color: white;
}
.main-portfolio_contents {
  margin-top: 6vh;
}
.portfolio_contents_top {
  display: flex;
  justify-content: space-between;
  gap: 4vh;
  height: 100%;
  margin-bottom: 3vmax;
}
.portfolio_contents_main {
  display: flex;
  justify-content: space-between;
  gap: 3.3vmax;
  height: 100%;
  margin-bottom: 3vmax;
}
.portfolio_contents_down {
  display: flex;
  justify-content: space-between;
  gap: 4vh;
  height: 100%;
  margin-bottom: 3vmax;
}

.prortfolio-content_project {
  display: grid;
  gap: 2vh;
  width: 25.729vw;
  object-fit: fill;
  position: relative;
  text-decoration: none;
}
/* .prortfolio-block_white{
  position: relative;
} */
.border-link {
  position: absolute;
  width: 2.083vw;
  height: 2.083vw;
  right: 20px;
  top: 20px;
  border: 2px solid rgba(255, 255, 255, 1);
  display: grid;
  justify-content: center;
  align-items: center;
}
.svg-link {
  width: 1.042vw;
}
.prortfolio-content_item {
  width: 100%;
  text-decoration: none;
  display: grid;
  gap: 2vh;
}

.prortfolio-block_white {
  background: linear-gradient(to left, rgb(225 142 191), rgb(155 151 216));
  height: 15.969vw;
  position: relative;
  width: 25.729vw;
}
.prortfolio-block_white:hover {
  .block-white_text:hover:after,
  .block-white_text:focus:after {
    width: 100%;
  }
}
.image-prot {
  width: 100%;
  object-fit: contain;
}
.image-block_white {
  width: 25.729vw;
  height: 15.969vw;
}
.content-project_text {
  color: white;
  font-family: "HelveticaNeueCyr";
  font-weight: 400;
  font-size: 1.042vw;
}
.main-portfolio_down {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10vh;
}

.pagination {
  width: 15.573vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: end !important;
  margin-bottom: 0 !important;
}
.page-item {
  --bs-pagination-bg: none;
  border: none !important;
  --bs-pagination-color: rgba(41, 41, 45, 1);
  --bs-pagination-border-width: none;
}
.page__dots {
  border-right: 1px solid rgba(255, 255, 255, 0.3) !important;
  cursor: initial;
  color: white;
  width: 2.396vw;
  text-align: center;
}
.page-items {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 25px;
  width: 11.406vw;
}
.page-item {
  text-align: center;
  width: 2.135vw;
  font-family: "HelveticaNeueCyr";
  font-weight: 400;
  font-size: 0.833vw;
  border-right: 1px solid rgba(255, 255, 255, 0.3) !important;
}
.pagination-page_item {
  display: grid;
  justify-content: center;
  align-content: center;
  color: white;
  font-family: HelveticaNeueCyr;
  font-size: 0.833vw;
  font-weight: 400;
  line-height: 15.92px;
  text-align: left;
}
.page-item_active {
  border-bottom: 0px !important;
  padding: 0 !important;
}
.page-links {
  z-index: 1 !important;
  color: white !important;
  text-decoration: none;
  border-bottom: 1px solid white;
  line-height: 15.92px;
  font-size: 0.833vw;
  font-weight: 400;
  font-family: "HelveticaNeueCyr";
}
.catalog-item_btn {
  position: relative;
  display: flex;
}
/* form */
.main-form {
  background-color: white;
  height: 841px;
  display: grid;
  justify-content: center;
  align-content: center;
  justify-items: center;
}
.main-form_title {
  color: rgba(31, 31, 31, 1);
  font-family: "Futura PT";
  font-size: 2.708vw;
  font-weight: 600;
  line-height: 5.393vh;
  text-align: center;
  text-transform: uppercase;
  width: 37.708vw;
  margin-bottom: 4vh;
  z-index: 2;
}
.form {
  display: grid;
  gap: 20px;
  z-index: 1;
}
.form-input {
  outline: none;
  border-radius: 0 !important;
  width: 100%;
  padding: 14px 16px;
  color: rgba(31, 31, 31, 1) !important;
  border: 1px solid rgba(31, 31, 31, 0.2);
  transition: border-color 0.3s, color 0.3s, background-color 0.3s;
  font-family: "HelveticaNeueCyr";
  box-sizing: border-box;
  position: relative;
  font-size: 18px;
  font-weight: 400;
  line-height: 17.91px;
  text-align: left;
}
.form-input:focus {
  color: rgba(31, 31, 31, 1);
  border: 1px solid rgba(31, 31, 31, 0.4);
}
.form-input:disabled {
  background: rgba(255, 255, 255, 0.8);
  color: rgba(31, 31, 31, 0.2);
}
.form-input:disabled + .input-label {
  color: rgba(31, 31, 31, 0.2);
}
/* .input-label {
  font-size: 18px;
  font-weight: 400;
  font-family: "HelveticaNeueCyr";
  position: absolute;
  left: 16px;
  top: 14px;
  transition: 0.2s ease all;
  color: rgba(31, 31, 31, 0.6);
  pointer-events: none;
} */

.required {
  color: red;
}
.error-message {
  display: none;
  color: rgba(146, 29, 36, 1);
  font-size: 14px;
  margin-top: 6px;
}
.form-text {
  width: 100%;
  height: 120px;
  outline: none;
  border-radius: 0 !important;
  padding: 14px 16px;
  border: 1px solid rgba(31, 31, 31, 0.2);
  transition: border-color 0.3s, color 0.3s, background-color 0.3s;
  font-family: "HelveticaNeueCyr";
  box-sizing: border-box;
  position: relative;
  font-size: 18px !important;
  color: rgba(31, 31, 31, 1) !important;
  font-weight: 400;
  line-height: 17.91px;
  text-align: left;
}
.form-text:focus {
  border: 1px solid rgba(199, 37, 37, 0.4) !important;
  color: rgba(31, 31, 31, 1) !important;
}

.form-input.error {
  border: 1px solid rgba(146, 29, 36, 1);
}
.form-input.error + .error-message {
  display: block;
}
.input-container {
  position: relative;
  width: 100%;
}
.form-block {
  display: flex;
  gap: 20px;
}
.form-text {
  width: 100%;
}

/* file */
.input__wrapper {
  width: 100%;
  position: relative;
  margin: 15px 0;
}
.input__file {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}
.input__file-icon-wrapper {
  height: 60px;
  width: 60px;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.input__file-button-text {
  line-height: 1;
  margin-top: 4px;
}

.input__file-filename {
  margin-left: 4px;
  color: rgba(31, 31, 31, 1);
  margin-top: 4px;
}
.remove-file-button {
  margin-left: 10px; /* Отступ между именем файла и кнопкой удаления */
  background: none; /* Убираем фон */
  border: none; /* Убираем рамку */
  color: #7c0a4d; /* Цвет крестика */
  cursor: pointer; /* Указатель на курсор */
  font-size: 16px; /* Размер шрифта */
}
.remove-svg {
  width: 16px;
}
.input__file-button {
  width: 100%;
  height: 60px;
  font-family: "HelveticaNeueCyr";
  color: rgba(31, 31, 31, 1);
  font-size: 18px;
  font-weight: 400;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.input__file-button-err {
  font-family: "HelveticaNeueCyr";
  font-size: 0.729vw;
  font-weight: 400;
  line-height: 13.93px;
  text-align: left;
  color: rgba(218, 35, 46, 1);
  display: none;
}
/* btn-form */
.form-down {
  display: flex;
  gap: 40px;
}
.form-down_statement {
  display: flex;
  align-items: start;
  gap: 20px;
}
.down_statement {
  width: 401px;
  font-family: "HelveticaNeueCyr";
  font-size: 16px;
  font-weight: 400;
  line-height: 22.4px;
  text-align: left;
}
.down-statement_text {
  border-bottom: 1px solid rgba(31, 31, 31, 1);
}
.down-statement_checkbox {
  margin-top: 5px;
  border-radius: 0 !important;
  appearance: none;
  background-color: white;
  position: relative;
  cursor: pointer;
  outline: none;
  overflow: hidden;
  transition: 600ms;
  width: 24px;
  height: 24px;
  border: 1.7px solid rgba(124, 10, 77, 1);
}
.down-statement_checkbox:hover {
  border-color: rgba(124, 10, 76, 0.7);
}
.down-statement_checkbox:focus {
  border-color: rgba(124, 10, 76, 0.5);
}
.down-statement_checkbox:checked {
  background-color: rgba(124, 10, 77, 1);
  border-color: rgba(124, 10, 77, 1);
}
.down-statement_checkbox::after {
  content: "";
  position: absolute;
  top: 34%;
  left: 30%;
  width: 10px;
  height: 7px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 7'%3e%3cpath d='M3.41445 5.47216L8.88627 0.187083C9.0154 0.0623609 9.16884 0 9.34661 0C9.52438 0 9.67761 0.0623609 9.80631 0.187083C9.93544 0.311804 10 0.460015 10 0.631715C10 0.803415 9.93544 0.951418 9.80631 1.07572L3.8664 6.81292C3.73727 6.93764 3.58662 7 3.41445 7C3.24228 7 3.09163 6.93764 2.9625 6.81292L0.186243 4.1314C0.0571146 4.00668 -0.00486715 3.85847 0.000297988 3.68677C0.00546312 3.51507 0.0728249 3.36707 0.202384 3.24276C0.331512 3.11804 0.48496 3.05568 0.662727 3.05568C0.840493 3.05568 0.993726 3.11804 1.12242 3.24276L3.41445 5.47216Z' fill='white'/%3e%3c/svg%3e ");
  opacity: 1;
  transition: opacity 0.3s ease;
}
.down-statement_checkbox:checked::after {
  transition: 500ms;
  overflow: hidden;
  opacity: 1;
}
.down-statement_checkbox:not(:checked)::after {
  opacity: 0;
}
.down-statement_checkbox:disabled {
  background: #ccc;
  border-color: #ccc;
}
.down-statement_checkbox:disabled::after {
  filter: grayscale(100%);
}

.down-btn {
  border: none;
  height: 56px;
  padding: 0 2.083vw;
  background-color: rgba(230, 230, 230, 1);
  font-family: "Futura PT";
  font-size: 0.938vw;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0.05em;
  text-align: center;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.5);
  cursor: no-drop !important;
  filter: grayscale(0);
}
.down-btn:disabled {
  background-color: rgba(230, 230, 230, 1);
  color: rgba(31, 31, 31, 0.5);
  cursor: none;
}
.form-btn_active {
  color: white;
  background: linear-gradient(
    93.69deg,
    rgba(31, 27, 94, 0.8) -0.24%,
    rgba(124, 10, 77, 0.8) 99.76%
  );
}
.form-btn_active:hover {
  cursor: pointer !important;
  box-shadow: 4px 4px 24px 0px rgba(31, 27, 94, 0.6);
}

.main-form_backlight {
  position: absolute;
  width: 5px;
  height: 5px;
  right: -500px;
  box-shadow: -420px 320px 400px 340px rgba(107, 107, 107, 0.8);
  z-index: 3;
}
.main-story_backlight {
  position: absolute;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  left: -200px;
  bottom: 400px;
  box-shadow: 20px 70px 300px 280px rgba(107, 107, 107, 0.8);
  z-index: 1;
  backdrop-filter: blur(300px);
}
.main-form_fon {
  margin-bottom: 18vh;
  position: relative;
}
@media (max-width: 48em) {
  .main-advantages_backlight,
  .main-story_backlight {
    display: none;
  }
  .main {
    margin-top: 0;
  }
  .top-projects {
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-left: none;
    border-right: none;
    height: 100%;
    width: 91vw;
  }
  .main-portfolio_top {
    display: grid;
    gap: 16px;
    width: 91vw;
  }
  .top-projects_block{
    width: 60vw;
  }
  .portfolio-top_arror {
    display: none;
  }
  .portfolio-top_title {
    order: 1;
    width: 91vw;
    font-size: 7.467vw;
  }
  .portfolio-top_btn {
    font-size: 3.733vw;
    padding: 2.667vw 0;
  }
  .portfolio-top_btns {
    order: 2;
  }
  .portfolio-top_projects {
    width: 100%;
    height: 8.618vmin;
    order: 3;
  }
  .portfolio-top_project {
    font-size: 3.733vw;
    border: none;
    color: rgba(255, 255, 255, 0.5);
    background: none;
  }
  .portfolio-top_all {
    width: 40%;
    color: white;
    border: none;
    background: none;
    font-size: 3.733vw;
    background-color: #292828; 
    overflow: hidden;
  }
  .prortfolio-block_white{
    width: 91vw;
    height: 63.125vw;
  }
  .portfolio-top_btns {
    width: 100%;
    height: 100%;
  }
  .portfolio_contents_top,
  .portfolio_contents_main,
  .portfolio_contents_down {
    display: grid;
    gap: 16px;
  }
  .prortfolio-content_item {
    width: 91vw;
    position: relative;
  }
  .image-prot {
    width: 91vw;
    object-fit: cover;
  }
  .main-portfolio .prortfolio-content_project::after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0;
    right: 0;
    width: 100%;
    height: 100px;
    background: linear-gradient(
      to bottom,
      rgba(101, 100, 100, 0.037) 0%,
      rgb(0, 0, 0) 100%
    );
    pointer-events: none;
  }
  .prortfolio-content_item::after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0;
    right: 0;
    width: 100%;
    height: 100px;
    background: linear-gradient(
      to bottom,
      rgba(101, 100, 100, 0.037) 0%,
      rgb(0, 0, 0) 100%
    );
    pointer-events: none;
  }
  .prortfolio-content_project {
    width: 100%;
    position: relative;
  }
  .main-portfolio_contents {
    margin-top: 28px;
  }
  .block-white_text {
    font-size: 4.8vw;
    left: 23vmin;
    width: 48vw;
  }
  .main-form_fon {
    margin-bottom: 80px;
    position: relative;
  }
  .main-portfolio_down {
    display: grid;
    justify-content: center;
    margin-top: 16px;
  }
  .pagination {
    display: none !important;
  }
  .page-links {
    display: none !important;
  }
  .content-project_text {
    font-size: 3vw;
    position: absolute;
    bottom: 2.813vh;
    left: 12px;
    width: 86.25vw;
    line-height: 20px;
    z-index: 2;
  }
  .main-form_fon {
    background-color: white;
  }
  .main-form {
    background-color: rgba(160, 160, 160, 0.6);
    padding: 50px 16px;
    justify-items: left;
  }
  .form {
    width: 91vw;
    gap: 12px;
  }
  .main-form_title {
    font-size: 28px;
    color: white;
    line-height: 33.6px;
    text-align: left;
  }
  .form-input {
    width: 91vw;
  }
  .form-down {
    display: grid;
    width: 91vw;
  }
  .down-btn {
    width: 91vw;
    font-size: 14px;
  }
  .form-block {
    display: grid;
    width: 91vw;
    gap: 12px;
  }
  .form-text {
    width: 91vw;
    margin-top: 0 !important;
  }
  .input__wrapper {
    width: 91vw;
  }
  .form-down_statement {
    width: 91vw;
    gap: 14px;
    align-items: center;
  }
  .down_statement {
    color: white;
    width: 91vw;
  }
  .down-statement_checkbox {
    width: 23px;
    height: 20px;
    border: 1.7px solid rgba(255, 255, 255, 1) !important;
    background: none;
  }
  .down-statement_checkbox:checked {
    background: white;
    border-color: rgba(255, 255, 255, 1);
  }
  .down-statement_checkbox::after {
    content: "";
    position: absolute;
    top: 27%;
    left: 25%;
    width: 10px;
    height: 8px;
    font-size: 12px;
    transition: 500ms;
    overflow: hidden;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='10' height='8' viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M3.41445 5.97216L8.88627 0.687083C9.0154 0.562361 9.16884 0.5 9.34661 0.5C9.52438 0.5 9.67761 0.562361 9.80631 0.687083C9.93544 0.811804 10 0.960015 10 1.13171C10 1.30342 9.93544 1.45142 9.80631 1.57572L3.8664 7.31292C3.73727 7.43764 3.58662 7.5 3.41445 7.5C3.24228 7.5 3.09163 7.43764 2.9625 7.31292L0.186243 4.6314C0.0571146 4.50668 -0.00486715 4.35847 0.000297988 4.18677C0.00546312 4.01507 0.0728249 3.86707 0.202384 3.74276C0.331512 3.61804 0.48496 3.55568 0.662727 3.55568C0.840493 3.55568 0.993726 3.61804 1.12242 3.74276L3.41445 5.97216Z' fill='%237C0A4D'/%3e%3c/svg%3e ");
  }
  .down-statement_checkbox::after {
    transition: 500ms;
    overflow: hidden;
  }
  .down-statement_text {
    border-bottom: 1px solid white;
  }
  .input__file-button-text {
    color: white;
  }
  .input__file-button-err {
    font-size: 14px;
  }
  .input__file-icon-wrapper {
    width: 24px;
    height: 24px;
  }
  .input__file-button {
    gap: 8px;
    height: 28px;
  }
  .input__file-filename {
    color: white;
  }
  .border-link {
    width: 40px;
    height: 40px;
    top: 12px;
    right: 12px;
    border: 1.5px solid rgba(255, 255, 255, 1);
  }
  .svg-link {
    width: 17px;
  }
  .main-form_backlight {
    display: none;
  }
}
