.g3-tfy {
   position: relative;
   width: 100%;
   height: auto;
   z-index: 1;
   margin: 0 auto;
   padding: 0;
   overflow: hidden;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   font-family: 'sofia-pro', sans-serif;
   font-size: 2.1vw;
   -webkit-text-decoration-skip: none;
   text-decoration-skip-ink: none;
}

@media (min-width: 768px) {
   .g3-tfy {
      min-width: 978px;
      max-width: 1440px;
   }
}

@media all and (min-width: 978px) and (max-width: 1280px) {
   .g3-tfy {
      font-size: 1.24vw;
   }
}

@media (min-width: 1281px) {
   .g3-tfy {
      font-size: 16px;
   }
}

@media all and (max-width: 978px) and (min-width:769px) {
   .g3-tfy {
      font-size: 12px;
   }
}

.g3-tfy img {
   -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.g3-tfy *,
.g3-tfy *::before,
.g3-tfy *::after {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
}

.g3-br--m {
   display: block;
}

.g3-br--dt {
   display: none;
}

@media (min-width: 768px) {
   .g3-br--m {
      display: none;
   }

   .g3-br--dt {
      display: block;
   }
}

.g3-tfy section {
   display: block;
   opacity: 0;
}

.g3-tfy a {
   color: inherit;
   text-decoration: none;
}

.g3-tfy h1,
.g3-tfy h2,
.g3-tfy h3,
.g3-tfy h4,
.g3-tfy h5,
.g3-tfy h6 {
   display: block;
   margin: 0;
}

.g3-tfy p {
   display: block;
   color: rgb(0, 0, 0);
   font-family: "sofia-pro", sans-serif;
   font-size: 1.75em;
   font-weight: 400;
   line-height: 1.3;
   letter-spacing: normal;
   margin: .5em 0 0 0;
}

.g3-tfy h3 {
   color: #000000;
   font-family: "kudryashev-d-contrast", serif;
   font-size: 2.625em;
   font-weight: 400;
   line-height: normal;
   letter-spacing: .01em;
}

@media (min-width: 768px) {
   .g3-tfy p {
      font-size: 1.125em;
      line-height: 1.5;
   }

   .g3-tfy h3 {
      font-size: 2em;
   }
}

.g3-rel {
   position: relative;
   width: 100%;
   height: auto;
   margin: 0;
   padding: 0;
   overflow: hidden;
}

.g3-abs {
   position: absolute;
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
   margin: 0;
   padding: 0;
   overflow: hidden;
}

.g3-it {
   font-style: italic;
}

.g3-sb {
   font-weight: 600;
}

.g3-bold-lg {
   font-weight: 700;
   font-size: 1.75em;
}

@media (min-width: 768px) {
   .g3-bold-lg {
      font-size: 1.5em;
   }
}

a.g3-cta--block {
   display: inline-block;
   position: relative;
   margin: 0;
   padding: 0 2em;
   overflow: hidden;
   font-family: 'sofia-pro', sans-serif;
   font-size: 1.75em;
   font-weight: 400;
   line-height: 2.5;
   letter-spacing: normal;
   text-align: center;
   color: #FFFFFF;
   background-color: #000000;
}

@media (min-width: 768px) {
   a.g3-cta--block {
      font-size: 1em;
   }
}

.g3-tfy__hero {
   position: relative;
   width: 100%;
   height: auto;
   margin: 0;
   padding: 0;
   overflow: hidden;
}

.g3-tfy__hero img {
   display: block;
   position: relative;
   width: 100%;
   height: auto;
   margin: 0;
   z-index: 1;
}

.g3-tfy__hero__txt {
   position: relative;
   width: 100%;
   margin: 0;
   z-index: 100;
}

.g3-tfy__hero__txt--m:nth-of-type(2) {
   padding: 5% 0 4% 0;
}

.g3-tfy__hero__txt--m:nth-of-type(3) {
   padding: 4% 0 4% 0;
}

.g3-tfy__hero__txt--dt {
   display: none;
}

@media (min-width: 768px) {
   .g3-tfy__hero__txt--dt {
      position: absolute;
      width: 48.6%;
      height: 100%;
      top: 0;
      left: 0;
      display: flex;
      flex-flow: wrap;
      justify-content: center;
      align-items: center;
   }

   .g3-tfy__hero__txt--m {
      display: none;
   }
}

.g3-tfy__hero__txt>div {
   text-align: center;
   padding: 0;
   margin: 0;
}

.g3-tfy__hero__txt h1 {
   color: #000000;
   font-family: "sofia-pro", sans-serif;
   font-size: 2em;
   font-weight: 700;
   line-height: normal;
   letter-spacing: 0.06em;
}

.g3-tfy__hero__title--kud {
   display: block;
   color: #000000;
   font-family: "kudryashev-d-contrast", serif;
   font-size: 5.625em;
   font-weight: 400;
   line-height: normal;
   letter-spacing: normal;
   margin-bottom: -1em;
}

.g3-tfy__hero__title--mod {
   display: block;
   color: #000000;
   font-family: "modernline", sans-serif;
   font-size: 5.625em;
   font-weight: 400;
   line-height: normal;
   letter-spacing: normal;
}

@media (min-width: 768px) {
   .g3-tfy__hero__txt h1 {
      font-size: 1.125em;
   }

   .g3-tfy__hero__title--kud {
      font-size: 4.19em;
      letter-spacing: 0.05em;
   }

   .g3-tfy__hero__title--mod {
      font-size: 4.19em;
   }
}

.g3-tfy__fit {
   position: relative;
   width: 83%;
   height: auto;
   margin: 0 auto;
   padding: 6.6% 0 0 0;
   overflow: hidden;
}

.g3-tfy__fit__intro {
   position: relative;
   width: 100%;
   height: auto;
   margin: 0;
   padding: 0;
   overflow: hidden;
   text-align: center;
}

.g3-tfy__fit__intro br {
   display: none;
}

.g3-tfy__fit__intro h2 {
   color: #000000;
   font-family: "kudryashev-d-contrast", serif;
   font-size: 2.625em;
   font-weight: 400;
   line-height: normal;
   letter-spacing: .01em;
}

.g3-tfy__fit__guide {
   position: relative;
   width: 100%;
   height: auto;
   margin: 0 auto;
   padding: 0;
   overflow: hidden;
}

.g3-tfy__fit__guide__nav {
   position: relative;
   width: 84%;
   height: auto;
   display: grid;
   grid-template-columns: repeat(4, auto);
   justify-content: space-between;
   align-content: start;
   justify-items: center;
   margin: 6% auto 0 auto;
   padding: 0.5em 0;
   overflow: hidden;
}

.g3-tfy__fit__guide__nav-item {
   color: #000000;
   font-family: "sofia-pro", sans-serif;
   font-size: 1.6875em;
   font-weight: 600;
   line-height: normal;
   letter-spacing: 0.06em;
   cursor: pointer;
}

.g3-tfy__fit--active {
   text-decoration: underline;
   text-underline-offset: .15em;
}

.g3-tfy__fit__guide__content {
   position: relative;
   width: 100%;
   height: auto;
   margin: 5% 0;
   padding: 0;
   overflow: hidden;
   background-color: #fbf7ec;
}

.g3-tfy__fit__guide__content::before {
   content: "";
   display: block;
   padding-top: 0;
}

.g3-tfy__fit__guide__content>div {
   position: relative;
   width: 100%;
   height: auto;
   margin: 0;
}

.g3-tfy__fit__guide__grid {
   position: relative;
   width: 100%;
   height: 100%;
   margin: 0;
   padding: 4.5%;
   overflow: hidden;
}

.g3-tfy__fit__guide__sketches {
   position: relative;
   height: auto;
   margin: 0;
   padding: 0;
   overflow: hidden;
   background-color: #FFFFFF;
}

.g3-tfy__fit__guide__sketches::before {
   content: "";
   display: block;
   padding-top: 110.6%;
}

.g3-tfy__fit__guide__sketch {
   display: block;
   position: absolute;
   width: 100%;
   height: auto;
   top: 0;
   left: 0;
   margin: 0;
   backface-visibility: hidden;
   -webkit-backface-visibility: hidden;
   -moz-backface-visibility: hidden;
   -ms-backface-visibility: hidden;
}

.g3-tfy__fit__guide__descriptions {
   position: relative;
   width: 100%;
   height: auto;
   margin: 0;
   padding: 0;
   overflow: hidden;
}

.g3-tfy__fit__guide__descriptions::before {
   content: "";
   display: block;
   padding-top: 61%;
}

.g3-tfy__fit__guide__descriptions>div {
   display: block;
   position: absolute;
   display: flex;
   flex-flow: nowrap;
   align-items: center;
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
   margin: 0;
}

.g3-tfy__fit__guide__description {
   position: absolute;
   width: 100%;
   height: auto;
   margin: 0;
   padding: 0;
   overflow: visible;
   text-align: center;
}

.g3-tfy__fit__guide__description>p {
   margin-top: .2em;
}

.g3-tfy__fit__guide__description a {
   display: inline-block;
   color: #000000;
   font-family: "sofia-pro", sans-serif;
   font-size: 1.6875em;
   font-weight: 400;
   line-height: normal;
   letter-spacing: normal;
   text-decoration: underline;
   text-underline-offset: .06em;
   margin-top: 1.2em;
}


.g3-tfy__fit__guide__description:not(:first-of-type) {
   opacity: 0;
   visibility: hidden;
}

@media (min-width: 768px) {
   .g3-tfy__fit {
      width: 68%;
   }

   .g3-tfy__fit__intro h2 {
      font-size: 2em;
   }

   .g3-tfy__fit__intro br {
      display: block;
   }

   .g3-tfy__fit__guide__nav {
      width: 52.5%;
   }

   .g3-tfy__fit__guide__nav-item {
      font-size: 1.5em;
   }

   .g3-tfy__fit__guide__content::before {
      content: "";
      display: block;
      padding-top: 58%;
   }

   .g3-tfy__fit__guide__grid {
      display: grid;
      grid-template-columns: repeat(2, 47.955%);
      justify-content: center;
      align-content: center;
      padding: 0;
   }

   .g3-tfy__fit__guide__content>div {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      margin: 0;
   }

   .g3-tfy__fit__guide__descriptions::before {
      content: "";
      display: block;
      padding-top: 110.6%;
   }

   .g3-tfy__fit__guide__description a {
      font-size: 1em;
   }
}

.g3-tfy__find {
   position: relative;
   width: 100%;
   height: auto;
   margin: 9.5% 0 0 0;
   padding: 6.6% 0 12% 0;
   overflow: hidden;
   background-color: #fcf8eb;
}

.g3-tfy__find__inner {
   position: relative;
   width: 100%;
   height: auto;
   margin: 0 auto;
   padding: 0;
   overflow: hidden;
}

.g3-tfy__find__intro {
   position: relative;
   height: auto;
   margin: 0;
   padding: 0;
   overflow: hidden;
   text-align: center;
}

.g3-tfy__find__intro .g3-cta--block {
   margin-top: 1.2em;
}

.g3-tfy__find__content {
   position: relative;
   width: 100%;
   height: auto;
   margin: 4.8% 0 0 0;
   padding: 0;
   overflow: hidden;
}

.g3-tfy__find__content__img {
   position: relative;
   width: 92.5%;
   height: auto;
   margin: 3% auto 0 auto;
   padding: 0;
   overflow: hidden;
}

.g3-tfy__find__content__img img {
   display: block;
   position: relative;
   width: 100%;
   height: auto;
   margin: 0;
   z-index: 1;
}

.g3-tfy__find__marker {
   display: block;
   position: absolute;
   display: flex;
   flex-flow: nowrap;
   justify-content: flex-start;
   align-items: center;
   top: 0;
   margin: 0;
   z-index: 100;
}

@media all and (min-width: 978px) and (max-width: 1440px) {
   .g3-tfy__find__marker {
      font-size: 1.12vw;
   }
}

@media all and (max-width: 978px) and (min-width:769px) {
   .g3-tfy__find__marker {
      font-size: 11px;
   }
}

.g3-tfy__find__marker__num {
   width: 1.8em;
   height: 1.8em;
   border: solid 2px #000000;
   border-radius: 50%;
   color: rgb(0, 0, 0);
   font-family: "sofia-pro", sans-serif;
   font-size: 1.75em;
   font-weight: 600;
   line-height: 1.5;
   letter-spacing: normal;
   text-align: center;
}

.g3-tfy__find__marker__line {
   margin: 0;
   padding: 0;
   height: 2px;
   /* width: 7.2em;*/
   width: 0;
   background-color: #000000;
}

.g3-tfy__find__marker--l {
   left: 0;
   right: auto;
   margin-left: 4.6em;
}

.g3-tfy__find__marker--r {
   right: 0;
   left: auto;
   margin-right: 4.7em;
}

.g3-tfy__find__marker:nth-child(1) {
   margin-top: 24.3%;
}

.g3-tfy__find__marker:nth-child(2) {
   margin-top: 36.8%;
}

.g3-tfy__find__marker:nth-child(3) {
   margin-top: 40.8%;
}

.g3-tfy__find__marker:nth-child(4) {
   margin-top: 48.7%;
}

.g3-tfy__find__marker:nth-child(5) {
   margin-top: 69.3%;
}

.g3-tfy__find__content__txt {
   position: relative;
   width: 92.5%;
   height: auto;
   margin: 7% auto 0 auto;
   padding: 0 2em 0 2em;
   overflow: hidden;
}

.g3-tfy__find__content__txt__item {
   position: relative;
   margin: 1.6em 0 0 0;
   padding: 0;
   white-space: normal;
   transform: translateY(20%);
}

.g3-tfy__find__content__txt__item br {
   display: none;
}

.g3-tfy__find__anim--1,
.g3-tfy__find__anim--2,
.g3-tfy__find__anim--3,
.g3-tfy__find__anim--4,
.g3-tfy__find__anim--5 {
   opacity: 0;
}

.g3-tfy__find__content__txt__item:first-of-type {
   margin-top: 0;
}

@media (min-width: 768px) {
   .g3-tfy__find {
      padding: 6.6% 0 6.6% 0;
      margin: 5% 0 0 0;
   }

   .g3-tfy__find__inner {
      width: 86%;
   }

   .g3-tfy__find__content {
      display: flex;
      flex-flow: wrap;
      justify-content: space-between;
      align-items: center;
   }

   .g3-tfy__find__content__img {
      margin: 0 auto 0 auto;
      width: 48.387%;
   }

   .g3-tfy__find__marker__num {
      width: 1.8em;
      height: 1.8em;
      font-size: 1.5625em;
   }

   .g3-tfy__find__marker--l {
      margin-left: 1.7em;
   }

   .g3-tfy__find__marker--r {
      margin-right: 1.7em;
   }

   .g3-tfy__find__content__txt {
      width: 51.6%;
      overflow: visible;
      margin: 0 auto 0 auto;
      padding: 0 0 0 2em;
   }

   .g3-tfy__find__content__txt__item {
      white-space: nowrap;
   }

   .g3-tfy__find__content__txt__item br {
      display: block;
   }

   .g3-tfy__find__intro .g3-cta--block {
      margin-top: 2em;
   }
}

.g3-tfy__bot {
   position: relative;
   width: 100%;
   height: auto;
   margin: 0;
   padding: 7.5% 0 13% 0;
   overflow: hidden;
   text-align: center;
}

.g3-tfy__bot .g3-cta--block {
   color: #000000;
   border: solid 1px #000000;
   background-color: transparent;
}

@media (min-width: 768px) {
   .g3-tfy__bot {
      padding: 4% 0 6% 0;
   }
}