:root {}

body { overflow: hidden; font-size: 1rem; }
p { margin-bottom: 0; }

.bg-primary { background: var(--primary) !important; }
.bg-light { background: var(--light) !important; }
.btn { padding: 15px 45px; font-weight: 700; font-size: 0.65rem; }
.btn-md { padding: 5px 15px; font-weight: 700; }
.btn-sm { padding: 2px 10px; font-weight: 700; }
.btn-outline-light { color: var(--dark); border: solid 2px #D6E7ED; background: transparent; }
.btn-outline-success { color: var(--success); border: solid 2px var(--success); background: transparent }
.btn-info { background: var(--info); border-color: var(--info); }
.btn-success { background: var(--success); border-color: var(--success); }
.btn-white { background: var(--white); border-color: var(--white); color: var(--primary); }
.border-left { border-left: solid 1px var(--light) !important; }
.border-right { border-right: solid 1px var(--light) !important; }
.text-info { color: var(--info) !important; }
.text-success { color: var(--success) !important; }
.text-white { color: var(--white) !important; }
.title { font-size: 1.75rem; }
.title b { font-weight: 800; }
.title-lg { font-size: 2rem; font-weight: 300; }
.title-lg b { font-weight: 800; }
.display-5 { font-size: 2.35rem; }
.display-5 b { font-weight: 800; }
.icon-60 { height: 60px; }
.icon-40 { height: 40px; }
.z-10 { position: relative; z-index: 10; }
.z-5 { position: relative; z-index: 5; }
.notice { font-size: 0.65rem; line-height: 1rem; display: inline-block; }


nav .content ul.menu > li > a {
    color: var(--info);
    font-size: 0.75rem;
    line-height: 0.75rem;
}

.col-cta-about {}
.col-cta-about .contact {
    background: var(--success);
    border-radius: 4px;
    box-shadow: 0px 15px 30px rgba(0,0,0,0.1);
}

.col-cta-services {
    background-color: var(--light) !important;
}
.col-cta-services .p {
    font-size: 1.15rem;
    font-weight: 400;
}

.col-cta-contact {
    background: var(--info);
}

.col-about {}
.col-about .contact {
    background: var(--success);
    border-radius: 4px;
    box-shadow: 0px 15px 30px rgba(0,0,0,0.1);
}

.col-gesture {}
.col-gesture .contact {
    background: var(--info);
    border-radius: 4px;
}

.col-help {}
.col-help .contact {
    background: var(--success);
    border-radius: 4px;
}

.box-white-shadow { 
    background: var(--white); 
    box-shadow: 0px 15px 30px rgba(0,0,0,0.1); 
    position: relative; 
    border-radius: 4px;
}

.col-contact {
    background-color: var(--light)!important;
    position: relative;
}

.col-services {}
.col-services .title {
    font-size: 2rem;
}
.col-services ul {}
.col-services ul li {
    font-size: 1.15rem;
    text-transform: uppercase;
    font-weight: 800;
}


/*  ---------- ELFSIGHT ---------  */
@media (min-width: 992px) {
    #eapps-google-maps-1.eapps-google-maps {
        max-width: 50vw!important;
        height: 800px!important;
        position: absolute!important;
        top: 0;
    }
}


/*  ---------- TEXTANIM ---------  */
.splitting .word,
.splitting .char {
  display: inline-block;
}
.splitting .char {
  position: relative;
}
.splitting .char::before,
.splitting .char::after {
  content: attr(data-char);
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
  transition: inherit;
  user-select: none;
}

.splitting {
  --word-center: calc((var(--word-total) - 1) / 2);
  --char-center: calc((var(--char-total) - 1) / 2);
  --line-center: calc((var(--line-total) - 1) / 2);
}

.splitting .word {
  --word-percent: calc(var(--word-index) / var(--word-total));
  --line-percent: calc(var(--line-index) / var(--line-total));
}

.splitting .char {
  --char-percent: calc(var(--char-index) / var(--char-total));
  --char-offset: calc(var(--char-index) - var(--char-center));
  --distance: calc( (var(--char-offset) * var(--char-offset)) / var(--char-center));
  --distance-sine: calc(var(--char-offset) / var(--char-center));
  --distance-percent: calc((var(--distance) / var(--char-center)));
}

.word,
.char {
    -webkit-animation-delay: var(--del);
    animation-delay: var(--del);
    -webkit-animation-direction: var(--dir, normal);
    animation-direction: var(--dir, normal);
    -webkit-animation-duration: var(--dur);
    animation-duration: var(--dur);
    -webkit-animation-iteration-count: var(--it, infinite);
    animation-iteration-count: var(--it, infinite);
    -webkit-animation-name: var(--name);
    animation-name: var(--name);
    -webkit-animation-timing-function: var(--tf);
    animation-timing-function: var(--tf);
    -webkit-animation-fill-mode: var(--fill, forwards);
    animation-fill-mode: var(--fill, forwards);
    display: inline-block;
    position: relative;
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    z-index: 1;
}

.textanim-float .char{--name:textanim-float;--dur:2200ms;--del:calc(var(--char-index) * -0.5s);--tf:ease-in-out;--dir:alternate}
.textanim-float .char:nth-child(2n) { --name: textanim-float-alt; }
@-webkit-keyframes textanim-float{from{-webkit-transform:translate(2%,-10%) rotate(-1deg);transform:translate(2%,-10%) rotate(-1deg)}to{-webkit-transform:translate(-2%,5%) rotate(3deg);transform:translate(-2%,5%) rotate(3deg)}}@keyframes textanim-float{from{-webkit-transform:translate(2%,-10%) rotate(-1deg);transform:translate(2%,-10%) rotate(-1deg)}to{-webkit-transform:translate(-2%,5%) rotate(3deg);transform:translate(-2%,5%) rotate(3deg)}}@-webkit-keyframes textanim-float-alt{from{-webkit-transform:translate(0,-5%) rotate(-1deg);transform:translate(0,-5%) rotate(-1deg)}to{-webkit-transform:translate(2%,10%) rotate(3deg);transform:translate(2%,10%) rotate(3deg)}}@keyframes textanim-float-alt{from{-webkit-transform:translate(0,-5%) rotate(-1deg);transform:translate(0,-5%) rotate(-1deg)}to{-webkit-transform:translate(2%,10%) rotate(3deg);transform:translate(2%,10%) rotate(3deg)}}

.textanim-jump .char{--name:textanim-jump;--dur:800ms;--del:calc(var(--char-index) * 0.075s);--tf:cubic-bezier(0.165, 0.44, 0.64, 1)}
@-webkit-keyframes textanim-jump{20%{-webkit-transform:translateY(2%) scaleY(.9);transform:translateY(2%) scaleY(.9)}40%{-webkit-transform:translateY(-100%) scaleY(1.2);transform:translateY(-100%) scaleY(1.2)}50%{-webkit-transform:translateY(10%) scaleY(.8);transform:translateY(10%) scaleY(.8)}70%{-webkit-transform:translateY(-5%) scaleY(1);transform:translateY(-5%) scaleY(1)}100%,80%{-webkit-transform:translateY(0) scaleY(1);transform:translateY(0) scaleY(1)}}@keyframes textanim-jump{20%{-webkit-transform:translateY(2%) scaleY(.9);transform:translateY(2%) scaleY(.9)}40%{-webkit-transform:translateY(-100%) scaleY(1.2);transform:translateY(-100%) scaleY(1.2)}50%{-webkit-transform:translateY(10%) scaleY(.8);transform:translateY(10%) scaleY(.8)}70%{-webkit-transform:translateY(-5%) scaleY(1);transform:translateY(-5%) scaleY(1)}100%,80%{-webkit-transform:translateY(0) scaleY(1);transform:translateY(0) scaleY(1)}}

.textanim-flip .char{--name:textanim-flip;--dur:4000ms;--del:calc(var(--char-index) * 0.075s);--tf:linear}
@-webkit-keyframes textanim-flip{5%{-webkit-transform:rotateX(1turn);transform:rotateX(1turn)}10%{-webkit-transform:rotateX(2turn);transform:rotateX(2turn)}20%{-webkit-transform:rotateX(3turn);transform:rotateX(3turn)}40%{-webkit-transform:rotateX(4turn);transform:rotateX(4turn)}100%,70%{-webkit-transform:rotateX(5turn);transform:rotateX(5turn)}}@keyframes textanim-flip{5%{-webkit-transform:rotateX(1turn);transform:rotateX(1turn)}10%{-webkit-transform:rotateX(2turn);transform:rotateX(2turn)}20%{-webkit-transform:rotateX(3turn);transform:rotateX(3turn)}40%{-webkit-transform:rotateX(4turn);transform:rotateX(4turn)}100%,70%{-webkit-transform:rotateX(5turn);transform:rotateX(5turn)}}

.textanim-jog .char{--name:textanim-jog;--dur:500ms;--del:calc(var(--char-index) * -0.025s);--tf:linear}
@-webkit-keyframes textanim-jog{0%{-webkit-transform:translate(0,0) rotate(5deg);transform:translate(0,0) rotate(5deg)}25%{-webkit-transform:translate(5%,-5%) rotate(10deg);transform:translate(5%,-5%) rotate(10deg)}50%{-webkit-transform:translate(5%,0) rotate(15deg);transform:translate(5%,0) rotate(15deg)}75%{-webkit-transform:translate(10%,-5%) rotate(10deg);transform:translate(10%,-5%) rotate(10deg)}100%{-webkit-transform:translate(0,0) rotate(5deg);transform:translate(0,0) rotate(5deg)}}@keyframes textanim-jog{0%{-webkit-transform:translate(0,0) rotate(5deg);transform:translate(0,0) rotate(5deg)}25%{-webkit-transform:translate(5%,-5%) rotate(10deg);transform:translate(5%,-5%) rotate(10deg)}50%{-webkit-transform:translate(5%,0) rotate(15deg);transform:translate(5%,0) rotate(15deg)}75%{-webkit-transform:translate(10%,-5%) rotate(10deg);transform:translate(10%,-5%) rotate(10deg)}100%{-webkit-transform:translate(0,0) rotate(5deg);transform:translate(0,0) rotate(5deg)}}

.textanim-fall .char{--name:textanim-fall;--dur:600ms;--del:calc(var(--char-index) * -0.05s);--tf:cubic-bezier(0.165, 0.44, 0.64, 1)}
@-webkit-keyframes textanim-fall{0%{-webkit-transform:rotateY(-25deg);transform:rotateY(-25deg)}25%{-webkit-transform:translateY(2%) rotateY(25deg);transform:translateY(2%) rotateY(25deg)}50%{-webkit-transform:rotateY(-25deg);transform:rotateY(-25deg)}75%{-webkit-transform:translateY(4%) rotateY(25deg);transform:translateY(4%) rotateY(25deg)}100%{-webkit-transform:rotateY(-25deg);transform:rotateY(-25deg)}}@keyframes textanim-fall{0%{-webkit-transform:rotateY(-25deg);transform:rotateY(-25deg)}25%{-webkit-transform:translateY(2%) rotateY(25deg);transform:translateY(2%) rotateY(25deg)}50%{-webkit-transform:rotateY(-25deg);transform:rotateY(-25deg)}75%{-webkit-transform:translateY(4%) rotateY(25deg);transform:translateY(4%) rotateY(25deg)}100%{-webkit-transform:rotateY(-25deg);transform:rotateY(-25deg)}}

.textanim-twirl .char{--name:textanim-twirl;--dur:6000ms;--del:calc(var(--char-index) * 0.025s);--tf:linear}
@-webkit-keyframes textanim-twirl{2.5%{-webkit-transform:rotateY(1turn);transform:rotateY(1turn)}5%{-webkit-transform:rotateY(2turn);transform:rotateY(2turn)}10%{-webkit-transform:rotateY(3turn);transform:rotateY(3turn)}20%{-webkit-transform:rotateY(4turn);transform:rotateY(4turn)}40%{-webkit-transform:rotateY(5turn);transform:rotateY(5turn)}100%,70%{-webkit-transform:rotateY(6turn);transform:rotateY(6turn)}}@keyframes textanim-twirl{2.5%{-webkit-transform:rotateY(1turn);transform:rotateY(1turn)}5%{-webkit-transform:rotateY(2turn);transform:rotateY(2turn)}10%{-webkit-transform:rotateY(3turn);transform:rotateY(3turn)}20%{-webkit-transform:rotateY(4turn);transform:rotateY(4turn)}40%{-webkit-transform:rotateY(5turn);transform:rotateY(5turn)}100%,70%{-webkit-transform:rotateY(6turn);transform:rotateY(6turn)}}

.textanim-yell .char{--name:textanim-yell;--dur:3s;--tf:ease;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}
@-webkit-keyframes textanim-yell{3%{-webkit-transform:scale(calc(1 * var(--distance-percent) + 1.5)) rotate(calc(15deg * var(--distance-sine))) translateY(-10%);transform:scale(calc(1 * var(--distance-percent) + 1.5)) rotate(calc(15deg * var(--distance-sine))) translateY(-10%)}6%{-webkit-transform:scale(calc(1 * var(--distance-percent) + 1.2)) rotate(calc(15deg * var(--distance-sine))) translateY(-10%);transform:scale(calc(1 * var(--distance-percent) + 1.2)) rotate(calc(15deg * var(--distance-sine))) translateY(-10%)}12%{-webkit-transform:scale(calc(1 * var(--distance-percent) + 1.5)) rotate(calc(15deg * var(--distance-sine))) translateY(-10%);transform:scale(calc(1 * var(--distance-percent) + 1.5)) rotate(calc(15deg * var(--distance-sine))) translateY(-10%)}18%{-webkit-transform:scaleY(1) translateY(-2%);transform:scaleY(1) translateY(-2%)}25%{-webkit-transform:scaleY(.98);transform:scaleY(.98)}50%{-webkit-transform:scaleY(1);transform:scaleY(1)}75%{-webkit-transform:scale(.98);transform:scale(.98)}}@keyframes textanim-yell{3%{-webkit-transform:scale(calc(1 * var(--distance-percent) + 1.5)) rotate(calc(15deg * var(--distance-sine))) translateY(-10%);transform:scale(calc(1 * var(--distance-percent) + 1.5)) rotate(calc(15deg * var(--distance-sine))) translateY(-10%)}6%{-webkit-transform:scale(calc(1 * var(--distance-percent) + 1.2)) rotate(calc(15deg * var(--distance-sine))) translateY(-10%);transform:scale(calc(1 * var(--distance-percent) + 1.2)) rotate(calc(15deg * var(--distance-sine))) translateY(-10%)}12%{-webkit-transform:scale(calc(1 * var(--distance-percent) + 1.5)) rotate(calc(15deg * var(--distance-sine))) translateY(-10%);transform:scale(calc(1 * var(--distance-percent) + 1.5)) rotate(calc(15deg * var(--distance-sine))) translateY(-10%)}18%{-webkit-transform:scaleY(1) translateY(-2%);transform:scaleY(1) translateY(-2%)}25%{-webkit-transform:scaleY(.98);transform:scaleY(.98)}50%{-webkit-transform:scaleY(1);transform:scaleY(1)}75%{-webkit-transform:scale(.98);transform:scale(.98)}}

.textanim-rock .char{--name:textanim-rock;--dur:2s;--td:ease-in-out;-webkit-transform-origin:0 100%;transform-origin:0 100%}
@-webkit-keyframes textanim-rock{0%,100%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}50%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}}@keyframes textanim-rock{0%,100%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}50%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}}


.textanim-ghost .char{--name:textanim-rise;--dur:3s;--del:calc(var(--distance-percent) * 0.125s);--tf:cubic-bezier(0.25, 0.46, 0.45, 0.94);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}
.textanim-ghost .char:after{-webkit-animation:textanim-ghost var(--dur) ease-in var(--del) infinite;animation:textanim-ghost var(--dur) ease-in var(--del) infinite;content:attr(data-char);opacity:0;-webkit-transform-origin:100% 50%;transform-origin:100% 50%;visibility:visible}
@-webkit-keyframes textanim-rise{40%{-webkit-transform:translateY(-40%) rotate(calc(var(--distance-sine) * 10deg));transform:translateY(-40%) rotate(calc(var(--distance-sine) * 10deg))}50%{-webkit-transform:translateY(6%);transform:translateY(6%)}55%{-webkit-transform:translateY(-4%);transform:translateY(-4%)}60%{-webkit-transform:translateY(2%);transform:translateY(2%)}65%{-webkit-transform:translateY(-1%);transform:translateY(-1%)}70%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes textanim-rise{40%{-webkit-transform:translateY(-40%) rotate(calc(var(--distance-sine) * 10deg));transform:translateY(-40%) rotate(calc(var(--distance-sine) * 10deg))}50%{-webkit-transform:translateY(6%);transform:translateY(6%)}55%{-webkit-transform:translateY(-4%);transform:translateY(-4%)}60%{-webkit-transform:translateY(2%);transform:translateY(2%)}65%{-webkit-transform:translateY(-1%);transform:translateY(-1%)}70%{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes textanim-ghost{8%{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}40%{opacity:.25;-webkit-transform:translateY(-30%) rotate(calc(var(--distance-sine) * -10deg));transform:translateY(-30%) rotate(calc(var(--distance-sine) * -10deg))}100%,60%{opacity:0;-webkit-transform:translateY(-200%);transform:translateY(-200%)}}@keyframes textanim-ghost{8%{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}40%{opacity:.25;-webkit-transform:translateY(-30%) rotate(calc(var(--distance-sine) * -10deg));transform:translateY(-30%) rotate(calc(var(--distance-sine) * -10deg))}100%,60%{opacity:0;-webkit-transform:translateY(-200%);transform:translateY(-200%)}}

.textanim-shiver .word{--name:textanim-shiver;--dur:3s;--td:linear}
.textanim-shiver .char{--name:textanim-shiver-letter;--del:calc(var(--char-index) * -0.0125s);--dur:140ms;--td:linear}
@-webkit-keyframes textanim-shiver{1%{-webkit-transform:translateX(2%);transform:translateX(2%)}2%{-webkit-transform:translateX(-2%);transform:translateX(-2%)}3%{-webkit-transform:translateX(3%);transform:translateX(3%)}4%{-webkit-transform:translateX(-3%);transform:translateX(-3%)}5%{-webkit-transform:translateX(4%);transform:translateX(4%)}6%{-webkit-transform:translateX(-4%);transform:translateX(-4%)}7%{-webkit-transform:translateX(3%);transform:translateX(3%)}8%{-webkit-transform:translateX(-3%);transform:translateX(-3%)}9%{-webkit-transform:translateX(2%);transform:translateX(2%)}10%{-webkit-transform:translateX(-2%);transform:translateX(-2%)}11%{-webkit-transform:translateX(1%);transform:translateX(1%)}12%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes textanim-shiver{1%{-webkit-transform:translateX(2%);transform:translateX(2%)}2%{-webkit-transform:translateX(-2%);transform:translateX(-2%)}3%{-webkit-transform:translateX(3%);transform:translateX(3%)}4%{-webkit-transform:translateX(-3%);transform:translateX(-3%)}5%{-webkit-transform:translateX(4%);transform:translateX(4%)}6%{-webkit-transform:translateX(-4%);transform:translateX(-4%)}7%{-webkit-transform:translateX(3%);transform:translateX(3%)}8%{-webkit-transform:translateX(-3%);transform:translateX(-3%)}9%{-webkit-transform:translateX(2%);transform:translateX(2%)}10%{-webkit-transform:translateX(-2%);transform:translateX(-2%)}11%{-webkit-transform:translateX(1%);transform:translateX(1%)}12%{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes textanim-shiver-letter{25%{-webkit-transform:translateY(1%);transform:translateY(1%)}50%{-webkit-transform:translate(calc(var(--distance-percent) * 1%),calc(var(--distance-percent) * 1%));transform:translate(calc(var(--distance-percent) * 1%),calc(var(--distance-percent) * 1%))}75%{-webkit-transform:translateY(1%);transform:translateY(1%)}}@keyframes textanim-shiver-letter{25%{-webkit-transform:translateY(1%);transform:translateY(1%)}50%{-webkit-transform:translate(calc(var(--distance-percent) * 1%),calc(var(--distance-percent) * 1%));transform:translate(calc(var(--distance-percent) * 1%),calc(var(--distance-percent) * 1%))}75%{-webkit-transform:translateY(1%);transform:translateY(1%)}}