/*
Theme Name: Friska
Author: Francisco Mónaco
Author URI: http://franciscomonaco.com/
Description: Tailor made theme developed specially for Friska's website.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/*------------------------------------------ Reset */

*                                                                           { box-sizing: border-box; outline: none; outline: none; }
p, a, h1, h2, h3, h4, h5, h6, ul, ol, li,
body, div, section, nav, input, textarea
                                                                            { margin: 0; padding: 0; font-weight: normal; }
video, svg, img                                                             { vertical-align: middle; width: 100%; height: auto; display: block; }
input[type="text"], input[type="submit"], textarea, select                  { -webkit-appearance: none; -moz-appearance: none; appearance: none; }



/*------------------------------------------------------------------------------------ Text */

.upper                                                                      { text-transform: uppercase; }
.lower                                                                      { text-transform: lowercase; }
.text-center                                                                { text-align: center; }
.text-left                                                                  { text-align: left; }
.text-right                                                                 { text-align: right; }
.text-just                                                                  { text-align: justify; }



/*------------------------------------------------------------------------------------ Border */

.border                                                                     { border-width: 1px; border-style: solid; }
.border-2                                                                   { border-width: 2px; border-style: solid; }
.border-3                                                                   { border-width: 3px; border-style: solid; }
.border-top                                                                 { border-top-width: 1px; border-top-style: solid; }
.border-top-2                                                               { border-top-width: 2px; border-top-style: solid; }
.border-top-3                                                               { border-top-width: 3px; border-top-style: solid; }
.border-bottom                                                              { border-bottom-width: 1px; border-bottom-style: solid; }
.border-bottom-2                                                            { border-bottom-width: 2px; border-bottom-style: solid; }
.border-bottom-3                                                            { border-bottom-width: 3px; border-bottom-style: solid; }
.border-left                                                                { border-left-width: 1px; border-left-style: solid; }
.border-left-2                                                              { border-left-width: 2px; border-left-style: solid; }
.border-left-3                                                              { border-left-width: 3px; border-left-style: solid; }
.border-right                                                               { border-right-width: 1px; border-right-style: solid; }
.border-right-2                                                             { border-right-width: 2px; border-right-style: solid; }
.border-right-3                                                             { border-right-width: 3px; border-right-style: solid; }



/*------------------------------------------------------------------------------------ Editor content */

.editor-content                                                             { font-size: 14px; line-height: 1.6; }
.editor-content div,
.editor-content p                                                           { font-size: 14px; line-height: 1.6; margin-bottom: 12px; }
.editor-content a                                                           { font-size: 14px; line-height: 1.6; margin-bottom: 12px; color: var(--black); }
.editor-content ul                                                          { padding: 0 0 12px 32px; }
.editor-content li                                                          { font-size: 14px; line-height: 1.6; margin-bottom: 4px; }
.editor-content ol                                                          { font-size: 14px; line-height: 1.6; margin-bottom: 4px; }
.editor-content div:last-child,
.editor-content p:last-child                                                { margin-bottom: 0; }
.editor-content a:hover                                                     { opacity: 0.6; }



/*------------------------------------------------------------------------------------ General classes */

body                                                                        { font-size: var(--parr-regular); pointer-events: none; }
p, a, h1, h2, h3, h4, h5, h6                                                { font-size: var(--parr-regular); line-height: 1.4; }
.cover-image                                                                { background-size: cover; background-position: center; }
.page-wrapper                                                               { max-width: 900px; }
.page-wrapper .content                                                      { pointer-events: all; }



/*------------------------------------------------------------------------------------ Forms */

.wpcf7-form                                                                 { display: flex; flex-direction: column; gap: var(--input-gap); }
.wpcf7-form .row                                                            { display: flex; flex-direction: column; gap: var(--input-gap); }
.wpcf7-form .row .row-item                                                  { flex: 1; pointer-events: all; position: relative; }
.wpcf7-form .row .row-item > p > span                                       { display: block; }
.wpcf7-form .row .row-item .message                                         { margin-top: 18px; font-size: 14px; line-height: 1.4; }
.wpcf7-form .row .row-item.icon-trick .icon                                 { width: var(--input-height); height: var(--input-height); position: absolute; top: 0; right: 0; padding: 20px; pointer-events: none; }
.wpcf7-form .row .row-item.icon-trick .icon br                              { display: none; }
.wpcf7-form .row .row-item.icon-trick .icon svg                             { fill: var(--black-c); }
.wpcf7-form .row .row-item.submit-trick .icon                               { width: var(--input-height); height: var(--input-height); position: absolute; top: 0; right: 0; padding: 20px; pointer-events: none; }
.wpcf7-form .row .row-item.submit-trick .icon br                            { display: none; }
.wpcf7-form .row .row-item.submit-trick .icon svg                           { fill: var(--white-c); }

.wpcf7-form .row .row-item input                                            { width: 100%; height: var(--input-height); padding: 0 var(--input-h-pad); border: 1px solid var(--medium-light-c); border-radius: var(--small-radius); background: none; font-size: var(--input-text); }
.wpcf7-form .row .row-item input[type="submit"]                             { background-color: var(--black-c); border: none; color: var(--white-c); text-align: left; }
.wpcf7-form .row .row-item select                                           { width: 100%; height: var(--input-height); padding: 0 var(--input-h-pad); border: 1px solid var(--medium-light-c); border-radius: var(--small-radius); background: none; font-size: var(--input-text); }
.wpcf7-form .row .row-item textarea                                         { width: 100%; padding: 18px var(--input-h-pad); border: 1px solid var(--medium-light-c); border-radius: var(--small-radius); background: none; font-size: var(--input-text); }

input::placeholder                                                          { color: var(--medium-light-c); }

/* Newsletter exceptions */
.mailing .wpcf7-form .row .row-item.mailing-trick .icon                     { width: var(--input-height); height: var(--input-height); position: absolute; top: 0; right: 0; padding: 20px; pointer-events: none; }
.mailing .wpcf7-form .row .row-item.mailing-trick .icon br                  { display: none; }
.mailing .wpcf7-form .row .row-item.mailing-trick .icon svg                 { fill: var(--white-c); }
.mailing .wpcf7-form .row .row-item.mailing-trick .wpcf7-submit             { position: absolute; top: 0; right: 0; font-size: 0; width: var(--input-height); opacity: 0; }

.mailing .wpcf7-form .row .row-item input                                   { border: 1px solid var(--medium-c); color: var(--white-c); }
.mailing input::placeholder                                                 { color: var(--medium-c); }




/*------------------------------------------------------------------------------------ Interface */

.tp-dfwv                                                                    { display: none !important; pointer-events: none; }
canvas                                                                      { position: fixed; top: 0; left: 0; z-index: -1; mix-blend-mode: multiply; filter: saturate(0); opacity: 0.1; pointer-events: all; width: 100vw; height: 100vh; }

.main-nav                                                                   { position: fixed; top: 0; left: 0; z-index: 100; width: 100%; height: var(--interface-height); display: flex; align-items: center; justify-content: space-between; }
.main-nav .right                                                            { display: flex; gap: 10vw; align-items: center; }
.main-nav .logo                                                             { height: 18px; }
.main-nav .logo .link                                                       { display: block; height: 100%; width: auto; pointer-events: all; }
.main-nav .logo .link svg                                                   { height: 100%; width: auto; transition: fill 0.3s; }
.main-nav .controls                                                         { display: flex; gap: 10px; justify-content: flex-end; }
.main-nav .controls .buttons                                                { display: flex; gap: 10px; display: none; }
.main-nav .controls .buttons .button                                        { pointer-events: all; transition: color 0.3s; }
.main-nav .controls .menu-button                                            { position: relative; width: var(--button-height); height: var(--button-height); border-radius: 100px; pointer-events: all; }
.main-nav .controls .menu-button .line                                      { position: absolute; width: 18px; height: 1px; left: 50%; margin-left: -9px; margin-top: -0.5px; transition: all 0.3s ease; }
.main-nav .controls .menu-button .line-1                                    { top: 45%; top: calc(45% - 0.5px); }
.main-nav .controls .menu-button .line-2                                    { top: 55%; top: calc(55% - 0.5px); }

.menu-is-open .main-nav .controls .menu-button .line-1                      { transform: rotate(45deg); top: 50%; top: calc(50% - 0.5px); }
.menu-is-open .main-nav .controls .menu-button .line-2                      { transform: rotate(-45deg); top: 50%;  top: calc(50% - 0.5px); }

.mobile-menu                                                                { position: fixed; top: 0; left: 0; height: 100%; width: 100%; z-index: 99; pointer-events: all; opacity: 0; pointer-events: none; transition: opacity 0.3s; }
.mobile-menu .background                                                    { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }
.mobile-menu .content                                                       { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; }
.mobile-menu .content .links                                                { display: flex; flex-direction: column; gap: 12px; }
.mobile-menu .content .links .link                                          { display: flex; gap: 22px; align-items: baseline; text-decoration: none; }
.mobile-menu .content .social-links                                         { display: flex; flex-direction: column; gap: 10px; }
.mobile-menu .content .social-links .link                                   { text-decoration: none; }

.menu-is-open .mobile-menu                                                  { opacity: 1; pointer-events: all; }

.language-mobile                                                            { margin-bottom: 6vh; }
.language                                                                   { display: flex; gap: 16px; }
.language .item                                                             { text-transform: uppercase; }
.language .item .link                                                       { text-decoration: none; font-size: 14px; pointer-events: all; }
.language .item .link.active                                                { pointer-events: none; position: relative; }
.language .item .link.active:after                                          { content: ''; border-bottom: 1px solid; position: absolute; bottom: -4px; left: 0; width: 100%; }



/*------------------------------------------------------------------------------------ Footer */

footer                                                                      { display: flex; flex-direction: column; gap: var(--spacing); }
footer .row                                                                 { display: flex; flex-direction: column; }
footer .row-1                                                               { gap: var(--spacing); }
footer .row-2                                                               { gap: 10px; }
footer .brand                                                               { display: flex; gap: 22px; align-items: center; }
footer .brand .shuriken                                                     { height: 34px; }
footer .brand .shuriken svg                                                 { height: 100%; width: auto; }
footer .brand .logo                                                         { height: 20px; }
footer .brand .logo svg                                                     { height: 100%; width: auto; }
footer .social-links                                                        { display: flex; flex-direction: column; gap: 10px; }
footer .social-links .link                                                  { pointer-events: all; text-decoration: none; }
footer .legal-links                                                         { display: flex; gap: 20px; }
footer .legal-links .link                                                   { pointer-events: all; text-decoration: none; }
footer .credits .link                                                       { pointer-events: all; text-decoration: none; }



/*------------------------------------------------------------------------------------ Sections */

/* Global */
.dual-title                                                                 { display: flex; flex-direction: column; gap: var(--spacing); }
.dual-title .pretitle .text                                                 { max-width: 200px; }

.section-end .image-holder                                                  { position: relative; }
.section-end .image-holder .image                                           { object-fit: cover; width: 100%; mix-blend-mode: multiply; }
.section-end .image-holder .text-holder                                     { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }


/* Home Landing */
.home-landing .bottle-scene                                                 { margin-bottom: 30vh; }
.home-landing .bottle                                                       { display: flex; justify-content: center; mix-blend-mode: multiply; }
.home-landing .bottle .image-holder                                         { max-width: 360px; }

.home-landing .title                                                        { position: absolute; top: 0; left: 0; width: 100%; height: 100vh; padding-bottom: 20vh; display: flex; align-items: flex-end; }
.home-landing .title .title-holder                                          { width: 100%; position: relative; }
.home-landing .title .title-holder .icon                                    { width: auto; position: absolute; right: 0; }
.home-landing .title .title-holder .icon svg                                { width: auto; height: 100%; transform: scale(0.7); transform-origin: right center; }


/* Home What is it */
.home-what .title                                                           { margin-bottom: 60px; }
.home-what .features .items                                                 { display: flex; flex-direction: column; gap: 80px; }
.home-what .features .items .item                                           { display: flex; flex-direction: column; gap: 20px; align-items: center; text-align: justify; }
.home-what .features .items .item .anim                                     { width: 50vw; margin-bottom: 20px; }

.home-what .section-end .image-holder .image                                { height: 70vh; }
.home-what .section-end .image-holder .text-holder .info                    { padding-top: 30vh; }


/* Home Tech */
.home-tech .gallery                                                         { min-height: 100vh; }
.home-tech .gallery .slider                                                 { }
.home-tech .gallery .slider-inner                                           { padding-top: var(--interface-height); width: auto; position: sticky; top: 0; display: flex; flex-direction: column; justify-content: center; gap: var(--spacing); }
.home-tech .gallery .slider-inner .scroller                                 { overflow-x: scroll; pointer-events: all; }
.home-tech .gallery .slider-inner .scroller::-webkit-scrollbar              { display: none; }
.home-tech .gallery .slider-inner .scroller .scroller-inner                 { white-space: nowrap; display: inline-block; vertical-align: middle; padding-right: var(--spacing); }
.home-tech .gallery .item                                                   { display: inline-block; vertical-align: middle; margin-left: var(--spacing); height: 50vh; width: 70vw; }
.home-tech .gallery .item .image                                            { object-fit: cover; width: 100%; height: 100%; border-radius: var(--medium-radius); }

.home-tech .tech-scene                                                      { margin-bottom: 16vh; }
.home-tech .tech-scene img                                                  { mix-blend-mode: multiply; }

.home-tech .fancy-claim .image-holder                                       { height: 90vh; position: relative; }
.home-tech .fancy-claim .image-holder .image                                { object-fit: cover; width: 100%; height: 100%; }
.home-tech .fancy-claim .image-holder .overlay                              { position: absolute; top: 0; right: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: space-between; }
.home-tech .fancy-claim .image-holder .overlay .brand                       { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.home-tech .fancy-claim .image-holder .overlay .brand .shuriken             { width: 32px; }

.home-tech .tech-points                                                     { padding: 10vh 0; }
.home-tech .tech-points .wrapper                                            { display: flex; flex-direction: column; gap: var(--spacing); }
.home-tech .tech-points .wrapper .points                                    { display: flex; flex-direction: column; gap: 24px; }
.home-tech .tech-points .wrapper .points .item                              { display: flex; gap: 16px; align-items: flex-end; opacity: 0.4; pointer-events: all; transition: opacity 0.2s; }
.home-tech .tech-points .wrapper .points .item.active                       { opacity: 1; }
.home-tech .tech-points .wrapper .points .item .number                      { font-size: 14px; padding-bottom: 1px; }
.home-tech .tech-points .wrapper .info                                      { border-radius: var(--medium-radius); }
.home-tech .tech-points .wrapper .info .items                               { position: relative; height: 38vh; }
.home-tech .tech-points .wrapper .info .items .item                         { position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 0.2s;  }
.home-tech .tech-points .wrapper .info .items .item.active                  { position: absolute; top: 0; left: 0; opacity: 1; }
.home-tech .tech-points .wrapper .info .items .item p                       { text-align: justify; }

.home-tech .section-end .image-holder .image                                { height: 70vh; }
.home-tech .section-end .image-holder .text-holder .info                    { padding-top: 30vh; }


/* Contact */
.home-contact                                                               { padding: 20vh 0; }
.home-contact .tech-service .module                                         { border-radius: var(--medium-radius); display: flex; flex-direction: column; gap: var(--spacing); align-items: center; }
.home-contact .tech-service .module .icon                                   { width: 62px; height: 62px; border-radius: 100px; display: flex; justify-content: center; align-items: center; padding: 2px 2px 0 0; }
.home-contact .tech-service .module .icon svg                               { width: 27px; height: 27px; }
.home-contact .tech-service .module .info                                   { display: flex; flex-direction: column; gap: 14px; }
.home-contact .tech-service .module .methods                                { display: flex; flex-direction: column; gap: 8px; }
.home-contact .tech-service .module .methods .link                          { text-decoration: none; pointer-events: all; }





@media(min-width: 900px){ /* -------------------------------------------- */

    /*------------------------------------------------------------------------------------ Forms */

    .wpcf7-form .row                                                            { flex-direction: row; }
    .wpcf7-form .row .row-item                                                  { flex: 1; }
    .wpcf7-form .row .row-item.icon-trick .icon                                 { padding: 24px; }
    .wpcf7-form .row .row-item.submit-trick .icon                               { padding: 24px; }

    /* Newsletter exceptions */
    .mailing .wpcf7-form .row .row-item.mailing-trick .icon                     { padding: 24px; }
    
    

    /*------------------------------------------------------------------------------------ Interface */
    
    .main-nav .logo                                                             { height: 22px; }
    .main-nav .links                                                            { pointer-events: all; display: flex; gap: 40px; }
    .main-nav .links .link                                                      { text-decoration: none; font-size: calc(var(--parr-regular) * 0.9); }
    .main-nav .brand                                                            { width: 200px; }
    .main-nav .controls                                                         { width: 200px; display: none; }



    /*------------------------------------------------------------------------------------ Footer */

    footer .row                                                                 { display: flex; flex-direction: row; gap: var(--spacing); }
    footer .row .col                                                            { flex: 1; }



    /*------------------------------------------------------------------------------------ Sections */

    /* Global */
    .dual-title                                                                 { flex-direction: row; gap: var(--spacing); }
    .dual-title .pretitle                                                       { flex: 1; }
    .dual-title .pretitle .text                                                 { max-width: 220px; }
    .dual-title .main-title                                                     { flex: 2; }
    
    .section-end .image-holder .text-holder                                     { display: flex; gap: var(--spacing); }
    .section-end .image-holder .text-holder .col                                { flex: 1; }


    /* Home Landing */
    .home-landing .bottle-scene                                                 { margin-bottom: 30vh; }
    .home-landing .bottle .image-holder                                         { max-width: 400px; }

    .home-landing .title                                                        { padding-bottom: 28vh; text-align: right; }
    .home-landing .title .title-holder .icon                                    { right: auto; left: 0; }
    .home-landing .title .title-holder .icon svg                                { transform: scale(0.6); transform-origin: left center; }


    /* Home What is it */
    .home-what .title                                                           { margin-bottom: 60px; }
    .home-what .features .items                                                 { flex-direction: row; gap: var(--spacing); }
    .home-what .features .items .item                                           { gap: 40px; }
    .home-what .features .items .item .anim                                     { width: 200px; margin-bottom: 40px; }

    .home-what .section-end .image-holder .image                                { height: 70vh; }
    .home-what .section-end .image-holder .text-holder .info                    { padding-top: 30vh; }


    /* Home Tech */
    .home-tech .gallery .slider-inner .scroller                                 { pointer-events: none; }
    .home-tech .gallery .slider-inner .scroller .scroller-inner                 { display: flex; }
    .home-tech .gallery .item                                                   { flex: 1; height: 42vh; width: auto; }
    .home-tech .gallery .item:nth-child(n+4)                                    { display: none; }

    .home-tech .tech-scene                                                      { margin-bottom: 16vh; }
    .home-tech .tech-scene .image-holder                                        { max-width: 70vw; margin: 0 auto; }
    .home-tech .tech-scene .description                                         { max-width: 800px; margin: 0 auto; }

    .home-tech .fancy-claim .image-holder                                       { height: 70vh; padding-top: 0; }
    .home-tech .fancy-claim .image-holder .overlay                              { width: 50%; }
    .home-tech .fancy-claim .image-holder .overlay .brand                       { gap: 24px; }
    .home-tech .fancy-claim .image-holder .overlay .brand .shuriken             { width: 32px; }

    .home-tech .tech-points                                                     { padding: 10vh 0; }
    .home-tech .tech-points .wrapper                                            { flex-direction: row-reverse; }
    .home-tech .tech-points .wrapper .points                                    { flex: 1; padding: var(--spacing); gap: 30px; }
    .home-tech .tech-points .wrapper .points .item                              { gap: 16px; }
    .home-tech .tech-points .wrapper .points .item .number                      { font-size: 15px; }
    .home-tech .tech-points .wrapper .info                                      { flex: 1; }

    .home-tech .section-end .image-holder .image                                { height: 70vh; }
    .home-tech .section-end .image-holder .text-holder .info                    { padding-top: 30vh; }


    /* Contact */
    .home-contact .types                                                        { display: flex; gap: var(--spacing); }
    .home-contact .types .main-contact                                          { flex: 2; padding-top: 10vh; }
    .home-contact .types .tech-service                                          { flex: 1; }
    
}








@media(min-width: 1200px){ /* -------------------------------------------- */

    /*------------------------------------------ Switches */
    
    .mob-only                                                                   { display: none; }
    .tab-only                                                                   { display: none; }
    .lap-only                                                                   { display: block; }
    .des-only                                                                   { display: none; }

    .mob-off                                                                    { display: block; }
    .tab-off                                                                    { display: block; }
    .lap-off                                                                    { display: none; }
    .des-off                                                                    { display: block; }
    
    .big-only                                                                   { display: block; }
    .big-off                                                                    { display: none; }
    
    

    /*------------------------------------------------------------------------------------ Forms */

    .wpcf7-form .row .row-item.icon-trick .icon                                 { padding: 28px; }
    .wpcf7-form .row .row-item.submit-trick .icon                               { padding: 28px; }

    /* Newsletter exceptions */
    .mailing .wpcf7-form .row .row-item.mailing-trick .icon                     { padding: 28px; }
    
    

    /*------------------------------------------------------------------------------------ Interface */
    
    .main-nav .logo                                                             { height: 24px; }
    .main-nav .links                                                            { gap: 50px; }
    .main-nav .brand                                                            { width: 240px; }
    .main-nav .controls                                                         { width: 240px; }



    /*------------------------------------------------------------------------------------ Footer */

    footer .row                                                                 { display: flex; flex-direction: row; gap: var(--spacing); }
    footer .row .col                                                            { flex: 1; }



    /*------------------------------------------------------------------------------------ Sections */

    /* Global */
    .dual-title .pretitle                                                       { padding-top: 10px; }
    .dual-title .pretitle .text                                                 { max-width: 340px; }
    
    .section-end .image-holder .text-holder                                     { display: flex; gap: var(--spacing); }
    .section-end .image-holder .text-holder .col                                { flex: 1; }
    .section-end .image-holder .text-holder .col h3                             { font-size: 32px; }


    /* Home Landing */
    .home-landing .bottle-scene                                                 { margin-bottom: 30vh; }
    .home-landing .bottle .image-holder                                         { max-width: 400px; }

    .home-landing .title                                                        { padding-bottom: 20vh; text-align: right; }
    .home-landing .title .title-holder .icon                                    { right: auto; left: 0; }
    .home-landing .title .title-holder .icon svg                                { transform: scale(0.6); transform-origin: left center; }


    /* Home What is it */
    .home-what .title                                                           { margin-bottom: 60px; }
    .home-what .features .items                                                 { flex-direction: row; gap: var(--spacing); }
    .home-what .features .items .item                                           { gap: 40px; flex: 1; }
    .home-what .features .items .item .anim                                     { width: 200px; margin-bottom: 40px; }

    .home-what .section-end .image-holder .image                                { height: 70vh; }
    .home-what .section-end .image-holder .text-holder .info                    { padding-top: 30vh; }


    /* Home Tech */
    .home-tech .gallery .item                                                   { height: 58vh; }

    .home-tech .tech-scene                                                      { margin-bottom: 16vh; }
    .home-tech .tech-scene .description                                         { max-width: 1000px; margin: 0 auto; }

    .home-tech .fancy-claim .image-holder                                       { height: 100vh; padding-top: 0; }
    .home-tech .fancy-claim .image-holder .overlay                              { width: 50%; }
    .home-tech .fancy-claim .image-holder .overlay .brand                       { gap: 24px; }
    .home-tech .fancy-claim .image-holder .overlay .brand .shuriken             { width: 32px; }

    .home-tech .tech-points                                                     { padding: 10vh 0; }
    .home-tech .tech-points .wrapper                                            { flex-direction: row-reverse; }
    .home-tech .tech-points .wrapper .points                                    { flex: 1; padding: var(--spacing); gap: 30px; }
    .home-tech .tech-points .wrapper .points .item                              { gap: 16px; }
    .home-tech .tech-points .wrapper .points .item .number                      { font-size: 16px; padding-bottom: 8px; }
    .home-tech .tech-points .wrapper .info                                      { flex: 1; }

    .home-tech .section-end .image-holder .image                                { height: 70vh; }
    .home-tech .section-end .image-holder .text-holder .info                    { padding-top: 30vh; }


    /* Contact */
    .home-contact .types                                                        { display: flex; gap: var(--spacing); }
    .home-contact .types .main-contact                                          { flex: 2; padding-top: 10vh; }
    .home-contact .types .tech-service                                          { flex: 1; }
    .home-contact .types .tech-service .module                                  { max-width: 400px; margin-left: auto; }
    
}



@media(min-width: 1400px){ /* -------------------------------------------- */

    /*------------------------------------------ Switches */
    
    .mob-only                                                                   { display: none; }
    .tab-only                                                                   { display: none; }
    .lap-only                                                                   { display: none; }
    .des-only                                                                   { display: block; }

    .mob-off                                                                    { display: block; }
    .tab-off                                                                    { display: block; }
    .lap-off                                                                    { display: block; }
    .des-off                                                                    { display: none; }


    /* Home Tech */
    .home-tech .gallery .item                                                   { height: 76vh; }
    
}



@media(hover: hover) { /* -------------------------------------------- */

    /*------------------------------------------ Switches */
    
    .hover-only                                                                 { display: block; }
    .hover-off                                                                  { display: none; }
    
    
    a,
    .main-nav .links .link,
    .home-tech .tech-points .wrapper .points .item,
    input[type="submit"],
    .menu-button                                                                { cursor: pointer; }
    
    .main-nav .links .link                                                      { transition: transform 0.2s ease; }
    .main-nav .links .link:hover                                                { transform: scale(1.15); transform-origin: center; }
    
    .home-tech .tech-points .wrapper .points .item:hover                        { opacity: 1; }
    
    .wpcf7-form .row .row-item.submit-trick .icon                               { transition: transform 0.3s ease; }
    .wpcf7-form .row .row-item.submit-trick:hover .icon                         { transform: translateX(0.6vw); }
    
    footer a                                                                    { transition: opacity 0.1s linear; }
    footer a:hover                                                              { opacity: 0.4; }
    
}


@media not all and (hover: none) { /* -------------------------------------------- */

    /*------------------------------------------ Switches */
    
    
    .menu-is-open .main-nav .logo .link svg                                     { fill: var(--white-c); }
    .menu-is-open .main-nav .controls .menu-button .line                        { background-color: var(--white-c); }
    
}