html {
  line-height: 1.5; 
  -webkit-text-size-adjust: 100%; 
  -moz-tab-size: 4; 
  -o-tab-size: 4;
     tab-size: 4; 
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
body {
  margin: 0;
  line-height: inherit;
overflow-x: hidden; /* отключает горизонтальный скролл */
overflow-y: scroll; /* включает вертикальный скролл */
}
main{
    min-height: 100vh;
    flex-direction: column;
    max-width: 100%;
    display: flex;
    padding-bottom:6rem;
    background:black;
}
header{
    display:flex;
    border-bottom: 1px solid transparent;
    background-color: rgba(0, 0, 0, 0);
    transition: all 0.5s;
    top: 0;
    left: 0;
    right: 0;
    transition: all .2s linear;
    z-index: 1000;
    justify-content: space-between;
    align-items: flex-start;
    position:absolute;
    padding-left: 4rem;
        padding-right: 4rem;
}
.logo{
    max-height:120px;
    display:inline-flex;
    width: 8rem;
    padding-top: 0.75rem;
    float:right;
}
.source{
	display:none;
}
.h1 {
  font-size: 5.5rem;
  line-height: 1.2;
}
.h2 {
  font-size: 4.25rem;
  line-height: 1.2;
}
.h3 {
  font-size: 3rem;
  line-height: 1.2;
}
.p h2,
.p h3,
.p img {
  margin: 2rem 0 1rem;
}
.h1 > strong,
.h2 > strong,
.h3 > strong, 
.h4 > strong {
  font-weight: 800;
}

@media (max-width: 1400px) {
  .h2 {
    font-size: 3.25rem;
  }
}

@media (max-width: 1024px) {
  .paragraph {
    font-size: 18px;
  }
  .h1 {
    font-size: 3.35rem;
    line-height: 1.4;
  }
  .h2 {
    font-size: 2.5rem;
    line-height: 1.4;
  }
  .h3 {
    font-size: 1.85rem;
  }
}

.p p {
  line-height: 1.85;
}

@media (max-width: 782px) {
  .paragraph {
    font-size: 1.45rem;
  }
  .h1 {
    font-size: 3.35rem;
    line-height: 1.4;
  }
  .h2 {
    font-size: 2.15rem;
    line-height: 1.4;
  }
  .h3 {
    font-size: 1.85rem;
  }
  header{
      padding-left:1rem;
      padding-right:1rem;
  }
}
.menus{
    display: flex;
}
.vidos{
    max-height: 100vh;
    width: 100%;
    height: auto;
    z-index:0;
    position: relative;
    margin-left: auto;
    margin-right: auto;
}
#bgVideo{
 width: 100vw;
    height: 100vh;
    object-fit: cover;
}

.bg-black {
    --tw-bg-opacity: 1;
    background-color: rgba(0, 0, 0, 1);
    background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
}
hr {
  height: 0; 
  color: inherit; 
  border-top-width: 1px; 
}
abbr:where([title]) {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
h1,h2,h3,h4,h5,h6 {
  font-size: inherit;
  font-weight: inherit;
}
a {
  color: inherit;
  text-decoration: inherit;
}
b,
strong {
  font-weight: bolder;
}
code,kbd,samp,pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; 
  font-feature-settings: normal; 
  font-variation-settings: normal; 
  font-size: 1em; /* 4 */
}
small {
  font-size: 80%;
}
sub,sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
table {
  text-indent: 0; 
  border-color: inherit; 
  border-collapse: collapse; 
}
button,input,optgroup,select,textarea {
  font-family: inherit; 
  font-feature-settings: inherit; 
  font-variation-settings: inherit; 
  font-size: 100%; 
  font-weight: inherit; 
  line-height: inherit; 
  letter-spacing: inherit; 
  text-transform: none;
  color: inherit; 
  margin: 0; 
  padding: 0; 
}
button,input:where([type='button']),input:where([type='reset']),input:where([type='submit']) {
  -webkit-appearance: button; 
  background-color: transparent; 
  background-image: none; 
}
blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre {
  margin: 0;
}
ol,ul,menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
textarea {
  resize: vertical;
}
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; 
  color: #9ca3af; 
}
input::placeholder,textarea::placeholder {
  opacity: 1; 
  color: #9ca3af; 
}
button,
[role="button"] {
  cursor: pointer;
}
:disabled {
  cursor: default;
}
img,svg,video,canvas,audio,iframe,embed,object {
  display: block; 
  vertical-align: middle; 
}
img, video {
  max-width: 100%;
  height: auto;
}
[hidden] {
  display: none;
}


/*TTTTTTTTTTT*/

.marker-map{
    height:20px;
    width:auto;
    display:inline-block;
    margin-bottom:6px;
}
#modal_3d{
    display:none;
}
.source{
	display:none;
}

/* Основной контейнер футера */
.footer {
  background-color: #1f1f1f; /* Цвет фона */
  color: white; /* Белый текст */
  padding: 2.5rem 0; /* Отступы сверху и снизу */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-left: 8rem;
  padding-right: 8rem;
}

/* Верхняя часть футера */
.footer-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 1.5rem;
}

.footer-logo {
  color: white;
  text-decoration: none;
  font-size: 1.5rem;
  font-weight: bold;
}

.footer-copy {
  margin-top: 1rem;
  font-size: 0.875rem; /* Размер шрифта для © */
  color: #aaa; /* Светлый серый */
}

/* Меню */
.footer-menu {
  margin-bottom: 1.5rem;
}

.menu-footer {
list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.menu-footer li {
  display: flex;
    margin: 0 1rem;
    font-size: 0.75rem;
    line-height: 1rem;
    opacity: 0.5;
    font-weight: 600;
    transition: all 0.3s 
ease-in-out;
}

.menu-footer a {
  text-decoration: none;
  color: #aaa;
  font-size: 1rem;
  transition: color 0.3s ease;
}

.menu-footer a:hover {
  color: white;
}

/* Социальные иконки */
.footer-socials {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}

.social-link {
  margin: 0 1rem;
  transition: opacity 0.3s ease;
}

.social-link:hover {
  opacity: 0.6;
}

.footer-socials img {
  width: 30px;
  height: 30px;
}
#go-up{
  position:fixed;
  bottom:80px;
  right:24px;
  z-index:50;
  display:flex;
}
.goup-link{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  text-decoration:none;
}
.wrapper-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.scroll-down{
  display:block;
  position:relative;
  padding-top:79px;
  text-align:center;
  transform:rotate(180deg);
}
.scroll-down::before{
  content:" ";
  position:absolute;
  top:0;
  left:50%;
  margin-left:-1px;
  width:2px;
  height:88px;
  background:rgb(75,85,99);
  animation:elasticus 3.1s cubic-bezier(1,0,0,1) infinite;
}
.arrow-down{
  display:block;
  margin:0 auto;
  width:10px;
  height:38px;
}
.arrow-down::after{
  content:"";
  display:block;
  margin:0;
  padding:0;
  width:8px;
  height:8px;
  border-top:2px solid rgb(75,85,99);
  border-right:2px solid rgb(75,85,99);
  transform:rotate(135deg);
}
.scroll-title-up{
  display:none;
  text-transform:uppercase;
  font-size:12px;
  color:rgb(107,114,128);
  letter-spacing:0.05em;
  margin-bottom:8px;
  transform:rotate(-90deg);
  white-space:nowrap;
}
@keyframes elasticus{
  0%{transform-origin:0% 0%;transform:scale(1,0)}
  50%{transform-origin:0% 0%;transform:scale(1,1)}
  50.1%{transform-origin:0% 100%;transform:scale(1,1)}
  100%{transform-origin:0% 100%;transform:scale(1,0)}
}
@media(min-width:1024px){
  #go-up{bottom:80px}
  .scroll-title-up{display:flex}
}
/* Медиазапрос для экранов с шириной более 1024px */
@media (min-width: 1024px) {
  .footer {
    flex-direction: row;
    justify-content: space-between;
    padding: 1.5rem 4rem; /* Увеличение отступов на больших экранах */
  }

  .footer-top {
    flex-direction: row;
    margin-bottom: 0;
  }

  .footer-menu {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    margin-bottom: 0;
  }

  .footer-socials {
    justify-content: flex-end;
    margin-top: 0;
  }
}


@media(max-width:767px){
    .logo{
    max-height: 80px;
    width: auto;
    }
}
@media(max-width:1024px){
    .logo{
        width:auto;
    }
}
@media(max-width:1280){
    
}
@media(max-width:1400px){
    
}
@media(max-width:1600px){
    
}
@media(min-width:1600px){
    
}

.wtsp{
    width:60px;
}
    .what {
        width: 60px;
        height: 60px;
        #background-color: #fff;
        #background: #fff;
        text-align: center;
        line-height: 60px;
        border-radius: 30px;
        position: fixed;
        bottom: 17px;
        right:-5px;
        -webkit-transform: translate(-50%);
        -moz-transform:    translate(-50%);
        -ms-transform:     translate(-50%);
        -o-transform:      translate(-50%);
        transform:         translate(-50%);
        color: #FFFFFF;
        font-size: 20px;
        display:                 -webkit-box; 
        display:                 -moz-box; 
        display:                 -ms-flexbox;
        display:                 -webkit-flex; 
        display:                 flex;
        -webkit-box-pack:        center; 
        -moz-box-pack:           center; 
        -ms-flex-pack:           center; 
        -webkit-justify-content: center; 
        justify-content:         center;
        -webkit-box-align:       center; 
        -moz-box-align:          center; 
        -ms-flex-align:          center; 
        -webkit-align-items:     center; 
        align-items:             center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        cursor: pointer;
        #box-shadow: 0 0 10px rgba(0,0,0,.3);
        z-index:100;
    }
    .what:after {
        content: "";
        width: 60px;
        height: 60px;
        border-radius: 50%;
        background: 0 0;
        position: absolute;
        left: 0;
        top: 0;
        box-shadow: 0 0 0 1px #fff;
        -webkit-animation: whatsup 2s linear infinite;
        animation: whatsup 2s linear infinite;
    }
@keyframes whatsup{
    0%{transform:scale(1);opacity:.8}
    50%{opacity:.8}
    100%{transform:scale(1.5);opacity:0}
}
@-webkit-keyframes whatsup{
    0%{-webkit-transform:scale(1);opacity:.8}
    50%{opacity:.8}
    100%{-webkit-transform:scale(1.5);opacity:0}
}
@-moz-keyframes whatsup{
    0%{-moz-transform:scale(1);opacity:.8}
    50%{opacity:.8}
    100%{-moz-transform:scale(1.5);opacity:0}
}
@-o-keyframes whatsup{
    0%{-o-transform:scale(1);opacity:.8}
    50%{opacity:.8}
    100%{-o-transform:scale(1.5);opacity:0}
}