/*
Theme Name: Provia 2020
Author: Bildy Oy
Author URI: https://bildy.fi/
Version: 1.0
Description: Custom theme for Provia
Text Domain: provia
*/

:root {
    --primary: #F04E53;
    --primary-dark: #ce373c;
    --dark-blue: #132c40;
    --dark-blue: #2E2E2E;
    --liner: #dddfe1;
    --text-grey: #555454;
    --back-pastel: #f2eeee;
    --back-blue: #132c40;
    --back-darker-grey: #edeff0;
    --back-grey: #f6f7f7;
    --back-rosa: #f4f1f1;
    --timing: cubic-bezier(0.15, 1.04, 0.58, 1);
    --timing-fade: cubic-bezier(0.2, 0.82, 0.45, 0.91);
    --fade-time: 0.75s;
    --grid-column: 45px;
    --grid-gutter: 55px;
    --container-width: 1225px;
    --container-thin-width: 825px;
    --container-padding: 40px;
    --poles: calc( 100% - var(--container-width) );
    --halfpoles: calc( var(--poles) / 2 );
    --left-edge-from-right: calc( 100% - var(--halfpoles) );
    --topline-height: 28px;
    --topline-height-sticky: 26px;
    --header-height: 110px;
    --header-height-sticky: 80px;
    --proportion-32: calc( var(--container-width) * 2 / 3 );
    --proportion-43: calc( var(--container-width) * 3 / 4 );
    --proportion-169: calc( var(--container-width) * 9 / 16 );
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

.wow {
  visibility: hidden;
}

body {
    font-size: 16px;
    font-family: 'Inter', sans-serif;
    color: var(--dark-blue);
}

body.overflow {
    overflow: hidden;
}

body.preload * {
    transition: none !important;
}

input,
textarea,
select {
    font-family: 'Inter', sans-serif;
}

a {
    color: var(--dark-blue);
    text-decoration: none;
}

li {
    list-style: none;
}

img {
    display: block;
    max-width: 100%;
}

.strong {
    font-weight: 600;
}

.container {
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
    width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
}

.container.thin {
    width: var(--container-thin-width);
}

.container.to-left {
    margin-left: var(--halfpoles);
}

/* GRID */

#grid-switch {
    position: fixed;
    right: 20px;
    top: 20px;
    width: 16px;
    height: 16px;
    background: hsl(0deg 100% 93%);
    z-index: 301;
    border-radius: 50%;
    cursor: pointer;
}

#grid-switch.enabled {
    background: #9edf9e;
}

#grid-switch.suspended {
    background: #eaeaea !important;
}

#grid {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1000;
    pointer-events: none;
    height: 100%;
    width: 100%;
}

#grid .columns {
    display: flex;
    justify-content: center;
}

#grid > div {
    height: 100%;
}

#grid .pole {
    width: var(--container-padding);
    background: rgb(0 255 0 / 0.05);
}

#grid .column {
    width: var(--grid-column);
    background: rgb(255 0 0 / 0.05);
}

#grid .gutter {
    width: var(--grid-gutter);
}

/* BUTTON */

.button {
    font-size: 16px;
    font-family: 'Inter', sans-serif;
    display: inline-flex;
    justify-content: center;
    text-align: center;
    border-radius: 100px;
    line-height: 24px;
    /* box-shadow: 0 7px 25px -5px rgba(0, 0, 0, 0.1); */
    transition: border 600ms var(--timing), color 600ms var(--timing), background 600ms var(--timing);
    cursor: pointer;
    outline: 0;
    font-weight: 600;
    border: 1px solid transparent;
}

.button,
.button.filled {
    color: white;
    background: var(--primary);
}

.button.bordered {
    color: var(--primary);
    background: transparent;
    border-color: var(--primary);
}

.button:hover,
.button.filled:hover {
    background: var(--primary-dark);
}

.button.bordered:hover {
    color: var(--primary-dark);
    border-color: var(--primary-dark);
    background: transparent;
}

.button,
.button.medium {
    min-width: 200px;
    padding: 16px 30px;
}

.button.large {
    min-width: 240px;
    padding: 21px 35px;
}

.button.small {
    min-width: 160px;
    padding: 11px 25px;
}

/* MOBILE MENU */

#mobmenu {
    display: none;
    position: fixed;
    z-index: 350;
    background: white;
    top: var(--header-height);
    left: 0;
    width: 100%;
    height: calc( 100vh - var(--header-height) );
    overflow: hidden;
}

body.admin-bar #mobmenu {
    top: calc( var(--header-height) + 32px );
    height: calc( 100vh - var(--header-height) - 32px );
}

#mobmenu .container {
    height: 100%;
    padding-top: 30px;
    padding-bottom: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#mobmenu .talointra {
    align-self: flex-end;
    text-align: right;
    margin-top: 20px;
}

#mobmenu .talointra > a {
    padding: 8px 25px;
    font-size: 14px;
    line-height: 30px;
}

#mobmenu .talointra .info {
    font-size: 11px;
    line-height: 16px;
    margin-top: 15px;
    max-width: 220px;
}

#mobmenu .label {
    margin: 0 0 15px 32px;
    font-size: 14px;
    color: var(--text-grey);
    position: relative;
}

#mobmenu .label:after {
    content: '';
    display: block;
    position: absolute;
    bottom: -12px;
    height: 1px;
    width: 300%;
    z-index: 20;
    background-color: var(--primary);
}

#mobmenu .menu:first-child {
    overflow-y: auto;
}

#mobmenu .menu + .menu {
    margin-top: 30px;
}

#mobmenu .menu > ul {

}

#mobmenu .menu > ul > li {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

#mobmenu .menu > ul > li.delimiter {
    margin-top: 15px;
    font-size: 12px;

}

#mobmenu .menu > ul > li:before {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    margin-right: 20px;
    transition: all 0.6s var(--timing);
}

#mobmenu .menu > ul > li.menu-item-has-children:before {
    background: url('img/arrow-right-menu.svg') center no-repeat;
}

#mobmenu .menu > ul > li.menu-item-has-children.active:before {
    transform: rotate(90deg);
}

#mobmenu .menu > ul > li + li {

}

#mobmenu .menu > ul > li > a {
    font-size: 14px;
    line-height: 36px;
    font-weight: 600;
}

#mobmenu .menu > ul > li > ul.sub-menu {
    display: none;
    width: 100%;
    padding-left: 55px;
    margin: 10px 0 20px;
}

#mobmenu .menu > ul > li > ul.sub-menu > li {

}

#mobmenu .menu > ul > li > ul.sub-menu > li + li {
    margin-top: 10px;
}

#mobmenu .menu > ul > li > ul.sub-menu > li > a {

}

#mobmenu .menu > ul > li > ul.sub-menu > li:hover > a {
    color: rgba(19, 44, 64, 0.7);
}

/* HEADER */

#header {
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 300;
	background: white;
    transition: all 300ms var(--timing);
}

.admin-bar #header {
	top: 32px;
}

.scrolled #header {
	box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.1);
}

.scrolled.to-bottom #header {
	top: calc( ( var(--header-height) + var(--topline-height) ) * -1 ) !important;
}

#header .topline {
    background: white;
    position: relative;
    z-index: 50;
    transition: all 300ms var(--timing);
}

#header .topline .container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: var(--topline-height);
}

#header .topline .label {
    margin-right: 10px;
    font-size: 12px;
    color: var(--text-grey);
}

#header .topline ul {
    display: flex;
}

#header .topline ul li {
    height: var(--topline-height);
}

#header .topline ul li + li {
    margin-left: 2px;
}

#header .topline ul li a {
    color: var(--dark-blue);
    font-weight: 700;
    font-size: 10px;
    line-height: 20px;
    transition: all 600ms var(--timing);
    text-transform: uppercase;
    display: flex;
    align-items: center;
    padding: 0 20px;
    height: var(--topline-height);
    background-color: var(--back-grey);
}

#header .topline ul li:hover a {
    color: white;
    background-color: var(--primary);
}

#header > .container {
    display: flex;
    justify-content: space-between;
}

/*
#header:after {
    content: '';
    display: block;
    height: var(--header-height);
    width: calc( var(--halfpoles) + var(--container-padding) );
    position: absolute;
    left: calc(100% - var(--halfpoles) - var(--container-padding));
    top: 0;
    z-index: 1;
    background: white;
}
*/

#header .logo {
    display: flex;
    align-items: center;
    height: var(--header-height);
    position: relative;
    z-index: 25;
    transition: height 300ms var(--timing);
}

.scrolled #header .logo {
    height: var(--header-height-sticky);
}

#header .logo img {
    height: 57px;
    transition: all 300ms var(--timing);
}

.scrolled #header .logo img {
    height: 34px;
}

#header .nav {
    display: flex;
    align-items: center;
    height: var(--header-height);
    background: white;
    transition: all 300ms var(--timing);
}

.scrolled #header .nav {
    height: var(--header-height-sticky);
}

#header .menu .main {
    margin-left: auto;
}

#header .menu > ul.tools {
    position: absolute;
    z-index: 50;
    top: 12px;
    right: calc( var(--container-padding) + var(--halfpoles) );
    display: flex;
    justify-content: flex-end;
    /* display: none; */
}

#header .menu > ul.tools > li {

}

#header .menu > ul.tools > li + li {
    margin-left: 24px;
}

#header .menu > ul.tools > li > a {
    font-weight: 700;
    font-size: 11px;
    line-height: 18px;
    color: var(--dark-blue);
    transition: color 0.6s var(--timing);
    text-transform: uppercase;
}

#header .menu > ul.tools > li:hover > a {
    color: var(--primary);
}

#header .menu > ul.main {
    display: flex;
}

#header .menu > ul.main > li {
    padding: 0 12px;
}

#header .menu > ul.main > li:first-child {
    padding-left: 60px;
}

#header .menu > ul.main > li:last-child {
    padding-right: 0;
}

#header .menu > ul.main > li + li {

}

#header .menu > ul.main > li.menu-item-has-children {

}

#header .menu > ul.main > li > a {
    font-size: 14px;
    height: var(--header-height);
    display: flex;
    align-items: center;
    position: relative;
    z-index: 25;
}

.scrolled #header .menu > ul.main > li > a {
    height: var(--header-height-sticky);
}

/* Hide menu */
#header .menu > ul.main > li > .sub-menu-wrap {
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out 0.15s;
    transform: translateY(20px);
}

/* Show menu */
#header .menu > ul.main > li:hover > .sub-menu-wrap {
    opacity: 1;
    transition: all 0.3s ease-in-out 0.15s;
    z-index: 10;
    transform: translateY(0);
    visibility: visible;
    z-index: 770;
}


#header .menu > ul.main > li.current_page_ancestor > a,
#header .menu > ul.main > li.current-menu-item > a {
    font-weight: 600;
}

#header .menu > ul.main > li.menu-item-has-children > .sub-menu-wrap {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    padding: calc( var(--header-height) + var(--topline-height) + 50px ) 0 120px;
    border-top: 1px solid var(--back-darker-grey);
    z-index: 20;
}

.scrolled #header .menu > ul.main > li.menu-item-has-children > .sub-menu-wrap {
    padding-top: calc( var(--header-height-sticky) + var(--topline-height) + 50px );
}

#header .menu > ul.main > li.menu-item-has-children > .sub-menu-wrap:before,
#header .menu > ul.main > li.menu-item-has-children > .sub-menu-wrap:after {
    content: '';
    display: block;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    background: white;
}

#header .menu > ul.main > li.menu-item-has-children > .sub-menu-wrap:before {
    height: 100%;
    z-index: -1;
    box-shadow: 0 7px 25px -5px rgba(0, 0, 0, 0.1);
}

#header .menu > ul.main > li.menu-item-has-children > .sub-menu-wrap:after {
    top: calc( var(--header-height) + var(--topline-height) );
    height: 1px;
    z-index: 3;
    background: var(--back-darker-grey);
}

.scrolled #header .menu > ul.main > li.menu-item-has-children > .sub-menu-wrap:after {
    top: calc( var(--header-height-sticky) + var(--topline-height) );
}

#header .menu > ul.main > li.menu-item-has-children > .sub-menu-wrap .container {
    display: flex;
    justify-content: space-between;
}

#header .menu .main .sub-menu-wrap .content {
    width: 445px;
    flex-shrink: 0;
    margin-right: 55px;
}

#header .menu .main .sub-menu-wrap .external .link {

}

#header .menu .main .sub-menu-wrap .external .link img {
    height: 26px;
    margin-right: 12px;
}

#header .menu .main .sub-menu-wrap .external .info {
    font-size: 12px;
    line-height: 18px;
    margin-top: 25px;
}

#header .menu .main .sub-menu-wrap .sub-menu {
    width: 100%;
}

#header .menu li.columns-2 .sub-menu-wrap .sub-menu {
    columns: 2;
    column-gap: 45px;
}

#header .menu .main .sub-menu-wrap .sub-menu > li {
    margin-bottom: 15px;
}

/*

#header .menu .main .sub-menu-wrap .sub-menu > li:first-child {
    display: none;
}

*/

#header .menu .main .sub-menu-wrap .sub-menu > li + li {

}

#header .menu .main .sub-menu-wrap .sub-menu > li > a {
    font-size: 18px;
    line-height: 26px;
    transition: color 0.6s var(--timing);
}

#header .menu .main .sub-menu-wrap .sub-menu > li:hover > a {
    color: rgba(19, 44, 64, 0.7);
    transform: translateY(2px);
}

#header .burger {
    display: none;
    margin-left: auto;
    width: 25px;
    height: 25px;
    cursor: pointer;
    position: relative;
}

#header .burger .icon {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    transition: all 0.6s var(--timing);
}

#header .burger .icon.show {
    visibility: visible;
    opacity: 1;
}

#header .burger .icon.hide {
    visibility: hidden;
    opacity: 0;
    transform: rotate(45deg);
}

/* FOOTER */

#footer {
    background: #151515;
    padding: 100px 0 45px;
}

#footer,
#footer a {
    color: #e6edef;
}

#footer .row:first-child {
    display: flex;
}

#footer .row:last-child {
    margin-top: 85px;
}

#footer .copyright {
    margin-top: 115px;
    font-size: 10px;
    line-height: 20px;
}

#footer .schedule {
    font-size: 14px;
    line-height: 39px;
    margin-left: 100px;
}

#footer .schedule .short {
    display: none;
}

#footer .nav {
    margin-left: auto;
    min-width: 200px;
}

#footer .nav a {
    font-size: 18px;
    line-height: 44px;
    transition: all 0.6s var(--timing);
}

#footer .nav a:hover {
    color: #5f707e;
}

#footer .nav a br {
    display: none;
}

#footer .company {
    font-size: 14px;
    line-height: 24px;
    min-width: 300px;
}

#footer .company .name {
    font-size: 18px;
    line-height: 44px;
}

#footer .company .address {
    margin-top: 10px;

}

#footer .company .phone {

}

#footer .company .email {

}

#footer .company .disclaimer {
    font-size: 11px;
    line-height: 18px;
    margin-top: 20px;
}

#footer .subscribe {

}

#footer .subscribe form .validation_error {
    text-align: center;
}

#footer .subscribe form .gform_body .gfield_description.validation_message {
	bottom: -25px;
	width: 345px;
}
#footer .subscribe form .gform_body {
    width: 100%;
}

#footer .subscribe form .gform_footer {
    margin-top: 0;
}

#footer .subscribe .label {font-weight: 500;
font-size: 18px;
line-height: 44px;
}

#footer .subscribe form {
    margin-top: 5px;
    display: flex;
    align-items: center;
    width: 310px;
    padding: 3px;
    border-radius: 100px;
    background-color: transparent;
}

#footer .subscribe form .gfield  {
    margin-top: 0;
}

#footer .subscribe form .gfield label {
    color: #707070;
    left: 0;
}

#footer .subscribe form .ginput_container.ginput_container_email {
   margin-top: -3px;
}

#footer .subscribe form input {
    border: none;
    color: white;
    background: transparent;
    padding: 20px 0 6px;
    width: 100%;
    outline: 0;
    border-radius: 0;
    border-bottom: 1px solid white;
}

#footer .subscribe form button {
    margin-left: -24px;
    padding: 0;
    font-size: 0;
    background-color: transparent;
    width: 24px;
    height: 24px;
    min-width: initial;
    background-repeat: no-repeat;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgMTJIMTkiIHN0cm9rZT0iIzcwNzA3MCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTIgNUwxOSAxMkwxMiAxOSIgc3Ryb2tlPSIjNzA3MDcwIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=);
}

/* BUILDER */

.builder-area {

}

.builder {
    position: relative;
}

.builder.title-text {
    padding: 120px 0;
}

.builder.title-text .container {
    display: flex;
}

.builder.title-text .title {
    font-size: 18px;
    line-height: 26px;
    font-weight: 600;
    width: 400px;
    margin-right: 45px;
    flex-shrink: 0;
}

.builder.title-text .text {
    font-size: 26px;
    line-height: 46px;
    width: 100%;
}

.builder.hero {
    display: flex;
    padding-top: calc( var(--header-height) + var(--topline-height) );
    /* margin-top: calc( -1 * var(--header-height) ); */
    z-index: 7;
}

body.isolated .builder.hero {
    padding-top: 0;
    height: 100vh;
}

.builder.hero .content {
    position: relative;
    z-index: 5;
    width: 440px;
    margin-right:100px;
    margin-left: var(--halfpoles);
    padding-left: var(--container-padding);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 50px;
    padding-bottom: 50px;
}

.builder.hero .content,
.builder.hero.medium .content {

}

.builder.hero.high .content {

}

.builder.hero .title,
.builder.hero.medium .title {
    font-size: 36px;
    line-height: 42px;
    font-weight: 600;
}

.builder.hero.small .title {
    font-size: 30px;
    line-height: 36px;
}

.builder.hero .header {
    margin-bottom: 25px;
}

.category .builder.hero .title {
    font-size: 30px;
    line-height: 36px;
}

.builder.hero.high .title {
    font-size: 42px;
    line-height: 50px;
}

.builder.hero .picture {
    position: relative;
    z-index: 3;
    width: calc( 100% - var(--halfpoles) - 440px - 45px );
}

.builder.hero .picture.cropped {
    width: calc( 100% - var(--halfpoles) - 440px - 45px - var(--halfpoles) - var(--container-padding) );
}

.builder.hero .picture,
.builder.hero.medium .picture {
    height: 520px;
}

.builder.hero.high .picture {
    height: 600px;
}

.builder.hero.small .picture {
    height: 500px;
}

body.isolated .builder.hero .picture {
    height: 100% !important;
}

body.isolated .builder.hero .picture img {
    object-position: center;
}

.builder.hero .text {
    margin-top: 15px;
    line-height: 24px;
}

.category .builder.hero .text {
    margin-top: 20px;
    font-size: 14px;
    line-height: 22px;
    color: var(--text-grey);
}

.builder.hero .socials {
    margin-top: 100px;
    font-size: 13px;
    line-height: 22px;
}

.builder.hero .cta {
    margin-top: 35px;
}

.builder.hero .picture img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: left center;
}

.builder.hero .picture .caption,
.builder.hero .picture .caption a {
    color: #e6edef;
}

.builder.hero .picture .caption a {
    text-decoration: underline;
    font-weight: 600;
}

.builder.hero .picture .caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: calc( 100% - ( var(--container-width) / 2 ) - var(--container-padding) - var(--grid-column) );
    font-size: 12px;
    line-height: 20px;
    padding: 30px 40px 30px 100px;
    background: #151515;
}

.builder.hero .picture .caption .close {
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 0;
    width: 8px;
    padding: 15px;
    box-sizing: content-box;
}

.builder.hero .background {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    z-index: 1;
    background-position: left bottom -80px;
    background-size: contain;
    background-repeat: no-repeat;
}

.builder.hero .background.default {
    background-color: var(--back-grey);
}
/*
.builder.hero .background.default + .content {
    color: white;
}*/

.builder.hero .background.grey {
    background-color: var(--back-grey);
}

.builder.hero .background.rose {
    background-color: var(--back-rosa);
}

.builder.hero .background .image-wrap {
    position: absolute;
    top: 180px;
    right: calc(50% + 350px);
}

.builder.hero .background .image-wrap img {
    height: 980px;
    max-width: initial;
}

.builder.links {
    z-index: 100;
    padding: 120px 0;
}

.builder.links .container {
    display: flex;
    justify-content: space-between;
}

.builder.links .image {
    width: 400px;
    height: 520px;
}

.builder.links .image.mobile {
    display: none;
    margin-top: 20px;
}

.builder.links .image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.builder.links .content {
    width: calc(100% - 400px - 100px);
    margin-top: 55px;
}

.builder.links .title {
    font-size: 36px;
    line-height: 42px;
    font-weight: 600;
}

.builder.links .text {
    max-width: 500px;
    margin-top: 15px;
    line-height: 24px;
    color: var(--text-grey);
}

.builder.links .text strong {
    font-size: 18px;
    color: var(--dark-blue);
}

.builder.links .text > * + * {
    margin-top: 20px;
}

.builder.links .elements {
    display: flex;
    flex-wrap: wrap;
    margin: 40px -22px 0;
}

.builder.links .elements .link {
    width: calc(50% - 44px);
    margin: 10px 22px;
}

.builder.links .elements .link a {
    font-size: 14px;
    display: flex;
    align-items: center;
    padding: 0 25px;
    min-height: 75px;
    border-radius: 10px;
    box-shadow: 0 12px 20px -15px rgba(0, 0, 0, 0.2);
    border: solid 1px var(--liner);
    background-color: white;
    transition: all 0.6s var(--timing);
}

.builder.links .elements .link a:hover {
    box-shadow: none;
    border-color: var(--dark-blue);
}

.builder.links .elements .link .icon {
    width: 25px;
    margin-right: 15px;
}

.builder.proposal {
    display: flex;
    align-items: center;
    background: var(--back-grey);
}

.builder.proposal.blue {
    background: var(--back-blue);
}

.builder.proposal.rosa {
    background: var(--back-rosa);
}

.builder.proposal .content {
    width: 540px;
    margin-right: 100px;
    margin-left: var(--halfpoles);
    padding-left: var(--container-padding);
    flex-shrink: 0;
}

.builder.proposal .tagline {
    font-size: 13px;
    line-height: 24px;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.builder.proposal .title {
    font-size: 36px;
    line-height: 42px;
    font-weight: 600;
}

.builder.proposal .text {
    line-height: 24px;
    margin-top: 20px;
    color: var(--text-grey);
}

.builder.proposal .cta {
    margin-top: 30px;
}

.builder.proposal .cta a + a {
    margin-left: 20px;
}

.builder.proposal .image {
    width: 100%;
}

.builder.proposal .image,
.builder.proposal.large .image {
    height: 680px;
}

.builder.proposal.medium .image {
    height: 600px;
    display: flex;
    align-items: center;
}

.builder.proposal .image img {
    object-fit: cover;
    object-position: left center;
    height: 100%;
    width: 100%;
    max-height: 100%;
}

.builder.proposal.illustration .image img {
    object-fit: contain;
}

.builder.app {
    display: flex;
}

.builder.app.grey {
    background: var(--back-grey);
}

.builder.app .image {
    width: calc( var(--halfpoles) + var(--container-padding) + 345px );
    height: 840px;
    position: relative;
    flex-shrink: 0;
}

.builder.app .image > img {
    object-fit: cover;
    object-position: right center;
    height: 100%;
    width: 100%;
}

.builder.app .screenshot {
    position: absolute;
    right: -158px;
    top: 0;
    height: 100%;
    display: flex;
    align-items: center;
}

.builder.app .screenshot img {
    width: 394px;
}

.builder.app .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 540px;
    margin-left: auto;
    margin-right: var(--halfpoles);
    padding-right: var(--container-padding);
}

.builder.app .title {
    font-size: 36px;
    line-height: 42px;
    font-weight: 600;
}

.builder.app .text {
    line-height: 24px;
    color: var(--text-grey);
    margin-top: 20px;
}

.builder.app .text ul {
    line-height: 28px;
    padding-left: 17px;
    margin-top: 20px;
    color: var(--dark-blue);
}

.builder.app .text ul li {
    list-style: initial;
}

.builder.app .cta {
    margin-top: 35px;
}

.builder-area .builder.news {
    background: var(--back-grey);
    padding: 120px 0 95px;
}

/*
.builder.news .sticky + .posts:before {
    content: '';
    height: 1px;
    width: calc( 100% - 20px - 20px );
    margin: 70px auto 40px;
    background: rgba(167, 138, 138, 0.5);
}
*/

.builder.news .sticky + .posts {
    margin-top: 70px;
}

.post-large {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.post-large .content {
    width: calc(100% - 600px - 45px);
}

.post-large .content > .pic {
    display: none;
}

.post-large .pic {
    width: 600px;
    height: 380px;
}

.post-large .pic a {
    width: 100%;
    height: 100%;
}

.post-large .pic.default a {
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(255,255,255,0.5);
}

.post-large .pic.default img {
    opacity: 0.15;
}


.post-large .pic:not(.default) a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post-large .title {
    margin-top: 25px;
}

.post-large .title a {
    font-size: 30px;
    line-height: 36px;
    font-weight: 600;
    transition: all 600ms var(--timing);
}

.post-large .title a:hover {
    color: rgba(19, 44, 64, 0.75);
}

.post-large .excerpt {
    line-height: 26px;
    color: var(--text-grey);
    margin-top: 25px;
}

.builder.news .posts {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -27px;
}

.builder.news .posts .post {
    width: calc(33.33332% - 54px);
    margin: 27px;
}

.builder.news .posts .post {
    border-top: 1px solid var(--liner);
    padding-top: 40px;
}

.builder.hero .header,
.post-large .header,
.builder.news .posts .post .header,
.category-list .posts .post-medium .footer {
    display: flex;
    align-items: center;
}

.builder.hero .header > * + *,
.post-large .header > * + *,
.builder.news .posts .post .header > * + *,
.category-list .posts .post-medium .footer > * + * {
    margin-left: 15px;
}


.builder.hero .date,
.post-large .header .date,
.builder.news .posts .post .header .date,
.category-list .posts .post-medium .footer .date {
    font-size: 13px;
}

.builder.hero .category,
.post-large .header .category,
.builder.news .posts .post .header .category,
.category-list .posts .post-medium .footer .category {

}

.builder.hero .category .item,
.post-large .header .category .item,
.builder.news .posts .post .header .category .item,
.category-list .posts .post-medium .footer .category .item {

}

.builder.hero .category .item + .item,
.post-large .header .category .item + .item,
.builder.news .posts .post .header .category .item + .item,
..category-list .posts .post-medium .footer .category .item + .item {
    margin-left: 15px;
}

.builder.hero .category .item a,
.post-large .header .category .item a,
.builder.news .posts .post .header .category .item a,
.category-list .posts .post-medium .footer .category .item a {
    display: block;
    background: var(--liner);
    font-size: 12px;
    line-height: 24px;
    text-align: center;
    padding: 0 15px;
    border-radius: 50px;
}

.builder.news .posts .post .title {
    margin-top: 20px;
    font-weight: 600;
    line-height: 24px;
}

.builder.services {
    padding: 110px 0;
}

.builder.services .header {
    display: flex;
    justify-content: space-between;
}

.builder.services .header .title {
    font-size: 36px;
    line-height: 42px;
    font-weight: 600;
}

.builder.services .header .description {
    line-height: 24px;
    color: var(--text-grey);
    width: 500px;
}

.builder.services .elements {
    display: flex;
    flex-wrap: wrap;
    margin: 90px -27px 0;
}

.builder.services .elements .service {
    width: calc(33.3332% - 54px);
    margin: 27px;
    padding: 40px 35px;
    border-radius: 10px;
    box-shadow: 0 12px 20px -15px rgba(0, 0, 0, 0.15);
    border: solid 1px var(--liner);
    transition: all 0.6s var(--timing);
}

.builder.services .elements .service:hover {
    border-color: var(--dark-blue);
    box-shadow: 0 0 0 0 rgba(0,0,0,0);
}

.builder.services .elements .service .title {
    font-size: 26px;
    line-height: 32px;
    font-weight: 600;
}

.builder.services .elements .service .text {
    font-size: 14px;
    line-height: 22px;
    color: var(--text-grey);
    margin-top: 20px;
}

.builder.services .elements .service .footer {
    margin-top: 55px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.builder.services .elements .service .footer .icon {

}

.builder.services .elements .service .footer .link {

}

.builder.services .elements .service .footer .link a {
    display: flex;
    align-items: center;
}

.builder.services .elements .service .footer .link img {
    width: 15px;
    margin-left: 10px;
}

.builder.numbers2 {
    padding: 120px 0;
}

.builder.numbers2 .title {
    font-size: 26px;
    line-height: 32px;
    font-weight: 600;
}

.builder.numbers2 .elements {
    display: flex;
    justify-content: space-between;
    margin: 50px -27px 0;
}

.builder.numbers2 .elements .number {
    width: calc(33.3332% - 54px);
    margin: 27px;
}

.builder.numbers2 .elements .number .name {
    font-size: 18px;
    line-height: 26px;
}

.builder.numbers2 .elements .number .value {
    font-size: 75px;
    font-weight: 600;
    margin-top: 10px;
}

.builder.numbers2 .elements .number .text {
    font-size: 14px;
    line-height: 22px;
    margin-top: 25px;
    max-width: 245px;
}

.builder.numbers {
    padding: 120px 0;
}

.builder.numbers .header {
    display: flex;
    justify-content: space-between;
}

.builder.numbers .header .title {
    font-size: 36px;
    line-height: 42px;
    font-weight: 600;
}

.builder.numbers .header .description {
    line-height: 24px;
    color: var(--text-grey);
    width: 560px;
}

.builder.numbers .elements {
    display: flex;
    justify-content: space-between;
    margin: 50px -27px 0;
}

.builder.numbers .elements .number {
    height: 345px;
    background: #eee;
    border-radius: 10px;
    width: calc(33.3332% - 54px);
    margin: 27px;
    padding: 35px;
    display: flex;
    flex-direction: column;
}

.builder.numbers .elements .number:nth-child(1) {
    background: #e6edef;
}

.builder.numbers .elements .number:nth-child(2) {
    background: rgba(167, 138, 138, 0.25);
}

.builder.numbers .elements .number:nth-child(3) {
    background: rgba(244, 209, 205, 0.25);
}

.builder.numbers .elements .number .value {
    font-size: 80px;
}

.builder.numbers .elements .number .text {
    line-height: 24px;
    margin-top: 10px;
    margin-bottom: auto;
}

.builder.numbers .elements .number .icon {
    margin-top: auto;
}

.builder.numbers .elements .number .icon img {
    margin-top: 20px;
}

.builder.faq {
    padding: 120px 0;
    background: rgba(246, 247, 247, 0.7);
}

.builder.faq.vacancies {
    background: none;
}

.builder.faq .header .title {
    font-size: 30px;
    line-height: 36px;
    font-weight: 600;
}

.builder.faq .header .description {
    line-height: 24px;
    color: var(--text-grey);
    margin-top: 15px;
}

.builder.faq .elements {
    display: flex;
    justify-content: space-between;
    margin-top: 75px;
}

.builder.faq .elements > .image {
    display: none;
}

.builder.faq .elements .sidebar {
    width: 370px;
}

.builder.faq.vacancies .elements .sidebar {
    width: 500px;
}

.builder.faq .elements .sidebar .nav {
    margin-left: 135px;
}

.builder.faq .elements .sidebar .nav li {
    line-height: 24px;
    cursor: pointer;
}

.builder.faq .elements .sidebar .nav li.active {
    font-weight: 600;
}

.builder.faq .elements .sidebar .nav li + li {
    margin-top: 18px;
}

.builder.faq .elements .sidebar .image {
    margin-top: 85px;
}

.builder.faq.vacancies .elements .sidebar .image {
    margin-top: 0;
}

.builder.faq .elements .sidebar .image img {
    width: 100%;
    /* height: 220px; */
    object-fit: contain;
    object-position: left center;
}

.builder.faq.vacancies .elements .sidebar .image img {
    height: 305px;
}

.builder.faq .elements .links {
    width: calc(100% - 300px - 100px);
}

.builder.faq.vacancies .elements .links {
    width: calc(100% - 500px - 100px);
}

.builder.faq.vacancies .elements .links {
    order: 2;
}

.builder.faq .elements .links .item {

}

.builder.faq .elements .links .item a {
    display: block;
    min-height: 101px;
    display: flex;
    align-items: center;
    padding: 14px 160px 14px 45px;
    border-top: 1px solid var(--dark-blue);
    line-height: 24px;
    transition: all 0.6s var(--timing);
    position: relative;
}

.builder.faq .elements .links .item a:hover {
    background: var(--back-darker-grey);
    padding: 14px 115px 14px 90px;
}

.builder.faq .elements .links .item:last-child a {
    border-bottom: 1px solid var(--dark-blue);
}

.builder.faq .elements .links .item a span {

}

.builder.faq .elements .links .item a span i {
    font-style: normal;
    font-size: 14px;
}

.builder.faq .elements .links .item a img {
    position: absolute;
    right: 60px;
}

.builder.checkerboard {
    padding: 120px 0;
}

.builder.checkerboard .nav {
    display: flex;
    flex-wrap: wrap;
    margin: -25px;
}

.builder.checkerboard .nav li {
}

.builder.checkerboard .nav li + li {

}

.builder.checkerboard .nav li a {
    display: block;
    font-size: 18px;
    line-height: 26px;
    border-radius: 100px;
    white-space: nowrap;
    transition: all 0.6s var(--timing);
    padding: 7px 25px;
}

.builder.checkerboard .nav li a:hover {
    background: #f5f1f1;
    border-color: transparent;
}

.builder.checkerboard .elements {
    margin-top: 90px;
}

.builder.checkerboard .elements .block {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.builder.checkerboard .elements .block + .block {
    margin-top: 60px;
    padding-top: 60px;
    border-top: 1px solid var(--liner);
}

.builder.checkerboard .elements .block > .image {
    width: 400px;
    height: 520px;
}

.builder.checkerboard .elements .block > .image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.builder.checkerboard .elements .block:nth-child(even) > .image {
    order: 2;
}

.builder.checkerboard .elements .block .content {
    width: calc(100% - 400px - 100px);
}

.builder.checkerboard .elements .block .content .title {
    font-size: 30px;
    line-height: 36px;
    font-weight: 600;
}

.builder.checkerboard .elements .block .content .image {
    display: none;
}

.builder.checkerboard .elements .block .content .text > * + * {
    margin-top: 15px;
}

.builder.checkerboard .elements .block .content .text {
    line-height: 24px;
    color: var(--text-grey);
    margin-top: 15px;
}

.builder.checkerboard .elements .block .content .text strong {
    color: var(--dark-blue);
}

.builder.checkerboard .elements .block .content .text ul {
    padding-left: 20px;
}

.builder.checkerboard .elements .block .content .text ul li {
    list-style: initial;
    font-size: 14px;
    line-height: 26px;
    color: var(--dark-blue);
}

.builder.checkerboard .elements .block .content .cta {
    margin-top: 40px;
}

.builder.contact-offices {
    padding: 120px 0;
}

.builder.contact-offices .container {
    display: flex;
}

.builder.contact-offices .contact-form {
    width: 345px;
    flex-shrink: 0;
    margin-right: 100px;
}

.builder.contact-offices .title {
    font-size: 26px;
    line-height: 32px;
    font-weight: 600;
    margin-bottom: 50px;
}

.builder.contact-offices .offices {
    width: 100%;
}

.builder.contact-offices #office-selector {
    display: flex;
    flex-direction: column;
}

.builder.contact-offices #office-selector label {
    font-weight: 700;
    margin-bottom: 10px;
}

.builder.contact-offices #office-selector select {
    appearance: none;
    display: flex;
    width: 100%;
    border-radius: 5px;
    border: solid 1px var(--liner);
    background-color: white;
    padding: 17px 20px;
    line-height: 24px;
    transition: all 0.6s var(--timing);
    font-size: 14px;
    cursor: pointer;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1em;
}

.builder.contact-offices .elements {
    margin-top: 50px;
}

.builder.contact-offices .elements .item {
    display: none;
}

.builder.contact-offices .elements .item .city {
    font-size: 16px;
    line-height: 28px;
    font-weight: 600;
}

.builder.contact-offices .elements .item .contacts {
    font-size: 14px;
    line-height: 24px;
    margin-top: 10px;
}

.builder.contact-offices .elements .item .contacts a {
    color: var(--primary);
    text-decoration: underline;
}

.builder.tools {
    padding: 102px 0;
}

.builder.tools .background {
    z-index: -1;
    position: absolute;
    bottom: 0;
    right: calc(50% + 180px);
    overflow: hidden;
    height: 100%;
    display: flex;
    align-items: flex-end;
}

.builder.tools .background img {
    max-width: initial;
    width: 800px;
    object-fit: cover;
    object-position: center right;
}

.builder.tools .elements {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -27px;
}

.builder.tools .elements .item {
    width: calc(33.33332% - 54px);
    margin: 18px 27px;
    background: white;
    border-radius: 10px;
    box-shadow: 0 12px 17px -15px rgba(0, 0, 0, 0.15);
    border: solid 1px var(--liner);
    padding: 25px;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.6s var(--timing), border-color 0.6s var(--timing);
}

.builder.tools .elements .item:hover {
    box-shadow: none;
    border-color: var(--dark-blue);
}

.builder.tools .elements .item .title {
    font-size: 18px;
    line-height: 26px;
    font-weight: 600;
}

.builder.tools .elements .item .text {
    font-size: 14px;
    line-height: 22px;
    color: var(--text-grey);
    margin-top: 5px;
}

.builder.tools .elements .item .link {
    margin-top: auto;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    justify-content: flex-end;
    transition: all 0.6s var(--timing);
}

.builder.tools .elements .item:hover .link {
    transform: translateX(5px);
}

.builder.tools .elements .item .link span,
.builder.tools .elements .item .link img {
    margin-top: 30px;
}

.builder.tools .elements .item .link img {
    margin-left: 8px;
    margin-bottom: -1px;
}

#contacts-header {
    display: flex;
    align-items: flex-end;
    padding-top: var(--header-height);
}

#contacts-header .image {
    height: 520px;
    width: 100%;
}

#contacts-header .image img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

#contacts-header .content {
    width: 345px;
    margin-right: 100px;
    margin-left: calc(var(--halfpoles) + var(--container-padding));
    flex-shrink: 0;
}

#contacts-header .content .company-name {
    font-size: 26px;
    line-height: 32px;
    font-weight: 600;
    margin-bottom: 35px;
}

#contacts-header .content .block {
}

#contacts-header .content .block + .block {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--back-darker-grey);
}

#contacts-header .phone {
    line-height: 24px;
    font-weight: 600;
}

#contacts-header .disclaimer {
    font-size: 12px;
    line-height: 18px;
    margin-top: 5px;
}

#contacts-header .email {

}

#contacts-header .email a {
    font-weight: 600;
}

#contacts-header .address {
    line-height: 24px;
    font-weight: 600;
}

#contacts-header .address a {
    text-decoration: underline;
}

#contacts-header .clarification {
    font-size: 12px;
    line-height: 18px;
    margin-top: 5px;
}

#contacts-header .schedule {
    line-height: 24px;
}

#contacts-header .schedule .time {
    font-weight: 600;
}

#employees-wrap {
    padding: 120px 0;
}

#employees-wrap .container {
    display: flex;
    justify-content: space-between;
}

#employees-wrap .contact-form {
    width: 345px;
}

#employees-wrap .contact-form > .title {
    margin-bottom: 50px;
}

#employees {
    width: calc(100% - 345px - 100px);
}

#employees-wrap .contact-form > .title,
#employees > .title {
    font-size: 26px;
    line-height: 32px;
    font-weight: 600;
}

#employees .nav {
    margin: 50px -30px 0;
    display: flex;
    flex-wrap: wrap;
}

#employees .nav li {
    font-size: 18px;
    line-height: 26px;
    padding: 7px 20px;
    border-radius: 100px;
    margin: 7px 10px;
    cursor: pointer;
}

#employees .nav li.active {
    background: #f5f1f1;
}

#employees .list {
    display: flex;
    flex-wrap: wrap;
    margin: 50px -20px 0;
}

#employees .list .employee {
    width: calc(33.33332% - 40px);
    margin: 20px;
    font-size: 14px;
    line-height: 24px;
}

#employees .list .employee .name {
    font-size: 16px;
    line-height: 28px;
    font-weight: 600;
}

#employees .list .employee .position {

}

#employees .list .employee .phone {

}

#employees .list .employee .email {

}

.category-list {
    padding: 120px 0;
}

.category-list .navigation {
    display: flex;
    flex-wrap: wrap;
}

.category-list .navigation a {
    display: block;
    font-size: 18px;
    line-height: 26px;
    border-radius: 100px;
    white-space: nowrap;
    transition: all 0.6s var(--timing);
    padding: 7px 25px;
}

.category-list .navigation a:first-child:not(.active) {
    padding-left: 0;
}

.category-list .navigation a.active {
    background: #f5f1f1;
    border-color: transparent;
}

.category-list .posts {
    display: flex;
    flex-wrap: wrap;
    margin: 35px -27px 0;
    position: relative;
}

.category-list .posts .post-medium {
    width: calc(33.33332% - 54px);
    margin: 27px;
    display: flex;
    flex-direction: column;
}

.category-list .posts .post-medium:nth-child(n + 4) {
    margin-top: 63px;
}

.category-list .posts .post-medium:nth-child(4n + 4):before {
    content: '';
    display: block;
    width: calc( 100% - 27px - 27px );
    height: 1px;
    background: var(--liner);
    position: absolute;
    left: 27px;
    margin-top: -50px;
}

.category-list .posts .post-medium .pic {
    width: 100%;
    height: 200px;
}

.category-list .posts .post-medium .pic img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.category-list .posts .post-medium .title {
    font-weight: 600;
    margin-top: 20px;
}

.category-list .posts .post-medium .excerpt {
    font-size: 14px;
    line-height: 22px;
    color: var(--text-grey);
    margin-top: 5px;
}

.category-list .posts .post-medium .footer {
    margin-top: auto;
}

.category-list .posts .post-medium .footer .date {
    margin-top: 15px;
}

.category-list .posts .post-medium .footer .category {
    margin-top: 15px;
}

.single-faq .article {
    margin-top: var(--header-height);
}

.single-faq .article h1 {
    font-size: 26px;
    line-height: 32px;
}

.article {
    padding: 95px 0 120px;
    line-height: 24px;
    color: var(--text-grey);
}

.all-news {
    display: flex;
    justify-content: flex-end;
    margin-top: 90px;
    margin-bottom: 20px;
}

.all-news a {
    display: flex;
    align-items: center;
}

.all-news a img {
    margin-left: 8px;
}

.text-formatted {

}

.text-formatted > * + * {
    margin-top: 20px;
}

.text-formatted a {
    text-decoration: underline;
    font-weight: 600;
}

#forma {
    display: flex;
    padding-top: var(--header-height);
    /* background: var(--back-grey); */
    position: relative;
}

body.isolated #forma {
    padding-top: 0;
    min-height: 100vh;
}

#forma .sidebar {
    margin-left: var(--halfpoles);;
    padding: 100px 45px 70px var(--container-padding);
    width: 440px;
    flex-shrink: 0;
}

#forma .sidebar .title {
    font-size: 36px;
    font-weight: 600;
    line-height: 42px;
}

#forma .sidebar .text {
    font-size: 16px;
    line-height: 24px;
    margin-top: 15px;
}

#forma .sidebar .text a {
    text-decoration: underline;
    color: var(--primary);
    transition: all 300ms ease-in-out;
}

#forma .sidebar .text a:hover {
    opacity: 0.7;
}

#forma .sidebar .text > * + * {
    margin-top: 15px;
}

#forma .sidebar .image {
    max-width: 345px;
    margin-top: 55px;
}

.page-id-266 #forma {
    overflow-x: hidden;
}

.page-id-266 #forma .sidebar .image {
    max-width: initial;
}

.page-id-266 #forma .sidebar .image img {
    max-width: 540px;
    margin-left: -140px;
}

#forma .content {
    width: 100%;
    /* overflow: hidden; */
    background: white;
    margin-right: var(--halfpoles);
    padding: 100px var(--container-padding) 70px 55px;
    box-shadow: 0 7px 25px -5px rgba(0, 0, 0, 0.1);
}

#forma .content:after {
    position: absolute;
    content: '';
    display: block;
    top: var(--header-height);
    right: 0;
    bottom: 0;
    width: var(--halfpoles);
    background: white;
    z-index: 30;
}

body.isolated #forma .content:after {
    top: 0;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(40px, 0, 0);
    transform: translate3d(40px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(40px, 0, 0);
    transform: translate3d(40px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-40px, 0, 0);
    transform: translate3d(-40px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-40px, 0, 0);
    transform: translate3d(-40px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}


@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

.animated {
    -webkit-animation-duration: var(--fade-time);
    animation-duration: var(--fade-time);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: var(--timing);
    animation-timing-function: var(--timing);
}

.animated.infinite {
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

@media (print), (prefers-reduced-motion: reduce) {
    .animated {
        -webkit-animation-duration: 1ms !important;
        animation-duration: 1ms !important;
        -webkit-transition-duration: 1ms !important;
        transition-duration: 1ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important;
    }
}