/* CSS Index
01. Default Styles
    - Tooltips
    - Images
    - Icons
    - Buttons
    - Video
    - Video Box
    - Video Content
    - Lists
    - Forms
02. Grid System
    - Spacing
    - Positioning Content
    - Backgrounds
03. Typography
    - Text Styles
    - Header Styles
    - Badge
04. Navigation
    - Header & Navigation
    - Sub Menu
05. Widgets
	- Logo Slider / Product Slider
	- Product Box
06. Pages
	- Product Landing Page
	- Demos
07. Global Site Sections
    - Features
    - Testimonials
    - Pricing Tables
    - FAQ
    - CTA Box
8. Footer
9. Responsive Styles
*/

*,
*::before,
*::after {
    box-sizing: border-box;
}

:root {
    --gradient: #e42e3f;
    --ess-red: #e42e3f;
    --ess-red-light: #f13b4c;
    --ess-light: #F7F7FA;
    --ess-dark: #10182b;
    --ess-dark-grey: #353535;
    --white: #ffffff;
    --dark: #1E1E1E;
    --grey: #e1e1e1;
    --dark-grey: #828282;
    --light-grey: #F0F2F4;
    --text-grey: #a9a9a9;
    --secondarycolor: rgba(27, 27, 41, 1);
    --light-red: rgba(220, 12, 56, 0.2);
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 5.5rem;
    overflow-x: hidden;
}

body {
    color: var(--dark);
    box-sizing: border-box;
    margin: 0 auto;
    padding: 0;
    max-width: 1770px;
}

body::before {
    content: '';
    position: absolute;
    top: 0;
    right: -170px;
    width: 100%;
    height: 100%;
    background: url(images/fine-line.png) no-repeat right top;
    transform-origin: top right;
    z-index: -1;
}

#language-box {
    display:none;
    text-align:center;
}

#language-box a {
    display:inline-block;
    width:200px;
    margin:0 10px;
}

#language-box img {
    max-width:200px;
    height:100px;
    border-radius:15px;
    margin-bottom: 0.5rem;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
}

.with-featherlight #language-box {
    display:block;
}

/* 01 ############################### Default Styles ############################### */

ul,
li {
    list-style: none;
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
    color: var(--ess-red);
}

ol li {
    list-style: decimal;
}


/* -------------------Tooltips----------------- */

.tooltip {
    position: relative;
    display: inline-block;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: var(--white);
    color: var(--dark);
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;
    font-size: 0.9rem;
    position: absolute;
    z-index: 1;
    box-shadow: 0px 5px 23px 4px rgba(0, 0, 0, 0.1);
}

.tooltip-bottom {
    top: 135%;
    left: 50%;
    margin-left: -60px;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
}

/*  ----------------- Images  ----------------- */

figure {
    position: relative;
    margin: 0;
}

figure img {
    border-radius: 15px;
    box-shadow: 5px 16px 24px rgb(0 0 0 / 16%);
}

img {
    max-width: 100%;
    max-height: 100%;
}

img.no-shadow {
    box-shadow: none;
}

.image-dot-left img,
.image-dot-right img {
    z-index: 1;
    position: relative;
}

.image-dot-left:before {
    content: " ";
    position: absolute;
    background: url(images/dots-big.png) repeat;
    display: block;
    height: 300px;
    width: 460px;
    left: -45px;
    top: -50px;
    z-index: 0;
    border-radius: 15px;
}

.image-dot-right:before {
    content: " ";
    position: absolute;
    background: url(images/dots-big.png) repeat;
    display: block;
    height: 300px;
    width: 460px;
    right: -50px;
    top: -50px;
    z-index: 0;
    border-radius: 15px;
}

.image-dot-right.two-images-box picture:nth-of-type(2) {
    position: absolute;
    left: -50px;
    top: 150px;
    z-index: 1;
}

.image-dot-left.two-images-box picture:nth-of-type(2) {
    position: absolute;
    right: -50px;
    top: 150px;
    z-index: 1;
}


/* Image Style 1 */

.image-style-one {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
}

.image-style-one img {
    width: 100%;
    height: auto;
}

.image-style-one picture:nth-child(2) {
    margin-top:4.5rem;
}


/*  ----------------- Icons  ----------------- */



.icon-shadow {
    background:var(--white);
    height: 75px;
    width: 75px;
    border-radius: 15px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
    text-align: center;
    display: grid;
    place-items: center;
    margin-bottom: 2rem;
    line-height: 78px;
}

.icon-shadow i {
    color: var(--ess-red);
    font-size: 2.5rem;
}

/* --------------------- Buttons -------------------*/

.button {
    background: var(--gradient);
    display: inline-block;
    border-radius: 35px;
    padding: 12px 36px;
    color: var(--white);
    transition: .2s all ease;
    text-align: center;
    font-weight: 500;
    position: relative;
}

.button::before {
    background:linear-gradient(to left, #f0193d 0%, #e42e3f 100%);
    transition: all 0.3s ease-out;
}

.button:after {
    background: linear-gradient(to right, #e42e3f 0%, #dc0c38 100%);
    color: #fff;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.button:hover:after {
    opacity:0;
}

a.button:before, a.button:after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 35px;
}

.button:hover, #main-banner .button:hover  {
    box-shadow: 0 12px 16px hsl(0deg 0% 0% / 20%);
    background: var(--ess-red-light);
    transform: translateY(-5px);
}

#product-banner .cta-double .button.transparent {
    color: var(--dark);
}

#product-banner .cta-double .button.transparent:hover, .button.transparent:hover {
    color: var(--ess-red);
    box-shadow: 0 12px 16px hsl(0deg 0% 0% / 20%);
    
}

.cta-double .hint {
    font-size: 0.9rem;
    display: inline-block;
    padding-left: 1.3rem;
}

#main-header a.button:hover {
    transform:none;
}

.button i {
    line-height: 18px;
    width: 18px;
    position: absolute;
    transition: all .45s cubic-bezier(.25,1,.33,1);
    bottom:-2px;
}

.button:hover i {
    transform:translateX(6px)
}

.button span, .button i {
    position:relative;
    z-index:1;
}

#main-header .button {
    padding: 8px 25px 5px 25px;
}

#main-header a.button::after, #main-header a.button:before, a.button.transparent::after, a.button.transparent::before {
    background:none;
}

.cta-box .button,
#section-banner .button {
    background: var(--gradient);
    color: var(--white)
}

#section-banner .button {
    max-width: 375px;
    margin: 1rem auto;
}
/* Button Transparent */

.button.transparent,
.button.transparent:hover {
    background: none !important;
}

.button.transparent-border {
    background: rgba(250, 250, 250, 0.1);
    box-shadow: none;
    border: 1px solid var(--white);
}


#main-header .button.transparent {
    padding-left: 5px;
    padding-right: 5px;
}

.button.transparent,
#section-banner .button.transparent {
    color: var(--dark);
}

.button.transparent:hover {
    color: var(--ess-red);
}

.link-icon {
    position: relative;
    transition: all 0.2s;
    right: -4px;
    top: 1px;
}

a:hover .link-icon,
.download-report:hover {
    right: -8px;
}


/* Video Button */ 

.button-play {
    display: inline-block;
    width: 110px;
    height: 110px;
    border-radius: 200em;
    text-align: center;
    line-height: 120px;
    color: var(--ess-red);
    font-size: 3rem;
    z-index: 3;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    /* Centers the element */
    position: absolute;
}

.button-play:before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    display: block;
    width: 120px;
    height: 120px;
    background: #fff;
    border-radius: 50%;
}

.button-play:after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    display: block;
    width: 140px;
    height: 140px;
    background: #fff;
    border-radius: 50%;
    transition: all 200ms;
    opacity: 0.4;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
}

.button-play:hover:after {
    background: var(--ess-red);
}

.button-play:hover:before {
    background: var(--ess-red);
}

.button-play:hover {
    color: #fff;
}

.button-play i {
    position: relative;
    z-index: 3;
    font-size: 3.5rem;
}


/*-------------------------------Video-------------------------------*/


.product-media {
    position: relative;
}

#essvideo {
    display: none;
}

#essvideo.featherlight-inner {
    display: block;
}

#essvideo .vimeo-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.vimeo-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.vimeo-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.video-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    /* Adjust this value based on your video's aspect ratio */
    overflow: hidden;
}

.video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.video-container::before,
.video-container::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--white);
    z-index: 1;
}

.video-container::before {
    left: 0;
}

.video-container::after {
    right: 0;
}

.video-container::after {
    content: '';
    position: absolute;
    right: 0;
    height: 100%;
    z-index: 1;
}

.video-container::after {
    top: 0;
}

.video-container::before {
    bottom: 0;
}

/* Video Box */

#video-box {
    padding: 4rem;
    position: relative;
    margin-top: 6rem;
}

#video-box::before {
    position: absolute;
    background: var(--light-grey);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    opacity: 1;
    content: " ";
    z-index: -1;
    border-radius: 25px;
    height: 600px;
}

#video-box .vimeo-wrapper {
    max-width: 1360px;
    margin: -100px auto 0 auto;
    border-radius: 25px;
}


/* Video Content */

.video-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    /* Prevent overflow */
    border-radius: 25px;
    box-shadow: 5px 16px 24px rgb(0 0 0 / 16%);
}

/* Style for the video */
.video-container video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Maintain aspect ratio and cover the container */
    transform: translate(-50%, -50%);
    /* Center the video */
}

video {
    width: 100%;
    height: 100%;
    border-radius: 25px;
    box-shadow: 5px 16px 24px rgb(0 0 0 / 16%);
}


/*---------------------------Lists--------------------------*/

.icon-list {
    margin: 3rem 0 2rem 0;
}

.icon-list li {
    display: grid;
    grid-template-columns: 50px auto;
    gap: 8px;
    line-height: 1.5rem;
}

.icon-list.icon-big li {
    grid-template-columns:90px auto;
    align-items: center;
}

.icon-list.icon-big .icon-shadow {
    margin-bottom:0;
}

.list-icon {
    width: 40px;
    font-size: 1.2em;
    /* Adjust as needed for icon size */
    height: 40px;
    background: #f6dfe1;
    color: var(--ess-red);
    border-radius: 200rem;
    text-align: center;
    align-self: start;
    line-height: 40px;
}

/*------------------------Forms----------------------*/

form {
    position: relative;
}

input,
select,
textarea,
button {
    width: 100%;
    border-radius: 15px;
}

input,
select,
textarea {
    background: var(--light-grey);
    border-radius: 15px;
    border: none;
    padding: 1rem;
}

#main-footer input {
    background: var(--ess-dark-grey);
    color: var(--light-grey);
}

.newsletter-footer button {
    position: absolute;
    right: 5px;
    top: 5px;
    width: 113px;
    padding: 0.7rem;
    border: none;
    border-radius: 12px;
    background: var(--ess-red);
    color: var(--white);
    font-weight: 500;
}

form .hint {
    display: grid;
    grid-template-columns: 34px 1fr;
    padding-top: 0.7rem;
}

form .hint input {
    width: 15px;
    height: 15px;
    border-radius: 5px;
}

button {
    cursor: pointer;
}

.hint {
    color: var(--dark-grey);
    font-size: 1rem;
    line-height: normal;
}


/* Klaviyo Forms */



.kl-private-reset-css-Xuajs1 input {
    width:100%!important;
}

.kl-private-reset-css-Xuajs1 button.kl-private-reset-css-Xuajs1 {
    padding:0!important;
}

/* 02 ############################### Grid System ############################### */

.row {
    max-width: 1560px;
    margin: 0 auto;
    display: grid;
}

.row-condensed {
    max-width: 1270px;
    margin: 0 auto;
    display: grid;
}

.full-width {
    left: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    max-width: 100vw;
    position: relative;
    right: 50%;
    width: 100vw;
    display:block;
}

.one-c {
    display: grid;
    grid-template-columns: 1fr;
}

.two-c {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
}

.two-uc {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 2.5rem;
}

.three-c {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2.5rem;
}

.three-uc {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 2.5rem;
}

.four-c {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.five-c {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.5rem;
}

.six-c {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.5rem;
}

.seven-c {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.5rem;
}

.eight-c {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.5rem;
}

.twelve-c {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 2.5rem;
}

.two-one-c {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 4.5rem;
}


/*  ----------------- Spacing  ----------------- */

.spacing-200 {
    padding: 2rem 0;
}

.spacing-300 {
    padding: 3rem 0;
}

.spacing-400 {
    padding: 4rem 0;
}

.spacing-500 {
    padding: 5rem 0;
}

.spacing-600 {
    padding: 6rem 0;
}

.spacing-700 {
    padding: 7rem 0;
}

.spacing-900 {
    padding: 9rem 0;
}

.spacing-negative {
    margin-top: -5rem;
}

.no-spacing-bottom {
    padding-bottom: 0;
}

.no-spacing-top {
    padding-top: 0;
}


/*  ----------------- Positioning Content  ----------------- */

.v-center-content {
    align-self: center;
}

.h-center-content {
    max-width: 580px;
    margin: 0 auto;
}

.h-v-center {
    max-width: 580px;
    margin: 0 auto;
    align-self: center;
}


/*  ----------------- Backgrounds ----------------- */

.bg-light-grey {
    position: relative;
    background: var(--light-grey);
}

.bg-image-half {
    position: relative;
}

/* 03 ############################### Typography ############################### */


body,
h1,
h2,
h3,
h4,
h5,
h6,
textarea,
select,
button {
    font-family: 'Roboto', sans-serif;
}

body,
input,
textarea,
select,
button {
    font-size: 1.1rem;
    line-height: 2.1rem;
    color: var(--dark);
}

h1 {
    font-style: normal;
    font-size: 5rem;
    margin-bottom: 2rem;
    line-height: normal;
}


h2 {
    font-size: 2.8rem;
    font-weight: normal;
    line-height: 3.6rem;
}

h3 {
    font-weight: 700;
}

h4 {
    line-height: 1.4;
}

h5 {
    font-weight: 500;
    font-size: 1.2rem;
}

.cta-box h3 {
    font-size: 2.5rem;
    margin-bottom: 0;
}

h1 span,
h2 span,
h3 span {
    font-weight: 700;
    color: var(--gradient);
}



/*  ----------------- Text Styles  ----------------- */

.text-center {
    text-align: center;
}

.text-big {
    font-size: 1.4rem;
    line-height: 2.2rem;
}

.mini-title {
    font-weight: bold;
    color: var(--ess-red);
    display: inline-block;
    text-transform: uppercase;
    font-size: 0.9rem;
}

#banner p {
    font-size: 2rem;
    line-height: 2.4rem;
    margin-top: 0;
}

.text-deco:before {
    content: "";
    width: 5px;
    background: var(--tur);
    height: 20px;
    display: inline-block;
    margin-right: 12px;
    position: relative;
    top: 3px;
}

/*  ----------------- Header Styles  ----------------- */

.header-style-one {
    max-width: 910px;
    margin: 0 auto 5rem auto;
}

.header-style-one p {
    font-size: 1.3rem;
    color: var(--dark-grey);
}

.header-style-one span,
.header-style-two span {
    font-weight: 700;
}

.header-style-three {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5.5rem;
    max-width: 1260px;
    margin: 0 auto;
    align-items: end;
}

.header-style-three h2,
.header-style-three p {
    padding-top: 0;
    margin-top: 0;
}


.header-style-four {
    display: grid;
    grid-template-columns: repeat(12, 1fr);

}

#section-banner .header-style-four h1 {
    font-size: 4.5rem;
}

.header-style-four h1,
.mini-title {
    grid-column: 3 / span 7;
}

.header-style-four p {
    grid-column: 6 / span 5;
    font-size: 1.4rem;
    color: var(--dark-grey);
}

.header-style-four .cta-double {
    grid-column: 6 / span 5;
}


.twelve-c.story p,
.twelve-c.story h2,
.twelve-c.story blockquote {
    grid-column: 4 / span 6;
}

.twelve-c.story {
    row-gap: 0;
}

.image-right {
    text-align: right;
}

.story-img {
    grid-column: 2 / span 10;
    margin: 1.5rem 0;
}

.story h2 {
    font-weight:700;
}

/* Badge*/

#badge {
    display: block;
    width: 250px;
    height: 250px;
    border-radius: 25px;
    text-align: center;
    line-height: normal;
    background: var(--gradient);
    color: var(--white);
    position: absolute;
    left: 200px;
    top: -75px;
    font-size: 1.7rem;
    padding: 1rem;
}

#badge span {
    font-weight: 700;
    font-size: 6.5rem;
    display: block;
    margin-top: 1rem;
}



/* 04 ############################### Navigation ############################### */

/*  ----------------- Header & Navigation  ----------------- */

.main-header-inner {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    align-items: center;
    justify-content: center;
    top: 15px;
    width: 100%;
    max-width: 1770px;
    z-index: 99;
    box-sizing: border-box;
    height: 95px;
    font-size: 1.2rem;
    border-radius: 25px;
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    transition: .2s all ease-in;
}

.home .main-header-inner {
    background:var(--white);
}

.sticky .main-header-inner {
    background: var(--white);
    transition: all .2s;
    top: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    box-shadow: 0px 5px 23px 4px rgba(0, 0, 0, 0.1);
}

#main-header .main-header-inner nav {
    text-align: center;
}

#main-header ul {
    margin: 0;
    padding: 0;
}

#main-header .main-header-inner li {
    padding: 0 17px;
    display: inline-block;
}

#main-header .main-header-inner li a {
    display: inline-block;
    text-decoration: none;
    position: relative;
    font-weight: 500;
    color: var(--dark);
    transition: .2s all ease-in;
}

#main-header .main-header-inner nav a {
    height: 95px;
    line-height: 95px;
}

#main-header .main-header-inner nav a:hover,
#main-header aside#header-cta a:hover {
    color: var(--ess-red);
}

#header-cta {
    text-align: right;
}

#main-header #header-cta li {
    padding-left: 0;
}

#main-header aside#header-cta a.button:hover {
    background: var(--ess-red) !important;
    color: var(--white);
}

.nav-title img {
    border: 1px solid var(--grey);
    padding: 10px;
    border-radius: 5px;
    height: 50px;
    width: 50px;
    float: left;
}

/* ----------------------Sub Menu---------------------- */

#main-header .main-header-inner .sub-menu {
    background: var(--white);
    width: 100%;
    position: absolute;
    top: 95px;
    left: 0;
    color: var(--dark);
    opacity: 0;
    visibility: hidden;
    transition: opacity 200ms ease-in, transform 200ms ease-in, visibility 200ms ease-in;
    box-shadow: 0px 5px 23px 4px rgba(0, 0, 0, 0.1);
    text-align: left;
    padding: 25px;
    max-width: 1260px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 15px;
}

#main-header .main-header-inner .sub-menu .three-c {
    max-width: 900px;
    margin: 0 auto;
}

#main-header .main-header-inner .sub-menu a {
    color: var(--dark) !important;
    transition: .2s all;
}

#main-header .main-header-inner .sub-menu a::before {
    display: none;
}

#main-header .main-header-inner .sub-menu a:hover {
    color: var(--dark) !important;
    opacity: 1;
}

#main-header .main-header-inner .sub-menu a:hover span {
    color: var(--ess-red) !important;
}

#main-header .main-header-inner .sub-menu h5 {
    font-weight: 600;
    margin-bottom: 0.5rem;
    transition: .2s all;
}

#main-header .main-header-inner nav .sub-menu ul li {
    display: block;
    padding:0;
}

#main-header .main-header-inner nav .sub-menu a {
    font-weight: normal;
    line-height: normal;
    padding: 1rem;
    text-transform: none;
    display: block;
    transition: .2s all ease-in;
    color: var(--dark);
    height: unset;
    font-size: 1.1rem;
    padding: 1rem;
}

#main-header .main-header-inner nav .sub-menu a:hover {
        background: var(--ess-light);
        border-radius: 15px;
}

.sub-menu span {
    font-weight:500;
    margin-bottom: 0.5rem;
    transition: .2s all;
    font-size: 1rem;
    line-height: 1.4rem;
}

#main-header .sub-menu span i {
    margin-bottom: 0.5rem;
    transition: .2s all;
    font-size: 1rem;
    line-height: 1.4rem;
    position:relative;
    bottom:-1px;
}

.sub-menu p {
    font-size: 1rem;
    line-height: 1.4rem;
}

#main-header .main-header-inner nav .sub-menu a:hover {
    color: var(--ess-red);
}

#main-header .main-header-inner nav .menu-item-has-children:hover .sub-menu {
    opacity: 1;
    visibility: visible;
}

.menu-item-has-children svg {
    transform: rotate(90deg);
    position: relative;
    top: 2px;
    left: 5px;
}


/* -------------------Responsive Navigation---------------- */

.navbar {
    color: var(--white);
    position: fixed;
    top: 30px;
    right: 10px;
    display: none;
    z-index: 99;
}

.navbar li.navbar-header {
    border-bottom: 1px solid #e1e1e1;
    margin-bottom: 15px;
}


.navbar-toggle {
    border: none;
    background-color: transparent;
    cursor: pointer;
    right: 5px;
    position: relative;
}

.navbar-toggle .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    margin: 4px 0;
    background-color: var(--dark);
    transition: all 0.3s ease-in-out;
}

.open-menu .navbar-toggle .icon-bar:nth-of-type(2) {
    opacity: 0;
}

.open-menu .navbar-toggle .icon-bar:nth-of-type(1) {
    transform: translateY(6px) rotate(45deg);
}

.open-menu .navbar-toggle .icon-bar:nth-of-type(3) {
    transform: translateY(-6px) rotate(-45deg);
}

.navbar-collapse {
    position: fixed;
    top: 0;
    right: -330px;
    width: 330px;
    height: 100%;
    background-color: var(--white);
    z-index: 9999;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    transition: right 0.5s ease;
    overflow-y: auto
}

.navbar-collapse.open {
    right: 0;
}

.navbar-nav {
    margin: 0;
    padding: 0;
    list-style: none;
}

.navbar i {
    position: relative;
    top: 3px;
    margin-right: 0.5rem;
}

#main-header .navbar-nav li {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2rem;
    display: block;
}

#main-header .navbar-nav li a {
    display: block;
    padding: 0.6rem 1rem;
    position: relative;
}

#main-header .navbar-nav li a.button {
    color: var(--white);
}

#main-header .navbar-nav li a.button.button.transparent {
    color: var(--dark);
}

.navbar-nav .navbar-header img {
    max-width: 60px;
    margin: 10px 0 10px 10px;
}

#main-header .navbar-nav li.navbar-header {
    display: grid;
    grid-template-columns: 85px 2fr;
    color: var(--dark);
    margin-bottom: 0;

}

#main-header .navbar-nav li.navbar-header div {
    align-self: center;
    font-weight: 600;
}

.navbar-nav li a {
    display: block;
    padding: 10px;
    color: var(--dark);
    text-decoration: none;
}

.dropdown-menu {
    display: none;
    position: static;
    margin: 0;
    padding: 1rem;
    width: auto;
    border: none;
    box-shadow: none;
    margin-left: -1rem;
}

.dropdown-menu li a {
    display: block;
    padding: 10px 10px 10px 48px !important;
    color: var(--dark);
    text-decoration: none;
    font-weight: normal;
    border: none;
}

.navbar .close {
    position: absolute;
    right: 22px;
    font-size: 19px;
    cursor: pointer;
    top: 29px;
    color: var(--dark);
}

.open-menu {
    overflow: hidden;
}

#main-header .navbar-nav .sub-menu-title {
    text-transform: uppercase;
    color: var(--dark);
    font-weight: 500;
    font-size: 0.9rem;
    padding: 15px 10px 5px 25px;
    position: relative;
}

#main-header .navbar-nav li a {
    border-bottom: 1px solid var(--grey);
    padding: 1rem;
}

.sub-menu-title:before {
    content: "";
    height: 18px;
    width: 3px;
    position: absolute;
    left: 15px;
    top: 15px;
}

#res-nav-contact {
    padding: 1rem;
    margin-top: 0.5rem;
}

#res-nav-contact .button {
    margin-bottom: 0.5rem;
    padding: 1rem !important;
}

#res-nav-contact .button.transparent {
    border: 1px solid var(--grey);
    background: none;
    color: var(--dark);
}

#res-nav-contact ul {
    display: block !important;
}

.caret {
    position: absolute;
    right: 28px;
    top: 23px;
    opacity: 0.6;
    transform: rotate(90deg);
}


#main-header i {
    font-size: 1.6rem;
}

/* ----------------------Logo------------------------- */

#logo {
    height: 95px;
    line-height: 95px;
    text-transform: none;
    font-weight: 600;
    font-size: 1.5rem;
}

#logo a {
    display: block;
    color: var(--dark);
}

#logo a figure {
    border-radius: 15px;
    display: block;
    width: 85px;
    height: 85px;
    text-align: center;
    top: 10px;
    left: 0.5rem;
    position: relative;
    float: left;
    margin-right: 1rem;
}

#logo img {
    max-width: 65px;
    position: relative;
    top: 7px;
    box-shadow: none;
}


#main-header .main-header-inner a.button {
    padding: 10px 20px;
    border: 1px solid var(--ess-red);
    color: var(--ess-red);
}

#main-header .main-header-inner a.button:hover {
    background: var(--ess-red);
    color: var(--white);
}

/*---------------------- Footer --------------------- */

#main-footer {
    background: var(--dark);
    color: var(--text-grey);
}

#main-footer h5 {
    margin-bottom: 0.5rem;
    color: var(--white);
}

#main-footer a {
    color: var(--text-grey);
    transition: .2s all;
}

#main-footer a:hover {
    color: var(--ess-red);
}

#copyright {
    border-top: 1px solid var(--ess-dark-grey);
    font-size: 1rem;
    padding-top: 1rem;
}

#copyright ul {
    text-align: right;
}

#copyright ul li {
    display: inline-block;
    padding-left: 0.5rem;
}

.social-media-footer a {
    font-size: 1.8rem;
    display: inline-block;
    margin-right: 0.5rem;
}

#main-footer img {
    max-width: 120px;
    margin-top: 1.5rem;
}

/* 05 ############################### Widgets ############################### */

/* ----------------- Logo Slider ------------------ */

.logo-slider {
    overflow: hidden;
    padding: 30px 0 0 0;
    white-space: nowrap;
    position: relative;
    text-align: center;
}

.logo-slider .text-small {
    font-size: 0.8rem;
    margin-bottom: 1rem;
    color: var(--grey);
    display: none;
}

.logos-slide {
    display: inline-block;
    animation: 45s slide infinite linear;
}

.logos-slide img {
    max-width: 137px;
    max-height: 75px;
    margin: 0 40px;
    filter: grayscale(100%);
    display: inline-block;
    vertical-align: middle;
    opacity: 0.6;
}

.logos-slide::before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}


@keyframes slide {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

.logo-slider:before {
    left: 0;
    background: linear-gradient(to left, rgba(255, 255, 255, 0), rgb(255, 255, 255));
}

.logo-slider:after {
    right: 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), rgb(255, 255, 255));
}

.logo-slider:before,
.logo-slider:after {
    position: absolute;
    top: 0;
    content: '';
    width: 250px;
    height: 100%;
    z-index: 2;
}

/* Product Slider */

#product-slider {
    background: var(--ess-light);
    border-radius: 25px;
    padding: 5rem;
}

.product-slider {
    overflow: hidden;
    padding: 30px 0 40px 0;
    white-space: nowrap;
    position: relative;
    text-align: center;
}

.product-slide {
    display: inline-block;
    animation: 45s slide infinite linear;
}

.product-slide img {
    max-height: 295px;
    display: inline-block;
    vertical-align: middle;
    opacity: 1;
    border-radius: 25px;
    box-shadow: 5px 16px 24px rgb(0 0 0 / 16%);
}

.product-slide::before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}


@keyframes slide {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

.product-slider:before {
    left: 0;
    background: linear-gradient(to left, rgba(247, 247, 255, 0), rgb(247, 247, 255));
}

.product-slider:after {
    right: 0;
    background: linear-gradient(to right, rgba(247, 247, 255, 0), rgb(247, 247, 255));
}

.product-slider:before,
.product-slider:after {
    position: absolute;
    top: 0;
    content: '';
    width: 250px;
    height: 100%;
    z-index: 2;
}

/* ----------------- Product Box ------------------ */

.product-box {
    background: var(--white);
    padding: 1rem;
    border-radius: 25px;
    transition: .2s all ease-in-out;
    z-index: 2;
    box-shadow: 0 .5vw 4vw -.7vw rgba(0, 0, 0, .2);
}


.product-box img {
    border-radius: 10px;
}

.product-box:hover {
    background: var(--white);
    box-shadow: 0 .5vw 2vw -.2vw rgba(0, 0, 0, .25);
}

.product-box:hover h3 {
    color: var(--ess-red);
}

.product-box a {
    color: var(--dark);
}

.product-box h3 {
    font-size: 1.4rem;
    margin-bottom: 0;
    transition: .2s all;
}

.product-content {
    padding: 0 1rem;
}

/* 06 ############################################## Pages ################################################# */

/* --------------- Product Landing Page ---------------- */

#product-banner h1 {
    font-size: 3.2rem;
}

.product-intro {
    grid-column: 1 / span 4;
}

.product-media {
    grid-column: 5/ span 8;
    position: relative;
    padding-left: 2rem;
}

.product-media img {
    box-shadow:none;
}

.testimonial.testimonial-box {
    background: var(--white);
    position: absolute;
    left: -25px;
    bottom: -100px;
    z-index: 1;
    width: 345px;
    padding: 1.5rem 0 1.5rem 1.5rem;
    box-shadow: 5px 16px 24px rgb(0 0 0 / 16%);
}

.testimonial.testimonial-box cite img {
    width: 55px;
    height: 55px;
}


/* ---------------------------------- Demos -------------------------------------- */

#demos input {
    background: var(--white);
    border: 1px solid var(--grey);
    margin-bottom: 0.5rem;
    border-radius: 15px;
}

#demos button {
    border: none;
    border-radius: 15px;
}

.product-download {
    display:grid;
    grid-template-columns: 380px 1fr;
    gap: 2.5rem;
    background: var(--white);
    padding: 1rem;
    border-radius: 25px;
    transition: .2s all ease-in-out;
    box-shadow: 0 .5vw 4vw -.7vw rgba(0, 0, 0, .2);
}

.product-download img {
    border-radius:10px;
}

.product-download .button {
    margin-right:0.5rem;
}


/* 07 ############################### Sections on Sites ############################### */



/*  ----------------- Home ------------------ */

/* Banner */

#main-banner {
background: linear-gradient(40deg, rgba(255,255,255,1) 0%, rgba(236,236,236,1) 100%);
    place-items: center;
    display: grid;
    position: relative;
    padding: 12rem 0;
    height: 950px;
}


#main-banner-content {
    grid-column: 1 / span 5;
    position: relative;
    z-index: 3;
}

#main-banner .cta-double {
    margin-top: 4rem;
}

#main-banner h1 {
    font-size: 4.6rem;
    font-weight: 700;
    margin-top: 0;
}

#main-banner-content .text-big {
    color: var(--dark-grey);
}

.image-container {
    position: absolute;
    right: 0px;
    z-index: 1;
    top: 0;
}

.image-container img {
    max-height: 840px;
}

body.home {
    background-image:none;
}

.total-users {
    max-width:400px;
    display:grid;
    grid-template-columns:170px 1fr;
    margin:2rem 0 0 0;
    padding:2rem 0 0 0;
    position:relative;
}

.total-users::before {
    display:block;
    content:" ";
    width:100px;
    height:3px;
    background:var(--grey);
    position:absolute;
    top:0;
    left:0;
}

.total-users p {
    font-size:0.9rem;
    line-height:normal;
}

.total-users span {
    font-weight:bold;
}


/* ---------------------Feedback & Testimonials---------------- */

.home #feedback {
    background:url(images/world-map.png) no-repeat top center;
}

#feedback {
    position: relative;
}

.three-c.spacing-400 .testimonial:nth-child(2n) {
    box-shadow: 0 .5vw 4vw -.7vw rgba(0, 0, 0, .2);
}

.testimonial {
    background: var(--white);
    padding: 3rem;
    border-radius: 25px;
}

.testimonial h5 {
    margin: 0;
    font-size: 1.4rem;
    margin-bottom: 1rem;
}

blockquote {
    margin: 0;
    padding: 0;
}

.testimonial q {
    font-size: 1.1rem;
    display: block;
    margin-bottom: 1rem;
}

cite {
    text-transform: none;
    font-weight: bold;
    line-height: normal;
}

cite span {
    display: block;
    font-weight: normal;
    color: var(--dark-grey);
}

.testimonial cite img {
    border-radius: 200rem;
    max-width: 65px;
    float: left;
    margin-right: 1rem;
}

.testimonial-big q {
    font-size: 1.8rem;
}

.star-rating {
    max-width: 100px;
}

.quote-box {
    width: 570px;
    background: var(--white);
    position: absolute;
    padding: 3rem;
    border-radius: 25px;
    box-shadow: 0 .5vw 4vw -.7vw rgba(0, 0, 0, .2);
    bottom: -30px;
    z-index:1;
}


.quote-box q {
    font-size: 1.8rem;
    line-height: 2.4rem;
    position: relative;
}

.quote-box q::before {
    content: "\201C";
    font-family: Arial, sans-serif;
    font-size: 2em;
    line-height: 0.1em;
    vertical-align: -0.4em;
    display: block;
    color: var(--ess-red);
    font-size: 5em;
    font-weight: 900;
    margin: 2.5rem 0 2rem 0;
}

.quote-box cite {
    display: grid;
    margin-top: 1rem;
    grid-template-columns: 115px 250px;
    align-items: center;
}

.quote-box cite span {
    margin-top: 0.3rem;
}

.quote-box img {
    border-radius: 200rem;
    max-width: 100px;
    float: left;
    margin: 1rem 0 0 0;
}

cite {
    font-style: normal;
}

q:before,
q:after {
    content: ''
}


#main-banner .testimonial {
    position: absolute;
    bottom: -20px;
    right:5%;
    z-index: 5;
    box-shadow: 0 .5vw 4vw -.7vw rgba(0, 0, 0, .2);
    max-width: 580px;
    padding: 1.5rem 2rem;
}

/* ------------------------- FAQ ------------------------ */

#faq {
    background: var(--ess-light);
}

#faq .accordion {
    max-width: 960px;
}

.accordion {
    margin: auto;
    width: 100%;
}

.accordion-item {
    cursor: pointer;
    border-radius: 15px;
    margin-bottom: 1rem;
    border-radius: 15px;
}

.accordion-header {
    background: var(--white);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    border-radius: 15px;
    cursor: pointer;
    padding: 15px;
    margin: 0;
    transition: all 0.3s;
    position: relative;
}

h3.accordion-header {
    font-weight: 500;
    font-size: 1.1rem;
}

.accordion-header::after {
    content: '+';
    font-size: 1.2rem;
    position: absolute;
    right: 15px;
    font-weight: normal;
}

.accordion-header.active::after {
    content: '-';
}

.accordion-header:hover {
    box-shadow: 5px 16px 24px rgb(0 0 0 / 16%);
    color: var(--ess-red);
}

.accordion-content {
    display: none;
    padding: 15px;
    background: var(--white);
    border-bottom-left-radius: 25px;
    border-bottom-right-radius: 25px;
    margin-top: -15px;
    padding-top: 15px;
}

.active .accordion-content {
    display:block;
}

/* -----------------------Numbers--------------------- */

.number {
    display: block;
    line-height: normal;
    font-weight: 700;
    font-size: 4rem;
    margin-bottom: 2rem;
}

#stats .two-c,
#image-grid .two-c {
    column-gap: 1rem;
    row-gap: 1rem;
}

#stats div,
#image-grid div {
    border-radius: 25px;
    overflow: hidden;
}

#stats img,
#image-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#image-grid .right-column div:nth-child(1) {
    background: var(--gradient)
}

#image-grid .right-column div:nth-child(4) {
    background: var(--dark);
}

#banner-grid #image-grid .left-column {
    background: var(--ess-red);
    color: var(--white);
}

/* -------------------CTA Bottom-----------------*/

#cta-bottom {
    background: var(--ess-light);
}

#cta-bottom .header-style-one {
    margin-bottom: 0;
}

#cta-bottom .row-condensed {
    background: var(--white);
    border-radius: 25px;
    margin-bottom: -50px;
    position: relative;
    z-index: 1;
    box-shadow: 0px 5px 23px 4px rgba(0, 0, 0, 0.1);
}



/*---------------------Section Banner--------------------*/

#section-banner {
    padding-top: 90px;
}

#section-banner h1 {
    font-size: 4.2rem;
    margin: 0;
}

.section-image {
    position:relative;
    max-width:1770px;
    margin:0 auto;
}

/* ---------------------------Tabs----------------------- */

.tab-container {}

.tabs {
    display: flex;
    background-color: #fff;
    border-radius: 35px;
    max-width: 680px;
    margin: 0 auto;
    text-align: center;
    justify-content: space-evenly;
    padding: 5px;
    margin-top: -30px;
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}

.tab {
    padding: 10px 25px;
    cursor: pointer;
    transition: background-color 0.3s;
    border-radius: 25px;
    width: 100%;
    text-transform: uppercase;
    font-weight: 500;
}

.tab:hover {
    background-color: var(--tur);
    color: var(--white);
}

.tab.active {
    background-color: var(--tur);
    color: var(--white);
}

.content {
    display: none;
}

.content.active {
    display: block;
}



/* -----------------------------------------External Plugins----------------------------------------- */
/* -------------------------------------------------------------------------------------------- */


/**
 * Featherlight – ultra slim jQuery lightbox
 * Version 1.7.13 - http://noelboss.github.io/featherlight/
 *
 * Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com)
 * MIT Licensed.
**/

.featherlight-inner .two-c {
    max-width: 1210px;
    margin: 150px auto 0 auto;
}

[class*='lightbox-content-'] {
    display: none;
}

html.with-featherlight {
    /* disable global scrolling when featherlights are visible */
    overflow: hidden;
}

.featherlight {
    display: none;
    /* dimensions: spanning the background from edge to edge */
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2147483647;
    /* z-index needs to be >= elements on the site. */
    /* position: centering content */
    text-align: center;
    /* insures that the ::before pseudo element doesn't force wrap with fixed width content; */
    white-space: nowrap;
    /* styling */
    cursor: pointer;
    /* IE8 "hack" for nested featherlights */
}

/* support for nested featherlights. Does not work in IE8 (use JS to fix) */

.featherlight:before {
    /* position: trick to center content vertically */
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.featherlight .featherlight-content {
    /* make content container for positioned elements (close button) */
    position: relative;
    /* position: centering vertical and horizontal */
    vertical-align: middle;
    display: inline-block;
    justify-content: center;
    /* dimensions: cut off images */
    overflow: auto;
    /* dimensions: handling large content */
    margin: 0;
    height: 100%;
    width: 100%;
    /* styling */
    cursor: auto;
    /* reset white-space wrapping */
    white-space: normal;
    background: url(images/fine-line.png) no-repeat left top;
    background-color: #fff;
}

/* contains the content */
.featherlight .featherlight-inner {
    /* make sure its visible */
    vertical-align: middle;
    margin-top: 4rem;
}

#essvideo.featherlight-inner {
    margin-top:0;
}

.featherlight-image {
    border-radius: 25px;
    box-shadow: 5px 16px 24px rgb(0 0 0 / 16%);
}

/* don't show these though */
.featherlight script.featherlight-inner,
.featherlight link.featherlight-inner,
.featherlight style.featherlight-inner {
    display: none;
}

.featherlight .featherlight-close-icon {
    /* position: centering vertical and horizontal */
    position: fixed;
    z-index: 9999;
    top: 25px;
    right: 25px;
    line-height: 25px;
    width: 50px;
    height: 50px;
    font-size: 25px;
    border-radius: 200em;
    cursor: pointer;
    text-align: center;
    font-family: Arial, sans-serif;
    background: var(--ess-red);
    color: var(--white);
    border: none;
    padding: 0;
}

.featherlight .featherlight-close-icon::-moz-focus-inner {
    border: 0;
    padding: 0;
}

.featherlight-iframe .featherlight-content {
    border-bottom: 0;
    padding: 0;
    -webkit-overflow-scrolling: touch;
}

.featherlight iframe {
    /* styling */
    border: none;
}

.featherlight * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}


/* -----------------------------------------Responsive----------------------------------------- */
/* -------------------------------------------------------------------------------------------- */


.hide-desktop {
    display: none;
}

@media (max-width:575px) {

    body, input, textarea, select, button {
        line-height: 1.7rem;
    }


    /* Defaults & Layout */

    #main-nav,
    #header-cta,
    .vertical-line,
    .hide-mobile,
    #section-style-boxed .row img,
    .featherlight-inner::after,
    .image-dot-left:before,
    .image-dot-right:before,
    #badge, body::before, #main-banner .testimonial, .home .image-container {
        display: none;
    }

    .hide-desktop, 
    .one-c,
    .two-c,
    .two-uc,
    .three-c,
    .three-uc,
    .four-c,
    .five-c,
    .six-c,
    .seven-c,
    .eight-c,
    .twelve-c,
    .navbar,
    .two-one-c,
    .header-style-four {
        display: block;
    }

    main,
    #main-banner-content,
    #cta-bottom .row-condensed, #faq, .full-width {
        padding: 0 1.5rem;
    }

    #section-style-boxed .row {
        margin: -75px auto 0 auto;
    }

    .image-dot-right.two-images-box .image-two {
        position: absolute;
        left: 20px;
        top: 150px;
        z-index: 1;
        max-width: 140px;
    }

    .open-menu .main-header-inner {
        z-index: 97;
    }

    body.open-menu::after {
        background:rgba(0,0,0,0.8);
        content: " ";
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 98;
    }

    .open-menu .navbar-collapse.open {
        z-index: 101;
    }


    /* Spacing */

    .spacing-900,
    .spacing-700,
    .spacing-600,
    .spacing-500 {
        padding: 3rem 0;
    }

    .spacing-400 {
        padding: 2rem 0;
    }

    #feedback .header-style-one {
        padding: 2rem 0 0 0;
    }


    .header-style-one {
        margin-bottom: 1rem;
    }

    #main-footer,
    #section-banner {
        padding: 0 1.5rem;
    }

    .main-header-inner {
        top:0;
    }

    #essvideo.featherlight-inner {
        margin-top: 95px;
        box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
        border-radius: 25px;
        max-width: 400px;
        margin: 95px auto;
    }


    /* Header */

    .main-header-inner {
        height: 85px;
        grid-template-columns: 2.5fr 1fr;
        border-radius:0;
    }

    .sticky .main-header-inner {
        border-radius: 0;
    }

    #logo a figure {
        top: 10px;
        left: 0.5rem;
        width: 65px;
    }

    #logo {
        font-size: 1.2rem;
    }

    #logo img {
        position: absolute;
        max-width: 50px;
        left: 15px;
        margin-right: 0.5rem;
    }

    .navbar-nav li.navbar-header img {
        max-width: 60px;
        margin: 10px 0 10px 10px;
    }


    /* Header Styles */

    .header-style-three, .header-style-one, .header-style-four {
        display: block;
        text-align:center;
    }

    .header-style-four {
        padding-top:7rem;
    }

    .product-intro, #section-banner .header-style-one {
        padding-top:5rem;
    }

    
    .header-style-one p, .header-style-four p {
        font-size: 1.1rem;
        line-height: 1.6rem;
    }

    .story.spacing-400 {
        padding:0;
    }

/* Buttons */

#section-banner .button {
    margin:0;
}

    /* Typography */

    h1, #section-banner .header-style-four h1, #product-banner h1, #section-banner h1 {
        font-size: 2.2rem;
    }

    h2 {
        font-size: 2em;
        line-height: 2.3rem;
    }

    h4 {
        font-size: 1.3rem;
        margin-bottom: 0;
    }

    .text-big {
        font-size: 1.2rem;
        line-height: 2rem;
    }

    /* Images */

    .image-style-one picture:nth-child(2) {
        margin:0;
    }

    .image-style-one {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
        margin-bottom:4rem;
    }

    .image-dot-left.two-images-box picture:nth-child(2) {
        right: 43px;
        top: 150px;
        z-index: 1;
        max-width: 120px;
    }

    .image-dot-right.two-images-box picture:nth-child(2) {
        left: 43px;
        top: 150px;
        z-index: 1;
        max-width: 120px;
    }

    .two-images-box {
        margin-bottom: 4rem;
    }

figure.spacing-700, picture.spacing-700 {
    padding:0;
}

img.full-width {
    padding:0;
}

    /*--------------Sections------------*/

    /* Home Banner */

    #main-banner {
            padding: 120px 0 50px 0;
            height: 780px;
            text-align: center;
    }

    #main-banner h1 {
        font-size: 3rem;
        margin-top: 0;
    }

    #main-banner .cta-double {
        margin-top: 2rem;
    }

    /* Product Box */

    .product-box {
        box-shadow: 0 .5vw 4vw -.7vw rgba(0, 0, 0, .2);
        margin-bottom: 1rem;
    }

    /* CTA Box */

    .cta-box {
        height: unset;
    }

    .cta-content {
        margin: -35px 1rem 2.5rem 1rem;
    }

    .cta-image {
        position: relative;
        left: 0;
        top: -25px;
        max-width: 310px;
        margin: 0 auto;
    }

    .cta-box h3 {
        font-size: 2.2rem;
    }

    #cta-bottom .row-condensed {
        padding:2rem;
    }

    /* Login Box */

    .login-page #section-banner.section-banner-v2 h1 {
        font-size: 2.2rem;
    }

    #login-box a {
        border-right: none;
        border-bottom: 1px solid var(--grey);
        display: grid;
        grid-template-columns: 100px 2fr;
        text-align: left;
        gap: 1.5rem;
        line-height: normal;
        padding-bottom: 1rem;
        margin-bottom: 1rem;
    }

    #login-box h3 {
        font-size: 1.2rem;
        font-weight: 500;
        margin: 0;
        padding: 0;
        margin-bottom: 0.5rem;
    }

    #section-style-boxed #login-box img {
        max-width: 110px;
        display: block;
    }

    #section-style-boxed #login-box p {
        display: none;
    }



    /* Quote Box */

    .quote-box {
        position: relative;
        bottom: 0;
        width: 100%;
        display: none;
    }

    /* Testimonial */

    .testimonial {
        padding: 1.5rem;
    }

    .three-c.spacing-400 .testimonial:nth-child(2n) {
        box-shadow: none;
        background: var(--ess-light);
        margin:1rem 0;
    }


    /* Contact Us & Forms */

    #contact-us {
        display: block;
    }

    #contact-us div {
        margin-bottom: 0.5rem;
    }

    /* Product Landing Page*/

    .product-intro {
        text-align:center;
    }

    .cta-double .hint {
     display:none;
    }

    #stats div, #image-grid div {
        overflow:unset;
    }

    #stats img, #image-grid img {
        border-radius:25px;
    }

    #image-grid .right-column div:nth-child(1), #image-grid .right-column div:nth-child(4) {
        background:none;
    }

    .video-container {
        margin-bottom:4rem;
    }

    .two-c.spacing-600 {
        padding:1rem 0;
    }

    .icon-list li {
        padding:1rem;
    }


    .product-media {
        padding-left: 0;
    }

    #video-box {
        padding: 1rem;
        margin-top: 3rem;
    }

    #video-box .vimeo-wrapper {
        margin: 0 auto 0 auto;
        border-radius: 25px;
    }

    #video-box::before {
        height: unset;
    }


    #product-slider {
        padding:1rem;
    }

    .product-slider:before, .product-slider:after {
        width: 45px;
    }


    /* Footer */

    #copyright ul {
        text-align: left;
    }

    #copyright ul li {
        padding-left: 0;
        padding-right: 0.5rem;
    }



}

/* Small Devices (Phones to Tablets) */
@media (min-width: 576px) and (max-width: 767px) {

    body, input, textarea, select, button {
        line-height: 1.7rem;
    }


    /* Defaults & Layout */

    #main-nav,
    #header-cta,
    .vertical-line,
    .hide-mobile,
    #section-style-boxed .row img,
    .featherlight-inner::after,
    .image-dot-left:before,
    .image-dot-right:before,
    #badge, body::before, #main-banner .testimonial, .home .image-container, #image-grid .left-column {
        display: none;
    }

    .hide-desktop, 
    .one-c,
    .two-c,
    .two-uc,
    .three-c,
    .three-uc,
    .four-c,
    .five-c,
    .six-c,
    .seven-c,
    .eight-c,
    .twelve-c,
    .navbar,
    .two-one-c,
    .header-style-four {
        display: block;
    }

    main,
    #main-banner-content,
    #cta-bottom .row-condensed, #faq, .full-width {
        padding: 0 1.5rem;
    }

    #section-style-boxed .row {
        margin: -75px auto 0 auto;
    }

    .image-dot-right.two-images-box .image-two {
        position: absolute;
        left: 20px;
        top: 150px;
        z-index: 1;
        max-width: 140px;
    }

    .open-menu .main-header-inner {
        z-index: 97;
    }

    body.open-menu::after {
        background:rgba(0,0,0,0.8);
        content: " ";
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 98;
    }

    .open-menu .navbar-collapse.open {
        z-index: 101;
    }


    /* Spacing */

    .spacing-900,
    .spacing-700,
    .spacing-600,
    .spacing-500 {
        padding: 3rem 0;
    }

    .spacing-400 {
        padding: 2rem 0;
    }

    #feedback .header-style-one {
        padding: 2rem 0 0 0;
    }


    .header-style-one {
        margin-bottom: 1rem;
    }

    #main-footer,
    #section-banner {
        padding: 0 1.5rem;
    }

    .main-header-inner {
        top:0;
    }

    #essvideo.featherlight-inner {
        margin-top: 95px;
        box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
        border-radius: 25px;
        max-width: 540px;
        margin: 95px auto;
    }


    /* Header */

    .main-header-inner {
        height: 85px;
        grid-template-columns: 2.5fr 1fr;
        border-radius:0;
    }

    .sticky .main-header-inner {
        border-radius: 0;
    }

    #logo a figure {
        top: 10px;
        left: 0.5rem;
        width: 65px;
    }

    #logo {
        font-size: 1.2rem;
    }

    #logo img {
        position: absolute;
        max-width: 50px;
        left: 15px;
        margin-right: 0.5rem;
    }

    .navbar-nav li.navbar-header img {
        max-width: 60px;
        margin: 10px 0 10px 10px;
    }


    /* Header Styles */

    .header-style-three, .header-style-one, .header-style-four {
        display: block;
        text-align:center;
    }

    .header-style-four {
        padding-top:7rem;
    }

    .product-intro, #section-banner .header-style-one {
        padding-top:5rem;
    }

    
    .header-style-one p, .header-style-four p {
        font-size: 1.1rem;
        line-height: 1.6rem;
    }

    .story.spacing-400 {
        padding:0;
    }

/* Buttons */

#section-banner .button {
    margin:0;
}

    /* Typography */

    h1, #section-banner .header-style-four h1, #product-banner h1, #section-banner h1 {
        font-size: 2.2rem;
    }

    h2 {
        font-size: 2em;
        line-height: 2.3rem;
    }

    h4 {
        font-size: 1.3rem;
        margin-bottom: 0;
    }

    .text-big {
        font-size: 1.2rem;
        line-height: 2rem;
    }

    /* Images */

    .image-style-one picture:nth-child(2) {
        margin:0;
    }

    .image-style-one {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
        margin-bottom:4rem;
    }

    .image-dot-left.two-images-box picture:nth-child(2) {
        right: 43px;
        top: 150px;
        z-index: 1;
        max-width: 180px;
    }

    .image-dot-right.two-images-box picture:nth-child(2) {
        left: 43px;
        top: 150px;
        z-index: 1;
        max-width: 180px;
    }

    .two-images-box {
        margin-bottom: 4rem;
    }

figure.spacing-700, picture.spacing-700 {
    padding:0;
}

img.full-width {
    padding:0;
}

    /*--------------Sections------------*/

    /* Home Banner */

    #main-banner {
            padding: 120px 0 50px 0;
            height: 650px;
            text-align: center;
    }

    #main-banner h1 {
        font-size: 3rem;
        margin-top: 0;
    }

    #main-banner .cta-double {
        margin-top: 2rem;
    }

    .total-users { 
        margin:2rem auto 0 auto;
    }

    .logos-slide img {
        max-width: 60px;
    }

    /* Products */

    #products .four-c {
        display: grid;
        grid-template-columns: 50% 50%;
        column-gap: 10px;
        row-gap: 0px;
    }

    .product-box {
        box-shadow: 0 .5vw 4vw -.7vw rgba(0, 0, 0, .2);
        margin-bottom: 1rem;
    }

/* Image Grid */

#image-grid .right-column.two-c {
    display:grid;
    grid-template-columns: 50% 50%;
    column-gap: 10px;
    row-gap: 10px;
}

    /* CTA Box */

    .cta-box {
        height: unset;
    }

    .cta-content {
        margin: -35px 1rem 2.5rem 1rem;
    }

    .cta-image {
        position: relative;
        left: 0;
        top: -25px;
        max-width: 310px;
        margin: 0 auto;
    }

    .cta-box h3 {
        font-size: 2.2rem;
    }

    #cta-bottom .row-condensed {
        padding:2rem;
    }

    /* Login Box */

    .login-page #section-banner.section-banner-v2 h1 {
        font-size: 2.2rem;
    }

    #login-box a {
        border-right: none;
        border-bottom: 1px solid var(--grey);
        display: grid;
        grid-template-columns: 100px 2fr;
        text-align: left;
        gap: 1.5rem;
        line-height: normal;
        padding-bottom: 1rem;
        margin-bottom: 1rem;
    }

    #login-box h3 {
        font-size: 1.2rem;
        font-weight: 500;
        margin: 0;
        padding: 0;
        margin-bottom: 0.5rem;
    }

    #section-style-boxed #login-box img {
        max-width: 110px;
        display: block;
    }

    #section-style-boxed #login-box p {
        display: none;
    }



    /* Quote Box */

    .quote-box {
        position: relative;
        bottom: 0;
        width: 100%;
        display: none;
    }

    /* Testimonial */

    .testimonial {
        padding: 1.5rem;
    }

    .three-c.spacing-400 .testimonial:nth-child(2n) {
        box-shadow: none;
        background: var(--ess-light);
        margin:1rem 0;
    }


    /* Contact Us & Forms */

    #contact-us {
        display: block;
    }

    #contact-us div {
        margin-bottom: 0.5rem;
    }

    /* Product Landing Page*/

    .product-intro {
        text-align:center;
    }

    .cta-double .hint {
     display:none;
    }

    #stats div, #image-grid div {
        overflow:unset;
    }

    #stats img, #image-grid img {
        border-radius:25px;
    }

    #image-grid .right-column div:nth-child(1), #image-grid .right-column div:nth-child(4) {
        background:none;
    }

    .video-container {
        margin-bottom:4rem;
    }

    .two-c.spacing-600 {
        padding:1rem 0;
    }

    .icon-list li {
        padding:1rem;
    }


    .product-media {
        padding-left: 0;
    }

    #video-box {
        padding: 1rem;
        margin-top: 3rem;
    }

    #video-box .vimeo-wrapper {
        margin: 0 auto 0 auto;
        border-radius: 25px;
    }

    #video-box::before {
        height: unset;
    }


    #product-slider {
        padding:1rem;
    }

    .product-slider:before, .product-slider:after {
        width: 45px;
    }


    /* Footer */

    #copyright ul {
        text-align: left;
    }

    #copyright ul li {
        padding-left: 0;
        padding-right: 0.5rem;
    }



}



@media (min-width:768px) and (max-width:991px) {

    body, input, textarea, select, button {
        line-height: 1.8rem;
    }


    /* Defaults & Layout */

    #main-nav,
    #header-cta,
    .hide-mobile,
    #section-style-boxed .row img,
    .featherlight-inner::after,
    .image-dot-left:before,
    .image-dot-right:before,
    #badge, body::before, #main-banner .testimonial, .home .image-container, #image-grid .left-column {
        display: none;
    }

    .hide-desktop, 
    .one-c,
    .two-c,
    .two-uc,
    .four-c,
    .five-c,
    .six-c,
    .seven-c,
    .eight-c,
    .twelve-c,
    .navbar,
    .two-one-c,
    .header-style-four {
        display: block;
    }

    main,
    #main-banner-content,
    #cta-bottom .row-condensed, #faq, .full-width {
        padding: 0 1.5rem;
    }

    #section-style-boxed .row {
        margin: -75px auto 0 auto;
    }

    .image-dot-right.two-images-box .image-two {
        position: absolute;
        left: 20px;
        top: 150px;
        z-index: 1;
        max-width: 140px;
    }

    .open-menu .main-header-inner {
        z-index: 97;
    }

    body.open-menu::after {
        background:rgba(0,0,0,0.8);
        content: " ";
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 98;
    }

    .open-menu .navbar-collapse.open {
        z-index: 101;
    }


    /* Spacing */

    .spacing-900,
    .spacing-700,
    .spacing-600,
    .spacing-500 {
        padding: 3rem 0;
    }

    .spacing-400 {
        padding: 2rem 0;
    }

    #feedback .header-style-one {
        padding: 2rem 0 0 0;
    }


    .header-style-one {
        margin-bottom: 1rem;
    }

    #main-footer,
    #section-banner {
        padding: 0 1.5rem;
    }

    .main-header-inner {
        top:0;
    }

    /* Header */

    .main-header-inner {
        height: 85px;
        grid-template-columns: 2.5fr 1fr;
        border-radius:0;
    }

    .sticky .main-header-inner {
        border-radius: 0;
    }

    #logo a figure {
        top: 10px;
        left: 0.5rem;
        width: 65px;
    }

    #logo {
        font-size: 1.2rem;
    }

    #logo img {
        position: absolute;
        max-width: 50px;
        left: 15px;
        margin-right: 0.5rem;
    }

    .navbar-nav li.navbar-header img {
        max-width: 60px;
        margin: 10px 0 10px 10px;
    }


    /* Header Styles */

    .header-style-three, .header-style-one, .header-style-four {
        display: block;
        text-align:center;
    }

    .header-style-four {
        padding-top:7rem;
    }

    .product-intro, #section-banner .header-style-one {
        padding-top:5rem;
    }

    
    .header-style-one p, .header-style-four p {
        font-size: 1.1rem;
        line-height: 1.6rem;
    }

    .story.spacing-400 {
        padding:0;
    }

    .header-style-one {
        max-width: 580px;
        margin: 0 auto;
    }

/* Buttons */

#section-banner .button {
    margin:0;
}

    /* Typography */

    h1, #section-banner .header-style-four h1, #product-banner h1, #section-banner h1 {
        font-size: 2.2rem;
    }

    h2 {
        font-size: 2em;
        line-height: 2.3rem;
    }

    h4 {
        font-size: 1.3rem;
        margin-bottom: 0;
    }

    .text-big {
        font-size: 1.2rem;
        line-height: 2rem;
    }

    /* Images */

    .image-style-one picture:nth-child(2) {
        margin:0;
    }

    .image-style-one {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
        margin-bottom:4rem;
    }

    .image-dot-left.two-images-box picture:nth-child(2) {
        right: 43px;
        top: 150px;
        z-index: 1;
    }

    .image-dot-right.two-images-box picture:nth-child(2) {
        left: 43px;
        top: 150px;
        z-index: 1;
    }

    .two-images-box {
        margin-bottom: 4rem;
    }

figure.spacing-700, picture.spacing-700 {
    padding:0;
}

img.full-width {
    padding:0;
}

    /*--------------Sections------------*/

    /* Home Banner */

    #main-banner {
            padding: 120px 0 50px 0;
            height: 650px;
            text-align: center;
    }

    #main-banner h1 {
        font-size: 3rem;
        margin-top: 0;
    }

    #main-banner .cta-double {
        margin-top: 2rem;
    }

    .total-users { 
        margin:2rem auto 0 auto;
    }

    .logos-slide img {
        max-width: 60px;
    }

    /* Products */

    #products .four-c {
        display: grid;
        grid-template-columns: 50% 50%;
        column-gap: 10px;
        row-gap: 0px;
    }

    .product-box {
        box-shadow: 0 .5vw 4vw -.7vw rgba(0, 0, 0, .2);
        margin-bottom: 1rem;
    }

/* Image Grid */

#image-grid .right-column.two-c {
    display:grid;
    grid-template-columns: 50% 50%;
    column-gap: 10px;
    row-gap: 10px;
}

    /* CTA Box */

    .cta-box {
        height: unset;
    }

    .cta-content {
        margin: -35px 1rem 2.5rem 1rem;
    }

    .cta-image {
        position: relative;
        left: 0;
        top: -25px;
        max-width: 310px;
        margin: 0 auto;
    }

    .cta-box h3 {
        font-size: 2.2rem;
    }

    #cta-bottom .row-condensed {
        padding:2rem;
    }

    /* Login Box */

    .login-page #section-banner.section-banner-v2 h1 {
        font-size: 2.2rem;
    }

    #login-box a {
        border-right: none;
        border-bottom: 1px solid var(--grey);
        display: grid;
        grid-template-columns: 100px 2fr;
        text-align: left;
        gap: 1.5rem;
        line-height: normal;
        padding-bottom: 1rem;
        margin-bottom: 1rem;
    }

    #login-box h3 {
        font-size: 1.2rem;
        font-weight: 500;
        margin: 0;
        padding: 0;
        margin-bottom: 0.5rem;
    }

    #section-style-boxed #login-box img {
        max-width: 110px;
        display: block;
    }

    #section-style-boxed #login-box p {
        display: none;
    }



    /* Quote Box */

    .quote-box {
        position: relative;
        position: relative;
        bottom: 330px;
        left: 15px;
        width: 50%;
        padding:2rem;
    }

    .quote-box q {
        font-size: 1.2rem;
        line-height: 1.7rem;
    }

    /* Feedback */

    .home #feedback {
        margin-top:-330px;
    }

    #feedback .three-c {
        grid-template-columns: 1fr 1fr;
    }

    /* Testimonial */

    .testimonial {
        padding: 1.5rem;
    }

    .three-c.spacing-400 .testimonial:nth-child(2n) {
        box-shadow: none;
        background: var(--ess-light);
        margin:1rem 0;
    }

    /* Product Landing Page*/

    .product-intro {
        text-align:center;
    }

    .cta-double .hint {
     display:none;
    }

    #stats div, #image-grid div {
        overflow:unset;
    }

    #stats img, #image-grid img {
        border-radius:25px;
    }

    #image-grid .right-column div:nth-child(1), #image-grid .right-column div:nth-child(4) {
        background:none;
    }

    .video-container {
        margin-bottom:4rem;
    }

    .two-c.spacing-600 {
        padding:1rem 0;
    }

    .icon-list li {
        padding:1rem;
    }


    .product-media {
        padding-left: 0;
    }

    #video-box {
        padding: 1rem;
        margin-top: 3rem;
    }

    #video-box .vimeo-wrapper {
        margin: 0 auto 0 auto;
        border-radius: 25px;
    }

    #video-box::before {
        height: unset;
    }


    #product-slider {
        padding:1rem;
    }

    .product-slider:before, .product-slider:after {
        width: 45px;
    }

    /* About us */

    .story p, .story h2 {
        max-width:580px;
        margin:0 auto;
    }

    /* Footer */

    #main-footer .four-c, #copyright.two-c {
        display:grid;
        grid-template-columns: 1fr 1fr;
    }

    #copyright {
        padding-bottom:0.8rem;
    }

    #copyright ul li {
        padding-left: 0;
        padding-right: 0.5rem;
    }

    #copyright p {
        margin:0;
        padding:0;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {

    body::before, .image-dot-left:before, .image-dot-right:before, #main-nav, #header-cta {
        display:none;
    }

    main,
    #main-banner-content, #faq, .full-width {
        padding: 0 1.5rem;
    }

    .open-menu .main-header-inner {
        z-index: 97;
    }

    body.open-menu::after {
        background:rgba(0,0,0,0.8);
        content: " ";
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 98;
    }

    .open-menu .navbar-collapse.open {
        z-index: 101;
    }


    .navbar {
        display:block;
    }


    /* Header */



    #main-header .main-header-inner li {
        padding: 0px 10px;
    }

    .main-header-inner {
        height: 85px;
        grid-template-columns: 2.5fr 1fr;
        border-radius: 0;
    }


    /* Buttons */

    .button {
        padding: 12px 25px;
    }

    .cta-double.spacing-200 {
        padding-top:0;
    }

    .cta-double .hint {
        padding-left: 0.8rem;
    }

        /* Main Banner */

        #main-banner {
            height: 920px;
        }

        #main-banner .testimonial {
            position: absolute;
            bottom: -20px;
            right: 2%;
            z-index: 5;
            box-shadow: 0 .5vw 4vw -.7vw rgba(0, 0, 0, .2);
            max-width: 450px;
            padding: 1.5rem 2rem;
        }

        #main-banner-content {
            grid-column: 1 / span 7;
        }

        .home .image-container {
                top: 96px;
                max-width: 580px;
            }

            .image-box picture {
                border-radius:25px;
            }

            #product-banner .spacing-900 {
                padding-bottom:5rem;
            }


            /* Landing Page */

            .product-intro {
                grid-column: 1 / span 5;
            }

            .product-media {
                grid-column: 6 / span 8;
            }

            /* Typography */

            #product-banner h1 {
                font-size: 2.2rem;
            }

            h2 {
                font-size: 2.4rem;
                line-height: 3rem;
            }

            /* Images */

            .image-dot-right.two-images-box picture:nth-of-type(2) {
                left: 26px;
                top: 215px;
                max-width: 190px;
            }

            .image-dot-left.two-images-box picture:nth-of-type(2) {
                right: 20px;
                top: 220px;
                max-width: 190px;
            }

                /* Products */

    #products .four-c {
        display: grid;
        grid-template-columns: 50% 50%;
        column-gap: 10px;
        row-gap: 0px;
    }

    .product-box {
        box-shadow: 0 .5vw 4vw -.7vw rgba(0, 0, 0, .2);
        margin-bottom: 1rem;
    }

    

}

@media (min-width: 1200px) and (max-width: 1399px) {
    body::before, .image-dot-left:before, .image-dot-right:before {
        display:none;
    }

    main,
    #main-banner-content, #faq, .full-width {
        padding: 0 1.5rem;
    }



    /* Header */

    #main-header .main-header-inner li {
        padding: 0px 10px;
    }

    .main-header-inner {
        display: grid;
        grid-template-columns: 1.4fr 2fr 1fr;
    }

    #main-header .main-header-inner a.button {
        padding: 10px 10px;
    }

    /* Buttons */

    .button {
        padding: 12px 25px;
    }

    .cta-double.spacing-200 {
        padding-top:0;
    }

    .cta-double .hint {
        padding-left: 0.8rem;
    }

        /* Main Banner */

        #main-banner {
            height: 920px;
        }

        #main-banner .testimonial {
            position: absolute;
            bottom: -20px;
            right: 2%;
            z-index: 5;
            box-shadow: 0 .5vw 4vw -.7vw rgba(0, 0, 0, .2);
            max-width: 450px;
            padding: 1.5rem 2rem;
        }

        #main-banner-content {
            grid-column: 1 / span 7;
        }

        .home .image-container {
                top: 96px;
                max-width: 580px;
            }

            .image-box picture {
                border-radius:25px;
            }

            #product-banner .spacing-900 {
                padding-bottom:5rem;
            }


            /* Landing Page */

            .product-intro {
                grid-column: 1 / span 5;
            }

            .product-media {
                grid-column: 6 / span 8;
            }

            /* Typography */

            #product-banner h1 {
                font-size: 2.2rem;
            }

            h2 {
                font-size: 2.4rem;
                line-height: 3rem;
            }

            /* Images */

            .image-dot-right.two-images-box picture:nth-of-type(2) {
                left: 26px;
                top: 215px;
                max-width: 190px;
            }

            .image-dot-left.two-images-box picture:nth-of-type(2) {
                right: 20px;
                top: 220px;
                max-width: 190px;
            }


}


@media (min-width: 1400px) and (max-width: 1600px) {

    body::before, .image-dot-left:before, .image-dot-right:before {
        display:none;
    }

    main,
    #main-banner-content, #faq, .full-width {
        padding: 0 1.5rem;
    }
}