:root {
--font-family-main:'Plus Jakarta Sans',sans-serif;
--font-size:2.4rem;
--h1-size:6rem;
--h2-size:6.4rem;
--h3-size:4rem;
--h4-size:2.4rem;
--h5-size:2rem;
--h6-size:1.8rem;
--main-color:red;
--body-bg:#dedede;
--text-color:#262626;
--link-color:#d25238;
--link-hover-color:#d25238
}

*,::before,::after {
box-sizing:border-box
}

html {
font-size:62.5%;
font-size:10px;
scroll-behavior:smooth
}

body {
background:var(--body-bg);
color:var(--text-color);
font-family:var(--font-family-main);
font-feature-settings:normal;
font-size:1.8rem;
font-variation-settings:normal;
font-weight:400;
line-height:1.5;
margin:0;
overflow-x:hidden;
scroll-behavior:smooth;
-webkit-text-size-adjust:100%;
-webkit-tap-highlight-color:transparent
}

@media screen and (prefers-reduced-motion: reduce) {
html,body {
scroll-behavior:auto
}
}

h1,h2,.h2,h3,.h3,h4,h5,h6,p {
margin:0
}

h1 {
font-size:3.6rem;
line-height:1.25
}

h2 {
font-size:3.6rem;
font-weight:300;
margin-bottom:4.6rem;
position:relative;
text-align:center;
text-shadow:0 3px 2px rgba(0,0,0,0.25),0 -2px 3px #fff;
z-index:1
}

h3 {
font-size:2.8rem
}

.h2 {
display:block;
font-size:3.6rem;
font-weight:300;
margin-bottom:4.6rem;
position:relative;
text-align:center;
text-shadow:0 3px 2px rgba(0,0,0,0.25),0 -2px 3px #fff;
z-index:1
}

.h3 {
display:block;
font-size:2.8rem;
font-weight:700;
text-align:start
}

p {
margin-bottom:3rem
}

menu,ol,ul {
list-style:none;
margin:0;
padding-inline-start:0
}

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

a:hover {
color:var(--link-hover-color)
}

button,input,optgroup,select,textarea {
font-family:inherit;
font-size:100%;
font-weight:inherit;
line-height:inherit;
color:inherit;
margin:0;
padding:0
}

button,select {
text-transform:none
}

[type=button],[type=reset],[type=submit],button {
-webkit-appearance:button;
background-color:transparent;
background-image:none
}

:-moz-focusring {
outline:auto
}

:-moz-ui-invalid {
box-shadow:none
}

::-webkit-file-upload-button {
-webkit-appearance:button;
font:inherit
}

textarea {
resize:vertical
}

input::placeholder,textarea::placeholder {
opacity:1;
color:#9ca3af
}

input:focus-visible,textarea:focus-visible {
outline:none;
border-bottom:1px solid #cecece
}

[role=button],button {
cursor:pointer
}

:disabled {
cursor:default
}

audio,canvas,embed,iframe,object,video {
display:block
}

audio,canvas,embed,iframe,img,object,svg,video {
vertical-align:middle
}

img,video {
height:auto;
max-width:100%
}

[hidden],.hidden {
display:none
}

.container {
margin-left:auto;
margin-right:auto;
padding-left:1.4rem;
padding-right:1.4rem;
width:100%
}

.fixed {
position:fixed
}

.relative {
position:relative
}

.flex {
display:flex
}

.grid {
display:grid
}

.w-full {
width:100%
}

.flex-wrap {
flex-wrap:wrap
}

.items-center {
align-items:center
}

.justify-end {
justify-content:flex-end
}

.justify-center {
justify-content:center
}

.justify-between {
justify-content:space-between
}

.overflow-hidden {
overflow:hidden
}

.bg-cover {
background-size:cover
}

.bg-center {
background-position:center
}

.bg-no-repeat {
background-repeat:no-repeat
}

.object-cover {
object-fit:cover
}

.text-center {
text-align:center
}

.font-bold {
font-weight:700
}

.uppercase {
text-transform:uppercase
}

.btn {
background:#fff;
border:none;
border-radius:6px;
box-shadow:0 6px 0 #7ea7c3,0 10px 18px rgba(0,0,0,0.2),0 -6px 20px #fff;
cursor:pointer;
display:inline-block;
font-size:2rem;
font-weight:500;
padding:1rem 3.5rem
}

.btn:hover {
background:#e2e8f0;
box-shadow:0 6px 0 #7ea7c3,0 10px 18px rgba(0,0,0,0.2);
color:var(--text-color)
}

header {
background:#ededed;
z-index:10
}

.header__row {
height:70px;
padding-left:.6rem;
padding-right:.6rem
}

.header__logo img,.header__logo svg {
width:52px
}

.header__logo svg .svg-elem-1 {
fill:transparent;
stroke-dashoffset:168.54px;
stroke-dasharray:168.54px;
-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0s,fill .7s cubic-bezier(0.47,0,0.745,0.715) .8s;
transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0s,fill .7s cubic-bezier(0.47,0,0.745,0.715) .8s
}

.header__logo svg.active .svg-elem-1 {
fill:#fff;
stroke-dashoffset:0
}

.header__logo svg .svg-elem-2 {
fill:transparent;
stroke-dashoffset:334.23px;
stroke-dasharray:334.23px;
-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.12s,fill .7s cubic-bezier(0.47,0,0.745,0.715) .9s;
transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.12s,fill .7s cubic-bezier(0.47,0,0.745,0.715) .9s
}

.header__logo svg.active .svg-elem-2 {
fill:#005289;
stroke-dashoffset:0
}

.header__logo svg .svg-elem-3 {
fill:transparent;
stroke-dashoffset:68.73px;
stroke-dasharray:68.73px;
-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.24s,fill .7s cubic-bezier(0.47,0,0.745,0.715) 1s;
transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.24s,fill .7s cubic-bezier(0.47,0,0.745,0.715) 1s
}

.header__logo svg.active .svg-elem-3 {
fill:#005289;
stroke-dashoffset:0
}

.header__logo svg .svg-elem-4 {
fill:transparent;
stroke-dashoffset:51.28px;
stroke-dasharray:51.28px;
-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.36s,fill .7s cubic-bezier(0.47,0,0.745,0.715) 1.1s;
transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.36s,fill .7s cubic-bezier(0.47,0,0.745,0.715) 1.1s
}

.header__logo svg.active .svg-elem-4 {
fill:#0091e2;
stroke-dashoffset:0
}

.header__logo svg .svg-elem-5 {
fill:transparent;
stroke-dashoffset:74.64px;
stroke-dasharray:74.64px;
-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.48s,fill .7s cubic-bezier(0.47,0,0.745,0.715) 1.2s;
transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.48s,fill .7s cubic-bezier(0.47,0,0.745,0.715) 1.2s
}

.header__logo svg.active .svg-elem-5 {
fill:#0091e2;
stroke-dashoffset:0
}

.header__nav {
background:#ededed;
display:none;
height:calc(100vh - 70px);
left:0;
position:fixed;
right:0;
top:70px;
-webkit-transition:.3s;
-o-transition:.3s;
transition:.3s
}

.header__nav.active {
display:block;
-webkit-transition:.3s;
-o-transition:.3s;
transition:.3s
}

.header__nav ul {
margin-top:2rem
}

.header__nav a {
display:block;
font-size:2.6rem;
font-weight:600;
letter-spacing:.05em;
padding:2rem;
transition-property:color,background-color,box-shadow;
transition-timing-function:cubic-bezier(0.4,0,0.2,1);
transition-duration:.3s
}

.header__nav a.link-active {
background:#fff;
box-shadow:0 0 30px rgba(0,0,0,0.1);
color:var(--link-hover-color)
}

.header__burger {
cursor:pointer;
height:32px;
position:relative;
width:42px
}

.header__burger::before,.header__burger::after {
content:'';
background:#005289;
border-radius:5px;
height:4px;
left:0;
position:absolute;
-webkit-transition:.3s;
-o-transition:.3s;
transition:.3s;
width:100%
}

.header__burger::before {
top:0
}

.header__burger.active::before {
top:14px;
-webkit-transform:rotate(45deg);
-ms-transform:rotate(45deg);
transform:rotate(45deg)
}

.header__burger::after {
bottom:0
}

.header__burger.active::after {
bottom:14px;
-webkit-transform:rotate(-45deg);
-ms-transform:rotate(-45deg);
transform:rotate(-45deg)
}

.header__burger span {
background:#005289;
border-radius:5px;
height:4px;
left:0;
position:absolute;
top:14px;
-webkit-transition:.3s;
-o-transition:.3s;
transition:.3s;
width:100%
}

.header__burger.active span {
-webkit-transform:scale(0);
-ms-transform:scale(0);
transform:scale(0)
}

.main {
padding-top:7rem
}

.main section {
padding-top:3.4rem;
scroll-margin-top:3.6rem
}

section.head {
background-image:url(https://genflix.net/location/new-york/img/main.jpg);
padding-top:3.5rem
}

.head h1 {
color:#000;
letter-spacing:.05em;
margin-bottom:3.9rem
}

.head__description {
margin-bottom:5.6rem
}

.head__description:before {
content:'';
background:rgba(255,255,255,.75);
border-radius:50%;
filter:blur(97px);
height:100%;
left:0;
position:absolute;
top:0;
width:100%
}

.head__description p {
font-weight:600;
margin-bottom:3.8rem;
position:relative
}

.head__description p a {
color:#00678c;
font-weight:700;
text-decoration:underline
}

.head__description p strong {
color:#00678c;
text-decoration:underline
}

.head__btn {
position:relative;
margin-top:1rem
}

.services ul {
margin-left:-1.5rem;
margin-right:-1.5rem
}

.service__1 {
margin-bottom:8.6rem
}

.service__2 {
margin-bottom:.4rem;
margin-bottom:3rem;
text-align:end
}

.service__3 {
margin-bottom:-2rem;
margin-bottom:3rem
}

.service__4 {
margin-bottom:-.5rem;
margin-bottom:11rem;
text-align:end
}

.service__text {
padding-left:1.5rem;
padding-right:1.5rem;
position:relative
}

.service__ti .service__text {
flex:0 0 100%
}

.service__it .service__text {
flex:0 0 100%
}

.service__text::before {
content:'';
background:rgba(255,255,255,.75);
border-radius:50%;
filter:blur(75px);
height:100%;
left:0;
position:absolute;
top:0;
width:100%
}

.service__text > * {
position:relative
}

.service__text h2 {
font-weight:700;
font-size:3.6rem;
letter-spacing:.05em;
line-height:1.25;
margin-bottom:5rem
}

.service__1 h2 {
margin-bottom:3.3rem
}

.service__2 h2 {
margin-bottom:3.4rem
}

.service__3 h2 {
margin-bottom:3.8rem
}

.service__4 h2 {
margin-bottom:3.7rem
}

.service__btn {
box-shadow:0 6px 0 #ce9d98,0 10px 18px rgba(0,0,0,0.2),0 -6px 20px #fff;
display:table;
margin-top:3rem;
margin-left:auto;
margin-right:auto
}

.service__1 .btn {
margin-top:8rem
}

.service__2 .btn {
margin-top:8.2rem
}

.service__3 .btn {
margin-top:6.5rem
}

.service__4 .btn {
margin-top:12.1rem
}

.service__btn:hover {
box-shadow:0 6px 0 #ce9d98,0 10px 18px rgba(0,0,0,0.2)
}

.service__1 .service__img {
margin-top:-70px;
margin-left:-362px;
margin-right:-362px
}

.service__2 .service__img {
margin-top:-87px;
margin-left:-427px;
margin-right:-340px
}

.service__3 .service__img {
margin-top:-81px;
margin-left:-360px;
margin-right:-475px
}

.service__4 .service__img {
margin-top:-46px;
margin-left:-494px;
margin-right:-340px
}

.stack__box {
margin-top:-2.3rem;
margin-bottom:6.4rem
}

.stack__box::before {
content:'';
background:rgba(255,255,255,.75);
border-radius:50%;
filter:blur(97px);
height:583px;
right:20%;
top:-20%;
position:absolute;
width:583px
}

.stack__box li {
margin-bottom:.1rem;
width:96px
}

.stack__box img {
margin-left:auto;
margin-right:auto;
position:relative;
transform:scale(0.65)
}

.why-we {
background:url(https://genflix.net/location/new-york/img/team.webp) no-repeat;
background-size:cover;
padding-bottom:8.3rem;
position:relative
}

.why-we::before {
content:'';
background:rgba(255,255,255,0.75);
bottom:0;
left:0;
position:absolute;
right:0;
top:0
}

.why-we__content {
padding-top:.3rem
}

.why-we__img {
display:none;
filter:drop-shadow(0 0 14px #fff);
flex:0 0 31.3%
}

.why-we__img img {
border-radius:42px;
height:100%
}

.why-we__text {
flex:1
}

.why-we__text .h3 {
letter-spacing:-.011em;
margin-bottom:1.5rem;
position:relative
}

.why-we__text p {
font-size:1.8rem;
font-weight:500;
margin-bottom:3rem;
position:relative
}

.why-we__text p:last-child {
margin-bottom:0
}

.reviews__wrapper {
padding-top:8rem;
padding-bottom:8rem
}

.reviews__top {
margin-bottom:4rem;
padding-right:110px;
position:relative
}

.reviews__top h2 {
font-size:2.6rem;
font-weight:500;
letter-spacing:-.04em;
line-height:1.25;
margin-bottom:1.5rem;
text-align:start;
text-decoration-line:underline;
text-shadow:none
}

.reviews__rating__value {
display:inline-block;
font-size:3.2rem;
letter-spacing:-.05em;
line-height:1.5;
margin-right:1rem
}

.reviews__rating__stars {
display:inline-block;
position:relative
}

.reviews__rating__upper {
display:flex;
left:0;
overflow:hidden;
position:absolute;
top:0;
z-index:1
}

.reviews__rating__upper span {
background:url(/img/star.svg) no-repeat;
height:27px;
margin:0 2px;
min-width:27px;
width:27px
}

.reviews__rating__lower {
display:flex
}

.reviews__rating__lower span {
background:url(/img/star.svg) no-repeat;
height:27px;
margin:0 2px;
min-width:27px;
width:27px
}

.reviews__rating__count {
margin-top:.5rem
}

.reviews__rating__count a {
color:#e62415;
font-size:1.6rem;
letter-spacing:.25em;
line-height:1.5;
text-transform:uppercase
}

.reviews__top__link {
display:flex;
position:absolute;
right:0;
top:.7rem
}

.reviews__item {
background:#ededed;
border-radius:30px;
box-shadow:0 0 25px rgba(0,0,0,0.08);
margin-bottom:3.5rem;
padding:1px 2rem 2.5rem
}

.reviews__item__top {
margin-top:-1.5rem;
text-align:center
}

.reviews__item__img img {
border-radius:50%;
height:110px;
width:110px
}

.reviews__item__author__name {
font-size:2.4rem;
font-weight:500;
line-height:1.5;
margin-top:.5rem;
margin-bottom:.5rem
}

.reviews__item__author__position {
font-size:2rem;
line-height:1.5;
margin-bottom:2.5rem
}

.reviews__item__text {
font-size:2rem;
line-height:1.5;
margin-bottom:2rem
}

.reviews__item__rating {
align-items:center;
display:flex
}

.reviews__item__rating__value {
font-size:2.4rem;
letter-spacing:-.05em;
line-height:1.5;
margin-right:2rem
}

.reviews__item__rating__stars {
position:relative
}

.reviews__bot {
text-align:center
}

.reviews__bot a {
font-size:2rem;
font-weight:500;
line-height:1.25
}

.reviews__bot img {
margin-left:1.8rem;
vertical-align:baseline;
width:91px
}

.promotion {
background-image:url(https://genflix.net/location/new-york/img/promo.webp);
margin-bottom:4.5rem;
padding-bottom:14rem
}

.promotion__desc {
margin-top:-1rem;
padding-right:8%;
width:71%
}

.promotion__desc .h2 {
color:#fff;
font-weight:700;
letter-spacing:.05em;
line-height:1.25;
margin-bottom:2.4rem;
text-align:start;
text-shadow:none
}

.promotion__desc p {
color:#fff;
font-size:2rem;
margin-bottom:3rem
}

.promotion__discount {
background:linear-gradient(180deg,#ffb800 0%,#ff8a00 100%);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
background-clip:text;
text-fill-color:transparent;
font-size:4rem;
font-weight:700;
letter-spacing:.05em;
line-height:1;
margin-right:1.3rem
}

.promotion__discount span {
font-size:2.4rem
}

.promotion__price {
color:#878787;
font-size:2.6rem;
letter-spacing:.05em;
line-height:1;
text-decoration:line-through
}

.promotion__btn {
box-shadow:0 6px 0 #7ea7c3,0 10px 18px rgba(0,0,0,0.2);
left:50%;
margin-top:5.2rem;
position:absolute;
transform:translateX(-50%);
white-space:nowrap
}

.team {
margin-bottom:3.1rem
}

.team__list {
margin-top:-.7rem;
margin-left:-1.5rem;
margin-right:-1.5rem
}

.team__list li {
margin-bottom:3.4rem;
padding-left:1.5rem;
padding-right:1.5rem;
width:195px
}

.team__list img {
border-radius:50%;
width:140px
}

.team__name {
font-weight:700;
letter-spacing:-.011em;
margin-top:2.2rem;
margin-bottom:1rem
}

.team__position {
letter-spacing:-.011em
}

.contact {
background:#6e8cae;
color:#fff;
padding-bottom:6.6rem
}

.mobile-h2 {
font-weight:700;
letter-spacing:.05em;
margin-top:-1.6rem;
margin-bottom:3.1rem;
text-shadow:none
}

.contact__row {
flex-direction:column-reverse
}

.contact__person {
margin-bottom:2.8rem;
width:100%
}

.contact__person img {
border-radius:50%;
width:160px
}

.contact__person__name {
font-weight:700;
letter-spacing:-.011em;
margin-top:2.7rem;
margin-bottom:1.2rem
}

.contact__person__position {
color:#acd7ff;
letter-spacing:-.011em
}

.contact__form {
flex:0 0 100%
}

.contact__form h2 {
display:none;
font-weight:700;
letter-spacing:.05em;
margin-bottom:3rem;
text-align:start;
text-shadow:none
}

.contact__form p {
margin-bottom:3.1rem
}

.contact__form p a {
color:#acd7ff;
font-weight:500
}

.contact__form p a:hover {
color:#fff;
text-decoration:underline
}

.contact__form__row {
margin-left:-1.5rem;
margin-right:-1.5rem
}

.contact__form__input {
padding-bottom:3.1rem;
padding-left:1.5rem;
padding-right:1.5rem;
position:relative;
width:100%
}

.contact__form__input > * {
width:100%
}

.contact__form__input input,.contact__form__input textarea {
background:transparent;
border:none;
border-bottom:1px dotted #fff;
line-height:3rem;
padding:5px 0
}

.contact__form__input input::placeholder,.contact__form__input textarea::placeholder {
color:#fff
}

.contact__form__error {
bottom:0;
color:red;
font-size:1.6rem;
left:1.5rem;
position:absolute;
width:100%
}

.contact__form__row .terms,.contact__form__required {
font-size:1.6rem;
letter-spacing:-.011em
}

.contact__form__row .terms input {
height:23px;
margin-right:1.5rem;
vertical-align:middle;
width:53px
}

.contact__form__required {
margin-bottom:3rem;
padding-left:1.5rem;
padding-right:1.5rem;
width:100%
}

.contact__form__success {
color:#0f0;
display:none;
font-size:1.6rem;
margin-bottom:1.5rem;
padding-left:1.5rem;
padding-right:1.5rem;
width:100%
}

.contact__form__res__error {
color:red;
display:none;
font-size:1.6rem;
margin-bottom:1.5rem;
padding-left:1.5rem;
padding-right:1.5rem;
width:100%
}

.contact__form__success.active,.contact__form__res__error.active {
display:block
}

.contact__btn {
box-shadow:0 6px 0 #7ea7c3,0 10px 18px rgba(0,0,0,0.2);
color:var(--text-color);
margin:1.3rem auto 0;
width:212px
}

.footer {
background:#466282
}

.footer__row {
flex-wrap:wrap;
padding:2rem 0 .8rem
}

.footer__row > div {
margin-bottom:1.1rem;
padding-left:1.5rem;
padding-right:1.5rem;
text-align:center;
width:100%
}

.footer__row a {
color:#fff;
font-size:2rem;
letter-spacing:-.011em
}

.footer__row a:hover {
color:var(--link-hover-color)
}

.footer__img img {
width:146px
}

@media (max-width: 639px) {
.contact__person__name,.contact__form p,.contact__form__input input,.contact__form__input textarea {
font-size:2rem
}

.contact__form__input.terms {
padding-bottom:4rem
}

.contact__btn {
font-size:2.4rem
}
}