/* =========================================================
   SEA LICENSING — FINAL SEAFARER REQUEST CTA
   Desktop only
   ========================================================= */

@media (min-width:1051px){

  .sfw-request-cta-enhanced{
    position:relative;
    isolation:isolate;
    overflow:hidden;

    background:
      linear-gradient(
        108deg,
        #06334b 0%,
        #075173 48%,
        #087ba5 100%
      ) !important;
  }


  /* ---------------------------------------------------------
     MARITIME / HORIZON TEXTURE
     --------------------------------------------------------- */

  .sfw-request-cta-enhanced::before{
    content:"";
    position:absolute;
    inset:0;

    z-index:0;
    pointer-events:none;

    background:
      radial-gradient(
        circle at 80% 30%,
        rgba(116,222,246,.16) 0%,
        transparent 34%
      ),

      repeating-linear-gradient(
        -8deg,
        transparent 0,
        transparent 74px,
        rgba(187,231,242,.035) 75px,
        transparent 76px
      ),

      repeating-radial-gradient(
        ellipse at 72% 120%,
        transparent 0 62px,
        rgba(170,224,239,.045) 63px,
        transparent 65px 112px
      );

    opacity:.78;
  }


  /* glowing horizon */
  .sfw-request-cta-enhanced::after{
    content:"";

    position:absolute;

    left:0;
    right:0;
    top:58%;

    height:1px;

    z-index:0;

    background:
      linear-gradient(
        90deg,
        transparent 0%,
        rgba(105,211,240,.08) 15%,
        rgba(105,211,240,.27) 55%,
        rgba(160,231,248,.15) 78%,
        transparent 100%
      );

    box-shadow:
      0 0 24px
      rgba(57,184,222,.13);

    animation:
      sfwRequestHorizon
      7s ease-in-out infinite alternate;

    pointer-events:none;
  }


  .sfw-request-cta-enhanced > *{
    position:relative;
    z-index:2;
  }


  /* ---------------------------------------------------------
     CONTENT
     --------------------------------------------------------- */

  .sfw-request-cta-enhanced
  .sfw-request-copy{
    position:relative;
    padding-left:54px;
  }


  /* nautical symbol */
  .sfw-request-mark{
    position:absolute;

    left:0;
    top:50%;

    width:38px;
    height:38px;

    transform:translateY(-50%);

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    color:#74daf3;

    border:
      1px solid
      rgba(125,218,242,.24);

    background:
      rgba(255,255,255,.045);

    box-shadow:
      inset 0 1px 0
      rgba(255,255,255,.06),
      0 0 24px
      rgba(58,191,225,.08);

    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);

    pointer-events:none;
  }


  .sfw-request-mark::before,
  .sfw-request-mark::after{
    content:"";
    position:absolute;
    background:
      rgba(120,218,243,.25);
  }

  .sfw-request-mark::before{
    width:1px;
    height:52px;
  }

  .sfw-request-mark::after{
    width:52px;
    height:1px;
  }


  .sfw-request-mark svg{
    position:relative;
    z-index:2;

    width:18px;
    height:18px;

    fill:none;
    stroke:currentColor;

    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }


  /* ---------------------------------------------------------
     HEADING
     --------------------------------------------------------- */

  .sfw-request-heading{
    position:relative;

    text-shadow:
      0 5px 20px
      rgba(0,20,32,.15);
  }


  .sfw-request-heading::after{
    content:"";

    display:block;

    width:0;
    height:2px;

    margin-top:9px;

    border-radius:99px;

    background:
      linear-gradient(
        90deg,
        #62d0ed,
        rgba(98,208,237,0)
      );

    transition:
      width .9s
      cubic-bezier(.16,1,.3,1)
      .2s;
  }


  .sfw-request-cta-enhanced.sfw-request-inview
  .sfw-request-heading::after{
    width:74px;
  }


  /* ---------------------------------------------------------
     BUTTON
     --------------------------------------------------------- */

  .sfw-request-button{
    position:relative !important;
    overflow:hidden !important;

    border:
      1px solid
      rgba(141,228,248,.22) !important;

    box-shadow:
      0 10px 28px
      rgba(0,28,43,.15),
      inset 0 1px 0
      rgba(255,255,255,.16);

    transition:
      transform .28s
      cubic-bezier(.16,1,.3,1),
      box-shadow .28s ease,
      filter .28s ease !important;
  }


  .sfw-request-button::before{
    content:"";

    position:absolute;

    top:-70%;
    bottom:-70%;

    width:42px;
    left:-70px;

    transform:rotate(18deg);

    background:
      linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.40),
        transparent
      );

    animation:
      sfwRequestButtonSweep
      5.5s ease-in-out
      1.5s infinite;

    pointer-events:none;
  }


  .sfw-request-button:hover{
    transform:
      translateY(-3px) !important;

    box-shadow:
      0 15px 34px
      rgba(0,31,48,.22),
      0 0 0 4px
      rgba(90,208,238,.06);

    filter:
      brightness(1.05);
  }


  .sfw-request-button svg{
    transition:
      transform .28s
      cubic-bezier(.16,1,.3,1);
  }


  .sfw-request-button:hover svg{
    transform:
      translateX(4px);
  }


  /* ---------------------------------------------------------
     SCROLL ENTRANCE
     --------------------------------------------------------- */

  .sfw-request-copy{
    opacity:0;

    transform:
      translate3d(-24px,8px,0);

    transition:
      opacity .7s ease,
      transform .8s
      cubic-bezier(.16,1,.3,1);
  }


  .sfw-request-button{
    opacity:0;

    transform:
      translate3d(22px,5px,0);

    transition:
      opacity .7s ease .14s,
      transform .8s
      cubic-bezier(.16,1,.3,1)
      .14s,
      box-shadow .28s ease,
      filter .28s ease !important;
  }


  .sfw-request-inview
  .sfw-request-copy,
  .sfw-request-inview
  .sfw-request-button{
    opacity:1;
    transform:none;
  }


  /* ---------------------------------------------------------
     ANIMATIONS
     --------------------------------------------------------- */

  @keyframes sfwRequestHorizon{

    from{
      transform:
        translateX(-20px);

      opacity:.50;
    }

    to{
      transform:
        translateX(30px);

      opacity:1;
    }

  }


  @keyframes sfwRequestButtonSweep{

    0%,68%{
      left:-70px;
    }

    84%,100%{
      left:130%;
    }

  }

}


/* accessibility */
@media (prefers-reduced-motion:reduce){

  .sfw-request-cta-enhanced,
  .sfw-request-cta-enhanced *,
  .sfw-request-cta-enhanced::before,
  .sfw-request-cta-enhanced::after{
    animation:none !important;
    transition:none !important;
  }

  .sfw-request-copy,
  .sfw-request-button{
    opacity:1 !important;
    transform:none !important;
  }

}
