.elementor-kit-6{--e-global-color-primary:#FFFFFF;--e-global-color-secondary:#000000;--e-global-color-text:#000000;--e-global-color-accent:#B9B8B8;--e-global-typography-primary-font-family:"Outfit";--e-global-typography-primary-font-weight:300;--e-global-typography-primary-line-height:1.4em;--e-global-typography-secondary-font-family:"Lexend Deca";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.4em;--e-global-typography-text-font-family:"Outfit";--e-global-typography-text-font-weight:300;--e-global-typography-text-line-height:1.4em;--e-global-typography-accent-font-family:"Lora";--e-global-typography-accent-font-weight:700;--e-global-typography-08d297a-font-family:"Montserrat";--e-global-typography-08d297a-font-size:14px;--e-global-typography-08d297a-font-weight:300;--e-global-typography-08d297a-line-height:1.5em;background-color:#FFFFFF;color:var( --e-global-color-secondary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#D7680300;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-accent );padding:10px 10px 010px 10px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-text );color:var( --e-global-color-primary );border-style:solid;border-width:0px 0px 0px 0px;border-color:var( --e-global-color-accent );border-radius:3px 3px 3px 3px;}.elementor-kit-6 a{color:var( --e-global-color-accent );text-decoration:underline;}.elementor-kit-6 a:hover{color:var( --e-global-color-text );}.elementor-kit-6 h1{font-family:"Noto Serif", Sans-serif;font-size:60px;line-height:1.2em;}.elementor-kit-6 h2{font-family:"noto-serif", Sans-serif;font-size:44px;font-weight:500;line-height:1.4em;letter-spacing:0.9px;}.elementor-kit-6 h3{font-family:"noto-serif", Sans-serif;font-size:24px;font-weight:100;line-height:2.3em;}.elementor-kit-6 h4{color:var( --e-global-color-secondary );font-family:"noto-serif", Sans-serif;font-size:18px;font-weight:bold;text-transform:none;line-height:63px;}.elementor-kit-6 label{color:var( --e-global-color-primary );font-family:"Noto Serif", Sans-serif;font-size:18px;}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-family:"Noto Serif", Sans-serif;font-size:20px;background-color:var( --e-global-color-primary );border-style:solid;border-color:var( --e-global-color-primary );border-radius:5px 5px 5px 5px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{background-color:var( --e-global-color-secondary );}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-primary-line-height:1.2em;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-text-line-height:1.2em;line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:32px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */body {
    overflow-x: hidden !important;
}

button#menu-toggle-120.e-n-menu-toggle {
    background-color:transparent;
}

a.elementor-button-link {
    text-decoration: none;
    color:#000000 !important;
}

a.elementor-button-link:hover {
    color:#FFFFFF !important;
}

.hero a.elementor-button-link {
    color:#ffffff !important;
}

strong,
b {
    font-weight: 500 !important;
}

.content a {
    color:#328ea9 !important;
}

.content a:hover {
    text-decoration: underline !important;
    color:#000000 !important;
}

.projects a {
    text-decoration: none;
}

p {
    margin-bottom: 35px;
}

.footer h1 {
    color:#ffffff !important;
}

.footer a {
    color:#ffffff !important;
}

.footer .col2 a {
    text-decoration: none !important;
}

.main-menu a {
    text-decoration: none;
    color:white;
}

.main-menu a:hover {
    text-decoration: underline;
    color:white;
}


.footer .footer-nav a {
    text-decoration: none;
}

.footer .footer-nav a:hover {
    text-decoration: underline;
}

a.dialog-close-button{
    text-decoration: none !important;
}

.credits p {
    line-height:1.8em;
}

.list ul {
    list-style-type: disc;
    padding-left:20px;
}

.list ul li {
    margin-bottom:25px;
    padding-left:10px;
}

.defaultmenu a {
    text-decoration: none !important;
}

.pathway a {
    color:#fff;
    text-decoration: none;
}

.pathway a:hover{
    color:#fff;
    opacity: 0.5;
}

.pathway a:before{
    content: "/ "
}

.pathway a:after{
    content: " / "
}

.button_category a {
    color:#fff !important;
    padding:15px 25px !important;
}

/*===========================*/
/* CONTACT FORM */

.form_alex input[type=text],
.form_alex input[type=email],
.form_alex textarea {
    border:1px solid #ffffff !important;
    color:white !important;
    min-width: 100% !important;
    background-color: transparent !important;
    font-weight: 200 !important;
    font-family:"Outfit" !important;
    font-size: 20px !important;
    line-height: 1.4em !important;
}

.form_alex legend,
.form_alex label{
    font-weight: 200 !important;
    font-family:"Outfit" !important;
    font-size: 24px !important;
    color: white !important;
    line-height: 1.4em !important;
}

.form_alex select {
    font-weight: 200 !important;
    font-family:"Outfit" !important;
    font-size: 24px !important;
    line-height: 1.6em !important;

}

.form_alex .wpforms-field {
    margin-bottom:25px !important;
}

.form_alex .wpforms-icon-choices-label {
    color:white !important;
}

div.wpforms-field-number-slider-hint,
div.wpforms-field-number-slider-hint b{
    color:white !important;
    font-family: "Outfit";
    font-size: 20px !important;
}

div.wpforms-field-number-slider-hint{
    font-weight: 100;
}

div.wpforms-field-number-slider-hint b{
    font-weight: 500;
}


div.wpforms-container-full .wpforms-form .wpforms-field-number-slider input[type=range] {
    background-color:white !important  ;
}

.wpforms-field-row.wpforms-field-medium {
    min-width: 100%;
}

.form_alex .wpforms-field-row-block.wpforms-one-half {
    min-width: 50% !important;
}

.form_alex input[type=submit],
.form_alex button{
    font-family: "Outfit" !important;
    font-size:24px !important;
    padding: 20px 35px 45px 35px !important;
    text-transform: capitalize !important;
    font-weight: 400 !important;
    background-color: transparent !important;
    border:1px solid white !important;
}

.form_alex .wpforms-field-description {
    display: none;
}

/*===========================*/
/* VIDEO SCRUBBER*/


.scrub-video-container {
  /*margin-left: 5rem;
  margin-right: 5rem;*/
  position: sticky;
  top: 0px;
  height: 100vh;
  /*transition: all 0.2s;*/
}

.scrub-video-container.in-view {
  margin: 0;
}

.scrub-video-container.in-view video {
    top: 0;
    height: 100%;
}

.scrub-video-wrapper {
  height: 200vh;
}

video.video_scroll {
    position: absolute;
    /*top: 3em;*/
    left: 0;
    width: 100%;
    height: calc(100% - 6em);
    object-fit: cover;
    transition: all 0.2s;
}

/*=======================*/

/* VIDEO TRIGGER */

.vid {
  background-color: tomato;
}

/*=======================*/

/* LETTERS ANIMATED IN A CLIPPING MASK */

/* Container and line styling */
.text-container {
  display: flex;
  flex-direction: column;
  gap: 0px; /* Space between lines */
  overflow: hidden; /* Ensures animation stays within bounds */
}

.text-line {
  position: relative; /* Allows translateY to move text */
  overflow: hidden;   /* Clips the text */
  will-change: transform; /* Optimize for animation */
  /*transform: translateY(100%); /* Initially hidden */
 clip-path: inset(0 0 0 0); /* Mask the entire line */
  color:#ffffff;
  font-family:'Lexend Deca';
  font-size:90px;
  font-weight: 600;
  line-height: 1.2;
}

/* Individual letters styling */
.text-line span {
  display: inline-block;
  color:#ffffff;
  opacity: 0; /* Start as invisible */
  transform: translateY(100%); /* Initially hidden */
  transition: transform 0.6s ease-out, opacity 0.3s ease-out;
}

.text-line span.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Use the ::after pseudo-element to add spaces */
.text-line .space::after {
  content: '\00a0'; /* Adds a non-breaking space */
}

.text-line .space {
  display: inline-block; /* Keeps space visible and allows its positioning */
}

.text-line.black {
    color:#000000 !important;
}


/* SCROLL REVEAL TEXT */

/*===========================*/
/*HIGHLIGH text*/

em.highlight {
    color: hsl(0 0% 100% / 0.2);
    background-image: linear-gradient(90deg, aqua, aqua);
    background-clip: text;
    background-size: 0% 100%;
    background-repeat: no-repeat;
    animation: high linear forwards;
    animation-timeline: view();
}

@keyframes high {
    to {
        background-size: 100% 100%;
    }
}

.scroll-reveal span {
    color: hsl(0 0% 100% / 0.2);
    background-image: linear-gradient(90deg, white, white);
    /*background-image: url(https://alexfreitas.ca/wp-content/uploads/2025/01/418889.jpg);*/
    background-size: 0% 100%;
    background-repeat: no-repeat;
    background-clip: text;
    animation: scroll-reveal linear forwards;
    animation-timeline: view();
}

.scroll-reveal h2 span {
 /*   animation-range-start: cover 20vh;
    animation-range-end: cover 40vh;
}*/
    animation-range-start: cover 40vh;
    animation-range-end: cover 90vh;
}

.scroll-reveal p {
 /*   animation-range-start: cover 30vh;
    animation-range-end: cover 60vh;
}*/
    animation-range-start: cover 35vh;
    animation-range-end: cover 40vh;
}

.scroll-reveal em.highlight {
    animation-range-start: cover 50vh;
    animation-range-end: cover 60vh;
}

.scroll-reveal h2 span {
    font-family: "Lexend Deca";
    font-weight: 600;
    font-size: 90px;
    line-height: 1.2;
    display: flex;
    margin: 0 0 25px 0;
}

.scroll-reveal p span {
    font-family: "Outfit";
    font-weight: 700;
    font-size: 52px;
    line-height: 1.4;
}

@keyframes scroll-reveal {
    to {
        background-size: 100% 100%;
    }
}

/*=======================*/
/*MARK TEXT*/

mark {
  --color1: springgreen;
  --color2: springgreen;
  --bg-height: 40%;
    
  all: unset;
  background-image: linear-gradient(var(--color1), var(--color2));
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 var(--bg-height);
  animation: highlight 800ms 1 ease-out;
  animation-fill-mode: forwards;
  animation-play-state: paused;
}


@keyframes highlight {
  to {
    background-size: 100% var(--bg-height);
  }
}

/*=======================*/
/* ABOUT SECTION */

.acontainer {
    display: flex;
    flex-direction: row;
    justify-content: center;
    width: 100vw;
    height: 100vh;
    margin:0;
    overflow-y: hidden;
    box-sizing: border-box;
}

.hero {
    background-image: url(https://alexfreitas.ca/wp-content/uploads/2025/01/about-bg.jpg);
    background-position-x: -300px;
    /*background-repeat:no-repeat;*/
    background-size: cover;
    width: 100wh;
    height: 100vh;
    /*background-color: #EE896A;*/
    /*background-color: #716290;*/
    /*background-color: #003340;*/
}

.hero .col1,
.hero .col2,
.hero .col3 {
    width: 33%;
}

.hero .col1 {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    padding-top:50px;
}

.hero .col2 img {
    max-width: 80%;
    height: auto;
    margin-left:-100px;
    margin-bottom:70px;
}

.hero .col2,
.hero .col3 {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
}

.hero .col3{
    margin-left:-250px;
}

.hero .col3 p{
    margin-bottom: 170px;
}

svg {
    z-index: 9;
}

.scroll-icon {
    position: absolute;
    top:50%;
    left:50%;
    display: block;
}

p.instructions {
    position: absolute;
    display: block;
    width: 190px;
    height: auto;
    left:50%;
    margin: 0 0 0 -130px;
    bottom:20%;
    font-size:24px;
}

.hero {
    font-family: "Lexend Deca";
    font-weight: 700;
    text-transform: uppercase;
    font-size: 180px;
    color:#fff;
    line-height: 1em;
}

.hero p span {
    display: flex;
}

.hero em {
    font-style: normal;
    font-size:20px;
    font-family: "Outfit";
    font-weight: 200;
    text-transform: none;
    margin-bottom: -80px;
    display: block;
    width: 100%;
}

.end-sentence {
    z-index: 9;
}

.acontainer h1 {
    font-family: "Lexend Deca";
    font-weight: 600;
    font-size: 72px;
    color:#fff;
    line-height: 1.2em;
}

.about-wrapper {
    max-width: 1500px;
    display: flex;
    flex-direction: row;
    padding:0 35px 35px 35px;
}

.acontainer.people .about-wrapper,
.acontainer.teach .about-wrapper {
    flex-direction: row-reverse;
}

.acontainer.dive .about-wrapper {
    flex-direction: row;
}

.acontainer.stories {
    background-color: #E17352;
    align-items: center;
}

.acontainer.people {
    background-color: #9735C4;
    align-items: center;
}

.acontainer.dive {
    background-color: #6B78ED;
    align-items: center;
}

.acontainer.teach {
    background-color: #30C29C;
    align-items: center;
}

.about-wrapper .col1,
.about-wrapper .col2 {
    padding:35px 25px;
}

.about-wrapper .col1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 55%;
}

.about-wrapper .col2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 45%;
}

.people .col2,
.teach .col2 {
    padding: 0 100px 0;
}

.acontainer.stories p,
.acontainer.people p,
.acontainer.dive p,
.acontainer.teach p {
    margin-top:70px;
    font-family: "Outfit";
    color:#fff;
    font-weight: 200;
    font-size: 24px;
    line-height: 2em;
}

span.circ1 {
    width: 540px;
    height: 540px;
    border-radius: 1000px;
    margin-top: 100px;
    z-index: 1;
}


span.circ2 {
    width: 380px;
    height: 380px;
    border-radius: 600px;
    z-index: 2;
    margin-top: -460px;
}

.acontainer .col2 img.centered-icon {
    z-index: 3;
    margin-top:-300px;
}

.acontainer.stories span.circ1 {
    border:80px solid #F3AC8D;
}

.acontainer.people span.circ1 {
    border:80px solid #BF5AEE;
}

.acontainer.dive span.circ1 {
    border:80px solid #8F9BFF;
}

.acontainer.teach span.circ1 {
    border:80px solid #51E0BA;
}

.acontainer.stories span.circ2 {
    border:60px solid #EE896A;
}

.acontainer.people span.circ2 {
    border:60px solid #D98AFE;
}

.acontainer.dive span.circ2 {
    border:60px solid #B0B8FF;
}

.acontainer.teach span.circ2 {
    border:60px solid #2AAC89;
    bottom:-153px;
}

button.about_btn {
    margin-top:230px;
    background-color:transparent;
    border:2px solid #fff;
    font-family: outfit;
    text-transform: uppercase;
    color: #fff;
    padding:25px 35px;
    border-radius: 7px;
    font-size: 18px;
}

button.about_btn:hover {
    background-color: rgb(0, 0, 0, 0.1);
    cursor: pointer;
}

.stories button.about_btn {
    margin-top: 220px;
}

.people button.about_btn {
    margin-top: 210px;
}

.dive button.about_btn {
    margin-top: 240px;
}

.teach button.about_btn {
    margin-top: 200px;
}

/* ============================= */

/*@media (max-width: 1024px) {*/

/*    .acontainer {*/
/*        flex-direction: column;*/
/*        height: 100vh;*/
/*        min-height:100vh;*/
/*    }*/

/*    .hero {*/
/*        font-size: 90px;*/
/*        text-align: center;*/
/*        height: 100%;*/
    }

/*    .hero .col1,*/
/*    .hero .col2,*/
/*    .hero .col3 {*/
/*        width: 100%;*/
/*    }*/

/*    .hero .col1 {*/
/*        align-items: center;*/
/*        justify-content: center;*/
/*        margin-top:-600px;*/
/*    }*/
    
/*    .hero .col2 img {*/
/*        margin-left:0;*/
/*        margin-bottom:-1450px;*/
/*    }*/
    
/*    .hero .col2,*/
/*    .hero .col3 {*/
/*        display: flex;*/
/*        justify-content: center;*/
/*        align-items: flex-end;*/
/*    }*/
    
/*    .hero .col3{*/
/*        margin-left:0;*/
/*        text-align: center;*/
/*    }*/

/*    .hero .col3 span {*/
/*        text-align: center;*/
/*        align-items: center;*/
/*        justify-content: center;*/
/*    }*/
    
/*    .hero .col3 p{*/
/*        margin-bottom:0;*/
/*    }*/

/*    .hero em {*/
/*        font-size:60px;*/
/*        margin-bottom: -50px;*/
/*    }*/

/*    p.instructions {*/
/*        display: none;*/
/*    }*/

/*    .about-wrapper {*/
/*        max-width: 100%;*/
/*        flex-direction: column;*/
/*        padding:0 35px 35px 35px;*/
/*    }*/

/*    .about-wrapper .col1,*/
/*    .about-wrapper .col2 {*/
/*        width: 100%;*/
/*    }*/

/*    .about-wrapper h1 {*/
/*        font-size: 90px;*/
/*        text-align: center;*/
/*    }*/

/*    .acontainer.stories .about-wrapper,*/
/*    .acontainer.people .about-wrapper,*/
/*    .acontainer.dive .about-wrapper,*/
/*    .acontainer.teach .about-wrapper {*/
/*        flex-direction: column;*/
/*        padding:0 50px;*/
/*    }*/

/*    .acontainer.stories p,*/
/*    .acontainer.people p,*/
/*    .acontainer.dive p,*/
/*    .acontainer.teach p {*/
/*        margin-top:70px;*/
/*        font-family: "Outfit";*/
/*        color:#fff;*/
/*        font-weight: 200;*/
/*        font-size: 52px;*/
/*        line-height: 1.7em;*/
/*        text-align: center;*/
/*        margin-bottom:-100px;*/
/*    }*/

/*    .acontainer .col2 img.centered-icon {*/
/*        z-index: 3;*/
/*        margin-top:-320px;*/
/*    }*/

/*    .stories button.about_btn,*/
/*    .people button.about_btn,*/
/*    .dive button.about_btn,*/
/*    .teach button.about_btn {*/
/*        margin-top: 250px;*/
/*        font-size:36px;*/
/*    }*/
/*}*/




/*======================*/


@media (min-width: 767px) {
    .hidecol {
        display:none;
    }
    .showcol {
        display: flex;
    }
    .elementor-menu-toggle {
        display:none !important;
    }
    
}

@media (max-width: 1024px) {
    .elementor-menu-toggle {
        display:none !important;
    }
    
    .text-line {
        font-size:30px;
    }
}

@media (max-width: 766px) {
    .hidecol {
        display:flex;
    }
    .showcol {
        display:none;
    }
    .text-line {
        font-size:32px;
    }
    .text-container {
        align-items: center;
    }
}

/* PAGE TRANSITIONS */

/* Page ENTER animation (runs when the new page loads) */
body {
  animation: page-enter 0.4s ease-out;
}

/* Page LEAVE animation (triggered via JS before navigation) */
body.is-exiting {
  animation: page-leave 0.4s ease-in forwards;
}

/* Enter: slide slightly from the right, fade in */
@keyframes page-enter {
  from {
    /*opacity: 0;*/
    transform: translateX(25px);
  }
  to {
    /*opacity: 1;*/
    transform: translateX(0);
  }
}

/* Leave: slide slightly to the left, fade out */
@keyframes page-leave {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(-25px);
  }
}/* End custom CSS */