* {
    padding: 0px;
    margin: 0px;
    border: 0px;
    -webkit-tap-highlight-color: transparent;
}

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

body{
	overflow-x: hidden;
}

:focus, :active {
    outline: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
a {
    cursor: pointer;
}
a:hover {
    color: #DD4242;
}
a:focus, a:active {
    outline: none;
}

aside, nav, footer, header, section {
    display: block;
}

section {
    padding: 80px 0px;
}

html, body {
    height: 100%;
}

body {
    line-height: 1;
    font-family: "SFUIDisplay";
    font-size: 16px;
    min-height: 100vh;
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

input, button, textarea {
    font-family: "SFUIDisplay";
}

textarea {
    resize: none;
    outline: none;
    border: none;
    overflow: auto;
    -webkit-appearance: none;
    border-radius: 0;
    background: none;
}

input {
    outline: none;
    border: none;
    border-radius: 0;
    background: none;
}

input[type='number'] {
    -moz-appearance: textfield;
}

input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

input[type="submit"] {
    cursor: pointer;
    -webkit-appearance: none;
}

input[type="search"]::-webkit-search-cancel-button {
    background: none;
    display: none;
}

.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
    background-color: #DD4242;
}

input::-ms-clear {
    display: none;
}

button {
    cursor: pointer;
}

button::-moz-focus-inner {
    padding: 0;
    border: 0;
}

a, a:visited {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

ul li {
    list-style: none;
}

img {
    vertical-align: top;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: inherit;
    font-size: inherit;
}

*::placeholder, .select2-selection__placeholder {
    font-weight: 400;
    font-size: 1.1em;
    color: rgba(0, 0, 0, 0.5);
}

input:not([type="checkbox"]), textarea, select {
    border-bottom: 1px solid #8d8d8d;
    padding: 10px;
    width: 100%;
    resize: none;
    font-size: 1.1em;
    background: transparent;
    margin-bottom: 25px;
}

.select2-container--default .select2-selection--multiple, .select2-container--default .select2-selection--single {
    border: 1px solid #DDDDDD;
}
.select2-container .select2-selection--single, .select2-selection__choice {
    height: auto;
	background: none;
    border: none;
    border-bottom: 1px solid #8d8d8d;
    border-radius: 0;
	margin-bottom: 25px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 7px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #DD4242;
    border: 0;
    color: #fff;
}

.select-tecnologies .select2-selection--multiple {
    padding: 10px;
    font-size: 1.1em;
}

.select-tecnologies .select2-container .select2-search--inline .select2-search__field {
    margin-top: 0;
}

.select2-selection__choice__remove {
    color: #fff !important;
}

.select2-container .select2-selection--multiple {
    min-height: auto !important;
}

.select2-selection__rendered {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    min-height: 100%;
    height: auto;
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, select:focus, select:active {
    border: 1px solid black !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    font-size: 1.1em;
    padding: 10px;
    color: #797979;
}

.select2-container--def .select2-selection--multiple .select2-selection__choice {
    margin-top: 0;
}

.wpcf7-response-output {
    margin-top: 15px;
}

input:focus, textarea:focus {
    border-bottom: 1px solid #000000;
    opacity: 1;
}

select {
    -webkit-appearance: none;
    background-color: transparent;
    background-color: transparent;
    color: rgba(0, 0, 0, 0.5);
}

select *, select~span {
    width: 100% !important;
}

select~span * {
    height: 100%;
}

form button[type="submit"], form input[type="submit"] {
    background: #262424;
    border-radius: 29px;
    font-size: 0.8em;
    font-weight: 700;
    padding: 20px 90px;
    margin-top: 25px;
    color: #fff;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

form button[type="submit"]:hover, form input[type="submit"]:hover {
    opacity: 0.7;
}

.screen-reader-response {
    display: none;
}

.container {
    width: 100%;
    max-width: 1155px;
    padding: 0 15px;
    margin: 0 auto;
}
nav a{
	    font-family: "SFUIDisplayL";
}
h1 {
    font-family: "SFUIDisplayB";
    font-weight: 700;
    font-size: 4.5em;
    color: #fff;
}

p {
    font-family: "SFUIDisplay";
    font-weight: 400;
    font-size: 1em;
    color: #262424;
}

h2 {
    font-family: "SFUIDisplayB";
    font-size: 3em;
    font-weight: 700;
}

h3 {
    font-family: "SFUIDisplayB";
    font-size: 1.25em;
    font-weight: 700;
}

nav>ul>li>a {
    font-size: 1.1em;
    font-weight: 300;
}

.subtitle {
    position: relative;
    color: #000;
    font-size: 1.1em;
    font-weight: 700;
    padding-left: 55px;
}

.subtitle::before {
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
    content: "";
    width: 38px;
    height: 2px;
    background-color: #000;
}

.subtitle__red {
    color: #DD4242;
    padding-left: 40px;
}

.button-hover-effect {
    background: linear-gradient(to right, #DD4242 50%, transparent 50%);
    background-size: 200% 100%;
    background-position: right bottom;
    transition: background-position .1s ease-out, color .2s ease-out;
}

.button-hover-effect__black {
    background: linear-gradient(to right, #000 50%, transparent 50%);
    background-size: 200% 100%;
    background-position: right bottom;
    transition: background-position .1s ease-out, color .2s ease-out;
}

.button-hover-effect:hover, .button-hover-effect__black:hover {
    background-position: left bottom;
    color: #fff !important;
}

.subtitle__red::before {
    background-color: #DD4242;
    width: 23px;
}

.additional-dot {
    position: relative;
    max-width: 510px;
}

.additional-dot::after {
    content: "";
    background: #DD4242;
    width: 15px;
    height: 15px;
    display: inline-block;
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    transform: translate(10px, -100%);
}

.additional-dot__smaller::after {
    width: 10px;
    height: 10px;
}

.intro {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
    margin-top: 120px;
}

.intro-info {
    width: 45%;
    min-width: 250px;
    z-index: 1;
}

.intro-info>h1 {
    margin: 19px 0px 60px 0px;
}

.intro-info .subtitle {
    text-transform: uppercase;
    font-size: 1em;
    letter-spacing: 5.3px;
    font-weight: 600;
}

.intro-info>p {
    font-size: 1.1em;
    line-height: 2.1em;
    color: #fff;
	    opacity: 0.6;
    margin-bottom: 70px;
}

.intro-info>a {
    display: block;
    max-width: 270px;
    min-width: 200px;
    width: 100%;
    font-size: 1.1em;
    font-weight: 600;
    letter-spacing: 0.45px;
    color: #fff;
    border: 2px solid #DD4242;
    border-radius: 0px 0px 0px 13px;
    padding: 20px 30px;
    text-align: center;
    margin-bottom: 40px;
}

.intro-lamp {
    position: absolute;
    z-index: 0;
    right: 0;
    width: 60%;
    height: 700px;
}

#loader {
    position: relative;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

rect {
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
}

.blobs {
    -webkit-filter: url("#goo");
    filter: url("#goo");
}

.blob {
    fill: white;
}

.service-section {
    background-color: #FDFDFD;
}

.services>h2 {
    margin: 9px 0px 20px 0px;
}

.services>p {
    font-size: 1.1em;
    line-height: 1.1;
    color: #14171F;
}

.service-items {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    margin-top: 80px;
}

.service-items>li {
    width: 32%;
    margin-bottom: 1.5%;
}

.service-items>li>a>article {
    position: relative;
    padding: 30px 20px 30px 35px;
    background: #FFFFFF;
    border: 1px solid #D7D7D7;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    cursor: pointer;
    height: 100%;
}

.service-content>h3 {
    font-size: 1.5em;
    color: #14171F;
}

.service-content>p {
    font-size: 0.9em;
    line-height: 1.5em;
    margin-top: 20px;
    color: #14171F;
    opacity: 0.6;
}

.service-more {
    position: absolute;
    border: 1px solid #A7A7A7;
    color: #A7A7A7;
    border-radius: 50%;
    background: transparent;
    width: 40px;
    height: 40px;
    bottom: 0;
    right: 0;
    transform: translate(-20%, -15%);
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.service-more>i {
    position: absolute;
    top: 50%;
    right: 50%;
    transform: translate(50%, -50%);
}

.service-items>li>a:hover article, .service-items>li>a:hover .service-more {
    border-color: #000000;
    color: #fff;
}

.service-items>li>a:hover .service-more {
    background-color: #dd4242;
    border-color: #dd4242;
}

.all-services {
    text-align: center;
    margin-top: 30px;
}

.all-services>a {
    background-color: #262424;
    border-radius: 29px;
    padding: 15px 70px;
    color: #fff;
    font-size: 1em;
    font-weight: 700;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.all-services>a:hover {
    opacity: 0.7;
}

.about-section {
    background-image: url(../img/about_bg.png);
    background-size: cover;
    background-color: #000;
}

.about-us {
    display: flex;
    flex-direction: row;
    margin-top: 15px;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
}

.about-title {
    flex-basis: 30%;
    min-width: 200px;
    margin-right: 50px;
}

.about-description {
    flex-basis: 60%;
}

.about-title>h2 {
    color: #fff;
}

.about-description>p {
    color: #fff;
    opacity: 0.5;
    font-size: 1.25em;
    line-height: 1.8;
    margin-bottom: 15px;
}

.about-description>a {
	display: none;
    font-weight: 700;
    font-size: 1.25em;
    text-decoration-line: underline;
    color: #FFFFFF;
}

.about-description>a>span {
    color: #8A8B8F;
    margin-left: 10px;
}

.about-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 80px;
    padding-top: 80px;
    border-top: 2px solid #282828;
}

.about-info>li {
    width: 30%;
    min-width: 200px;
    text-align: center;
}

.about-info>li>article {
    display: flex;
    flex-direction: column-reverse;
}

.about-info header {
    width: 60%;
    margin: 0 auto;
}

.about-info header p {
    width: 100%;
    min-width: 150px;
    margin: 0 auto;
    margin-bottom: 25px;
    color: #fff;
    opacity: 0.5;
    font-size: 0.8em;
    font-weight: 500;
    padding: 10px 20px;
    border: 1px solid #464646;
    border-radius: 3px;
    text-transform: uppercase;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.about-service-content {
    position: relative;
    overflow: hidden;
    background: #000000;
    border-radius: 10px;
    border: 1px solid transparent;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.about-service-wrapper {
    padding: 50px 29px;
    background: #000000;
    border-radius: 10px;
    border: 1px solid #625E5E;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.about-service-icon {
    width: 30%;
    min-width: 100px;
    margin: 0 auto 50px auto;
    text-align: center;
    border: 2px solid #5C5959;
    border-radius: 50%;
    padding: 27px 10px;
	min-height: 100px;
}
.about-service-icon svg path{
	fill: #625E5E;
}
.about-service-icon>svg {
    width: 50%;
}

.about-service-icon>svg path {
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.about-service-wrapper>h3 {
    position: relative;
    font-size: 1.3em;
    font-weight: 600;
    color: #fff;
    text-align: center;
    padding-bottom: 20px;
}

.about-service-wrapper>h3::after {
    position: absolute;
    display: block;
    content: "";
    width: 45px;
    height: 1px;
    background: #D8D8D8;
    bottom: 0;
    right: 50%;
    transform: translate(50%, 0);
}

.about-service-wrapper>p {
    color: #fff;
    opacity: 0.5;
    font-size: 0.8em;
    line-height: 1.6;
    margin-top: 25px;
}

.about-info>li .about-service-content:hover+header>p {
    opacity: 1;
    border: 1px solid #DD4242;
}

.about-service-content:hover .about-service-icon>svg path {
    fill: #DD4242;
}

.about-service-content:hover .about-service-wrapper {
    background: #fff;
    border: 1px solid #fff;
}

.about-service-content:hover .about-service-wrapper>h3 {
    color: #000;
}

.about-service-content:hover .about-service-wrapper p {
    color: #1F1D1D;
}

.about-service-content::after {
    content: "";
    width: 100%;
    height: 30px;
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    background-color: transparent;
    border-radius: 0px 0px 10px 10px;
    transform: rotate(-5deg) translate(0, 20px);
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.about-service-content:hover::after {
    background-color: #DD4242;
}

.portfolio-section {
    padding: 0;
}

.portfolio-section>header {
    background: url("../img/portfolio-bg.png") no-repeat left #F2F2F2;
    padding: 80px 0;
}

.header_light {
    border-bottom: 1px solid #7C7C7C;
}

.header_light .menu {
    padding: 25px 0;
}

.header_light a {
    color: #464646 !important;
}

.portfolio-section>header h2 {
    margin-top: 20px;
    margin-bottom: 20px;
}

.portfolio-section>header p {
    font-size: 1.1em;
}

.portfolio-items {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.portfolio-items>li {
    width: 50%;
    min-width: 250px;
    background: linear-gradient(225deg, #F5515F 0%, #9F041B 100%);
}

.portfolio-items>li:nth-child(4n+2), .portfolio-items>li:nth-child(4n+3) {
    width: 50%;
    background: linear-gradient(134.72deg, #3023AE 0%, #C86DD7 101.5%);
}

.portfolio-item {
    position: relative;
    width: 100%;
}

.portfolio-item::before {
    display: block;
    content: "";
    padding-top: 50%;
    max-height: 550px;
}

.portfolio-content, .portfolio-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.portfolio-overlay:hover {
    background-color: rgba(255, 255, 255, 0.3);
}

.portfolio-content>* {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.portfolio-content>img {
    width: 50%;
}

.contact-section {
    background-color: #fff;
}

.contact-section h2 {
	text-align: center;
    margin-bottom: 50px;
}

.contact-form {
    width: 500px;
    margin: 0 auto;
    box-shadow: black 0px 0px 30px -15px;
    padding: 45px 30px;
}

.contact-form>div {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
}

.contact-form .form-comments {
    width: 100%;
}

.contact-form>div * {
    width: 100%;
}

.contact-name-containter {
    display: flex;
    flex-direction: column;
}

.contact-name-containter>label>span {
    font-size: 0.8em;
    color: #000;
    opacity: 0.5;
}

.contact-file input {
    display: none;
}

.contact-file {
    margin-bottom: 25px;
}

span.wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required.required input {
    margin-right: 10px;
}

span.wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required.required a {
    color: #000;
    padding-bottom: 5px;
    border-bottom: 2px solid #DD4242;
}

.contact-file>label {
    display: flex;
    padding: 6px 25px;
    font-size: 1.1em;
    text-align: center;
    cursor: pointer;
    color: #000000;
    opacity: 0.5;
    height: 100%;
    justify-content: center;
    width: 100%;
    padding-left: 5px;
}

.contact-file>label i {
    font-size: 30px;
    margin-right: 10px;
    color: #DD4242;
}

.contact-file>label {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.contact-file>label span {
    width: auto;
}

.contact-file>label span * {
    width: max-content;
}

.contact-file>.uploaded {
    color: #000;
    opacity: 0.5;
}

.contact-file label:hover {
    color: #000;
    opacity: 1;
}

.contact-form textarea {
    margin-top: 10px;
}

footer {
    background-color: #fff;
}

.main-footer {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    padding-top: 51px;
    padding-bottom: 50px;
}
body.form-page footer{
	border-top: none;	
}
footer{
	border-top: 1px solid #D8D8D8;
}
footer .container.main_footer {
    border-bottom: 1px solid #D8D8D8;
}

footer .container.bottom_footer .footer_vert_line {
    height: 15px;
    width: 1px;
    background: rgb(99, 99, 99);
    margin: 10px 10px;
}

footer .container.bottom_footer .row {
    display: flex;
    align-items: center;
    justify-content: center;
}

footer .logo {
    display: block;
    max-width: 200px;
}

footer .container.bottom_footer * {
    font-size: 1em;
    color: #777;
    font-weight: 400;
    font-style: normal;
}

footer .container.bottom_footer a:hover {
    color: #dd4242;
}

.footer__dark {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    padding-top: 51px;
    padding-bottom: 50px;
    background-color: #000;
}

.footer__dark .main-footer {
    border: none;
}

.main-footer h3 {
    font-size: 1.1em;
}

.footer-links {
    flex: 1 1 200px;
}

.footer-links>a {
    color: #262424;
}

.footer-links>a>p {
    font-size: 1.75em;
    font-weight: 700;
    margin-bottom: 5px;
}

.footer-links>a>span {
    font-size: 1.2em;
    font-weight: 500;
    letter-spacing: 4px;
}

.footer__dark .footer-links>a, .footer__dark .footer-links>a>p {
    color: #fff;
}

.social>ul {
    display: flex;
    justify-content: start;
    align-items: center;
    margin-top: 25px;
}

.social>ul>li {
    width: 45px;
    height: 45px;
    margin-right: 10px;
    background: #D8D8D8;
    border-radius: 50%;
    cursor: pointer;
    position: relative;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.footer__dark .social>ul>li {
    background-color: #fff;
}

.social svg {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    fill: #000;
    opacity: 0.5;
}

.social>ul>li:hover {
    background-color: #262424;
}

.footer__dark .social>ul>li:hover {
    background-color: #4A8BED;
}

.social>ul>li:hover svg {
    fill: #fff;
    opacity: 1;
}

.contacts {
    flex: 1 1 200px;
    justify-self: flex-end;
}

.footer-menu {
    flex: 1 1 200px;
}

.footer-menu h3 {
    font-size: 1em;
    text-transform: uppercase;
}

.footer__dark .main-footer h3 {
    color: #fff;
}

.footer-menu>nav>ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding-top: 10px;
}

.footer-menu>nav>ul>li {
    width: 49%;
    margin-top: 10px;
}

.footer-menu>nav>ul>li a {
    color: #000;
    opacity: 0.5;
    font-size: 1em;
    font-weight: 400;
}

.footer__dark .footer-menu>nav>ul>li span {
    color: #fff;
}

.footer-menu>nav>ul>li span:hover {
    opacity: 1;
}

.contacts>address {
    padding-top: 25px;
}

.contacts>address * {
    font-size: 1em;
    color: #777;
    font-weight: 400;
    font-style: normal;
}

.contacts>address>p {
    font-weight: 700;
    margin-bottom: 10px;
}

.footer__dark .contacts>address>p {
    color: #fff;
}

.contacts>address span a:hover {
    color: #000;
}

.footer__dark .contacts>address span a:hover {
    color: #fff;
}

.popup-container {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
}

.popup-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.3);
    opacity: 0;
}

.popup-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50%;
    min-width: 280px;
    max-width: 400px;
    min-height: 300px;
    background: #fff;
    border-radius: 10px;
    text-align: center;
    opacity: 0;
}

.popup-info {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 300px;
}

.popup-info h3 {
    margin-bottom: 20px;
}

.popup-info>button {
    margin-top: 10px;
}

.popup-close {
    position: absolute;
    top: 10px;
    right: 10px;
    display: block;
    position: absolute;
    width: 22px;
    height: 22px;
    cursor: pointer;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.popup-close:hover {
    opacity: 0.7;
}

.popup-close>span, .popup-close>span::after {
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(-2px, 12px) rotate(45deg);
    display: block;
    position: absolute;
    width: 22px;
    height: 2px;
    background-color: #000;
}

.popup-close>span::after {
    content: "";
    transform: translate(0px, 0) rotate(270deg);
}

.popup-info>button {
    background-color: #262424;
    border-radius: 29px;
    padding: 8px 70px;
    color: #fff;
    font-size: 1em;
    font-weight: 700;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.popup-info>button:hover {
    opacity: 0.7;
}

/* form page  */

.form-page-header>h1 {
    font-size: 3em;
    color: #000;
    margin-top: 10px;
}

.form-page-header>h1>span {
    color: #DD4242;
}

.form-page-header>p {
    margin-top: 15px;
    color: #989898;
    letter-spacing: 4px;
}

.dev-form {
    padding-top: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid #D6D6D6;
}
.dev-form .contact-file label span{
	display: flex;
	color: rgb(0,0,0);
	font-size: 1em;
}
.dev-form .contact-file label {
    position: relative;
    left: 0;
    top: 40px;
    transform: translate(0, -100%);
}
.dev-form .contact-file{
	padding-left: 13.5px;
	margin-top: 8px;
	border: none !important;
	border-radius: 0 !important;
	border-bottom: 1px solid #8d8d8d !important;
}
.dev-form h3 {
    font-size: 1.75em;
    margin-bottom: 40px;
}

.select-country {
    width: 49%;
    display: block;
}

.dev-form-flex {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
}

.dev-form-flex>div {
/*    display: flex;*/
    width: 49%;
    margin-bottom: 30px;
    position: relative;
}
.dev-form-flex>div p {
    text-align: center;
	color: rgba(0, 0, 0, 0.5);
}
.dev-since input{
	color: rgba(0, 0, 0, 0.5);
}
.dev-form-flex>*>* {
    width: 100% !important;
}
.dev-form span.wpcf7-form-control-wrap.country_get_in_touch span.select2-selection.select2-selection--single{
	margin-top: 22px;
}
.dev-form label {
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(0, -100%);
}

.dev-form label>span {
    font-size: 0.8em;
    color: rgba(0, 0, 0, 0.5);
    margin-bottom: 5px;
    display: block;
}

.dev-form-select {
    width: 50%;
    position: relative;
}

.dev-form-select::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(-13px, -60%) rotate(135deg);
    width: 10px;
    height: 10px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    pointer-events: none;
    box-shadow: 1px -2px 2px rgba(0, 0, 0, 0.25);
    opacity: 0.7;
}
.wpcf7-not-valid-tip {
    position: absolute;
    left: 65px;
    font-size: 12px;
    margin-top: 45px;
    color: red;
	opacity: 0.5;
}
.wpcf7-not-valid-tip {
   /* display: none;*/
}

.select-country {
    position: relative;
}

.wpcf7-form label.error {
    top: auto;
    bottom: 0;
    transform: translate(0, 120%);
    color: #DD4242 !important;
    font-size: 0.8em;
}

input.error {
    border-bottom: 1px solid #DD4242 !important;
}

/* single product page  */

.single-product {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.product-picture {
    width: 30%;
    min-width: 200px;
}

.product-content {
    width: 100%;
}

.product-picture-wrapper {
    position: relative;
}

.product-picture-wrapper::after {
    content: "";
    display: block;
    padding-top: 150%;
}

.product-picture-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.product-picture-content img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-info {
    display: flex;
    flex-direction: column;
    width: 65%;
}

.product-info>nav>ul {
    display: flex;
    flex-wrap: wrap;
}

.product-info>nav>ul>li span {
    color: #BFBFBF;
}

.product-info>nav>ul>li:not(:last-child) {
    position: relative;
    padding-right: 5px;
    margin-right: 14px;
}

.product-info>nav>ul>li:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    width: 7px;
    height: 2px;
    background-color: #BFBFBF;
    right: 0;
    top: 50%;
    transform: translate(100%, 50%);
}

.product-info>nav>ul>li>a :hover {
    color: #14171F;
}

.product-info>nav>ul>li>span {
    font-size: 1.1em;
    font-weight: 700;
    color: #14171F;
}

.product-info h1 {
    position: relative;
    font-style: normal;
    font-weight: bold;
    color: #14171F;
    font-size: 2.4em;
    margin-top: 20px;
}

.woocommerce-product-details__short-description {
    position: relative;
    padding-top: 30px;
    margin-top: 30px;
}

.woocommerce-product-details__short-description>p {
    color: #989898;
    font-size: 1em;
    font-weight: 400;
    letter-spacing: 1px;
    margin-bottom: 20px;
    line-height: 32px;
}

.woocommerce-product-details__short-description::before {
    content: "";
    position: absolute;
    display: block;
    width: 82px;
    height: 1px;
    background-color: #AAAAAA;
    top: 0;
    left: 0;
}

.variations label, .variations .reset_variations, .woocommerce-variation-description {
    display: none !important;
}

.variations {
    display: block;
    width: 100%;
}

.variations>tbody {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.variations>tbody>tr {
    width: 48%;
    margin-bottom: 10px;
}

.variations td.value {
    display: block;
    width: 100%;
}

.single_variation_wrap {
    display: flex;
    align-items: center;
    margin-top: 30px;
}

.variations_form button[type="submit"], .cart button[type="submit"] {
    margin-top: 0px;
    padding: 15px 70px;
    text-transform: uppercase;
    text-transform: uppercase;
}

.woocommerce-variation.single_variation, .single_variation_wrap>.woocommerce-Price-amount {
    padding-right: 30px;
}

.price {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
}

.price>.woocommerce-Price-amount, .price>ins .woocommerce-Price-amount, .single_variation_wrap>.woocommerce-Price-amount {
    font-style: normal;
    font-weight: bold;
    font-size: 2.1em;
    color: #000000;
}

.price ins {
    text-decoration: none;
}

.price del {
    color: #AEAEAE;
}

.price del {
    font-style: normal;
    font-weight: normal;
    color: #AEAEAE;
    margin-left: 10px;
}

.tabs.wc-tabs {
    display: flex;
    flex-wrap: nowrap;
    margin-top: 60px;
    border-bottom: 1px solid #D6D6D6;
}

.tabs.wc-tabs>li a {
    display: block;
    color: #A9A9A9;
    font-style: normal;
    font-weight: normal;
    font-size: 1.25em;
    padding: 16px;
}

.tabs.wc-tabs>li:not(:last-child) {
    margin-right: 30px;
}

.tabs.wc-tabs>li.active a {
    font-weight: bold;
    color: #000000;
}

.tabs.wc-tabs>li.active {
    border-bottom: 4px solid #000;
}

.woocommerce-Tabs-panel {
    padding: 54px 0px;
}

.woocommerce-Tabs-panel h2 {
    font-size: 1.7em;
    margin-bottom: 30px;
}

.woocommerce-Tabs-panel--description p {
    font-style: normal;
    font-weight: normal;
    font-size: 1.1em;
    line-height: 31px;
    color: #7C7C7C;
    opacity: 0.5;
}

.comment-form>* {
    margin-top: 10px;
}

.comment-form label, .checkout.woocommerce-checkout label {
    font-size: 0.8em;
    color: rgba(0, 0, 0, 0.5);
    margin-bottom: 5px;
}

.comment-form input[type='submit'] {
    margin-top: 10px;
}

.woocommerce-noreviews {
    font-size: 1.3em;
}

.comment-form-rating .stars, .comment-notes {
    display: none;
}

.comment-respond {
    margin-top: 30px;
}

.comment_container {
    display: flex;
    justify-content: flex-start;
    padding: 20px;
    border: 1px solid;
    align-items: flex-start;
}

.comment-text {
    width: 100%;
    margin-left: 15px;
}

.comment-text .meta {
    font-size: 0.8em;
}

.comment-text .description {
    font-size: 1.2em;
    margin-top: 10px;
}

.comment_container .comment-text .rating {
    display: inline;
    font-size: 1em;
    color: #E44C4F;
}

.rating {
    display: flex;
    position: relative;
    font-size: 50px;
}

.rating label {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    cursor: pointer;
}

.rating label:last-child {
    position: static;
}

.rating label:nth-child(1) {
    z-index: 5;
}

.rating label:nth-child(2) {
    z-index: 4;
}

.rating label:nth-child(3) {
    z-index: 3;
}

.rating label:nth-child(4) {
    z-index: 2;
}

.rating label:nth-child(5) {
    z-index: 1;
}

.rating label input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

.rating label .icon {
    float: left;
    color: transparent;
}

.rating label:last-child .icon {
    color: #000;
}

.rating:not(:hover) label input:checked~.icon, .rating:hover label:hover input~.icon {
    color: #DD4242;
}

.rating label input:focus:not(:checked)~.icon:last-child {
    color: #000;
    text-shadow: 0 0 5px #DD4242;
}

.woocommerce-cart-form__cart-item .product-name a {
    color: #000;
    font-size: 1.1em;
}

.woocommerce-cart-form__cart-item .product-name a:hover {
    opacity: 0.7;
}

.woocommerce a.button.alt {
    background-color: #DD4242;
}

.woocommerce a.button.alt:hover {
    background-color: #DD4242;
    opacity: 0.7;
}

.coupon input {
    width: 140px !important;
    padding: .618em 1em;
    font-size: 0.9em;
}

.coupon button[type='submit'] {
    padding: .618em 1em !important;
    font-size: 1em;
}

/*  SHOP PAGE   */

.shop-page h1 {
    color: #000;
    margin-bottom: 40px;
}

.woocommerce-ordering {
    margin-bottom: 30px;
}

.products {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}

.products li {
    position: relative;
    width: 49%;
}

.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
    display: flex;
    flex-wrap: wrap;
}

.woocommerce-LoopProduct-link:hover, .woocommerce-loop-product__link:hover {
    opacity: 0.7;
}

.products li img {
    width: 100%;
    object-fit: cover;
}

.onsale {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(10px, 10px);
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.1em;
}

.woocommerce-loop-product__title {
    font-size: 1.4em;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #000;
    width: 58%;
}

.woocommerce-LoopProduct-link.woocommerce-loop-product__link .price {
    width: 40%;
    font-size: 0.8em;
}

.product_type_variable.add_to_cart_button {
    width: 100%;
    max-width: 200px;
    display: block;
    text-align: center;
    padding: 10px;
    background-color: black;
    border-radius: 5px;
    color: #fff;
    margin: 20px auto 20px auto;
}

.product_type_simple.add_to_cart_button.ajax_add_to_cart {
    width: 100%;
    max-width: 200px;
    display: block;
    text-align: center;
    padding: 10px;
    background-color: #DD4242;
    border-radius: 5px;
    color: #fff;
    margin: 20px auto 20px auto;
}

.product_type_variable.add_to_cart_button:hover, .product_type_simple.add_to_cart_button.ajax_add_to_cart:hover {
    opacity: 0.7;
}

.headerBox_1460 {
    background: black !important;
}

.label_224a {
    background: black !important;
    border: 2px solid #DD4242;
    border-bottom: 0;
    border-radius: 0 23px 0 0;
}

.copy_f85c, .leafCont_e789, .leaf_4643, .chatCopyright_cc85.__chat_ad75 {
    display: none !important;
}

.contentWrapper_5017 {
    border: 3px solid #DD4242;
    border-bottom: 0;
    border-radius: 5px 36px 0 0;
}

body .contentWrapper_5017 .main_de84 {
    border-top-right-radius: 60px !important;
}

#subscription .container-fluid {
    padding: 0 !important;
}

.why-wp h2 {
    text-align: center
}

.why-wp__description {
    text-align: center;
    font-size: 18px;
    line-height: 29px
}

.why-wp__reasons, .why-wp__reasons>div {
    border-color: #D8D8D8;
    border-style: solid
}

.why-wp__reasons {
    display: flex;
    flex-wrap: wrap;
    margin-top: 50px;
    border-width: 1px 0 0 1px
}

.why-wp__item {
    cursor: pointer;
    position: relative;
    width: 25%;
    border-width: 0 1px 1px 0;
    padding: 33px;
    transition: background-color .2s linear
}

@media (max-width: 960px) {
    .why-wp__item {
        width: 50%
    }
}

@media (max-width: 640px) {
    .why-wp__item {
        width: 100%
    }
}

.why-wp__item::after, .why-wp__item::before {
    content: '';
    height: 25px;
    transition: transform .2s linear;
    transform: scaleY(0);
    position: absolute;
    z-index: 1;
    left: 0;
    width: 100%
}

.why-wp__item::before {
    top: -24px;
    transform-origin: 0 100%
}

.why-wp__item::after {
    bottom: -24px;
    transform-origin: 100% 0
}

.why-wp__item:hover {
    background: #DD4242
}

.why-wp__item:hover * {
    color: white
}

.why-wp__item:hover::after, .why-wp__item:hover::before {
    transform: scaleY(1);
    background: #DD4242
}

.why-wp__item .counter {
    opacity: .5;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 1px
}

.why-wp__item .amount {
    margin-top: 10px;
    font-weight: bold;
    font-size: 42px;
    line-height: 51px
}

.why-wp__item .amount:after {
    content: '';
    width: 30px;
    height: 2px;
    background-color: #D8D8D8;
    display: block;
    margin: 16px 0
}

.why-wp__item .description {
    opacity: .5;
    font-size: 18px;
    line-height: 32px
}

#blog h1 {
    color: #000;
    font-size: 48px;
    margin-bottom: 40px;
}

#blog .col-md-5 h2 {
    margin-left: 15px;
}

#blog h2 {
    color: #000;
    font-size: 22px;
    padding-left: 16px;
    border-left: 2px solid;
}

.top-menu {
    max-width: 500px;
    margin-left: auto;
}

.bottom_posts *, .top_posts .col-md-7 * {
    margin-bottom: 15px;
}

.bottom_posts img, .top_posts .col-md-7 img {
    margin-top: 15px;
    height: 350px;
    width: 100%;
    width: inherit;
    margin-bottom: 32px;
}

.bottom_posts p, .top_posts .col-md-7 p {
    font-size: 15px;
    color: #989898;
}

.post_date {
    color: rgba(0, 0, 0, 0.5);
}

.post_title {
    font-size: 28px;
    color: #14171F;
}

.top_posts {
    margin-bottom: 20px;
}

.featured {
    margin-top: 15px;
}

.featured img {
    width: 100%;
    max-height: 170px;
}

.featured .col-md-5 {
    padding-left: 0 !important;
}

.featured h3 {
    font-size: 22px !important;
    margin-top: 10px;
    margin-bottom: 15px;
}

.featured .row {
    margin-bottom: 15px;
    margin-left: 15px;
    align-items: center;
}

.read_more {
    color: #000 !important;
    display: flex;
    align-items: center;
}

.read_more i {
    margin-bottom: 0 !important;
    margin-left: 10px;
    font-size: 20px;
    transition: 0.5s;
}

.top_posts a:hover, .bottom_posts a:hover {
    box-shadow: #000 0px 0px 23px -9px;
    transition: 0.5s;
}

.top_posts a:hover i, .bottom_posts a:hover i {
    margin-left: 20px;
    transition: 0.5s;
}

label.error, .wpcf7-response-output {
    display: none !important;
}
span.select2-dropdown.select2-dropdown--below{
	background: #F2F2F2 !important;
    border: 1px solid#000 !important;
    border-top: none !important;
	border-radius: 0;
	margin-top: 7.2px;
}

span.select2-dropdown.select2-dropdown--below input.select2-search__field{
	border: none;
	border-bottom: 1px solid;
    border-radius: 0;
}
.select2-container--open #select2-country_get_in_touch-oc-container {
    padding: 9px;
}
.cookie-bar{
	background: #000;
}
.cookie-bar__inner{
	padding: 22px;
}
.top-menu>ul>li {
    position: static;
    padding: 0 !important;
    flex: auto;
    min-width: auto;
    text-align: center;
}
.top-menu>ul>li>a{
	transition: inherit;
    position: relative;
    transition: all 0.1s;
}
.top-menu>ul>li:last-child:hover {
    padding: 0 25px;
}
body.form-page span.select2-dropdown.select2-dropdown--below{
	background: #fff !important;
}
.form-location .select2-container--default.select2-container--open.select2-container--below .select2-selection--single, select:focus, select:active {
    border: none !important;
    border-bottom: 1px solid !important;
}
.contact-file label i {
    font-size: 22px;
}
.contact-file label {
    font-size: 19.5px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
	top:15px;
}
.dev-form input:not([type="checkbox"]) {
    padding: 13.5px;
}
.logo>img {
    width: 85%;
}
.top-menu>ul>li>a:hover {
    font-weight: 300;
}
.top-menu>ul>li>a:after {
    display: block;
    position: absolute;
    top: 13px;
    left: 50%;
    transform: translate(-50%, 250%);
    content: "";
    width: 5px;
    height: 5px;
    background-color: #E44C4F;
    border-radius: 50%;
    opacity: 0;
    transition: all 0.1s;
}
.top-menu>ul>li>a:hover::after {
    opacity: 1;
}
.page-template-page-academy .course__form .input-group input:not([type="checkbox"]):not([type="hidden"]):placeholder-shown+label {
    top: 40%;
}
.page-template-page-academy .course__form .input-group input:not([type="checkbox"]):not([type="hidden"]):focus+label, .page-template-page-academy .course__form .input-group input:not([type="checkbox"]):not([type="hidden"]):not(:placeholder-shown)+label {
    top: 19px;
    font-size: 14px;
}
.page-template-page-academy .course__form .input-group {
    margin-bottom: 8px;
    position: relative;
}
#advantages .input-agree label{
	font-size: 14px;
}
.page-template-page-academy section#subscription .input-group input:placeholder-shown+label {
    top: 37%;
}
.page-template-page-academy section#subscription .input-group input:focus+label, .page-template-page-academy section#subscription .input-group input:not(:placeholder-shown)+label {
    top: 15px;
}
.page-template-page-academy section#subscription .subscription{
	padding: 45px 45px 45px 100px;
}
#cookie-bar {
    border-top: 1px solid #fff;
    padding: 6px  20px;
}
.services p.aos-init.aos-animate {
    opacity: 0.65;
}
input {
   -webkit-user-select:text !important;
}

.single_val_form h2, .contact_success h2{
	font-size: 28px !important;
}
#sfba_thanks_message{
	font-size: 13px !important;
    top: 13px !important;
    position: relative !important;
}
#sfba_thanks_container{
	background: #000 !important;
}
.hold-page {
    height: 100vh;
    background: #000;
    position: relative;
    top: -94px;
    z-index: -1;
    background-image: url('https://impax.agency/wp-content/uploads/2022/02/BG-3.jpg');
    background-size: contain;
    background-position: center;

}