
/* =========================================
   MAS AVIATION - CUSTOM RED CURSOR
========================================= */


/* CUSTOM CURSOR ON ALL PAGES AND POPUPS */

@media (hover: hover) and (pointer: fine) {

  html.mas-cursor-enabled,
  html.mas-cursor-enabled * {
    cursor: none !important;
  }

  /* Keep text selection cursor inside form fields */
  html.mas-cursor-enabled input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
  html.mas-cursor-enabled textarea,
  html.mas-cursor-enabled [contenteditable="true"] {
    cursor: text !important;
  }

}


/* CURSOR POSITIONING */

.mas-custom-cursor {
  position: fixed;
  top: 0;
  left: 0;

  width: 42px;
  height: 42px;

  z-index: 2147483647;
  pointer-events: none;

  display: flex;
  align-items: center;
  justify-content: center;

  opacity: 0;
  visibility: hidden;

  transform: translate3d(-100px, -100px, 0);

  will-change: transform;
}

/* VISIBLE CURSOR */

.mas-custom-cursor.is-visible {
  opacity: 1;
  visibility: visible;
}

/* DEFAULT SMALL RED DOT */

.mas-cursor-inner {
  width: 8px;
  height: 8px;

  border-radius: 50%;
  background: #c71930;

  display: flex;
  justify-content: center;
  align-items: center;

  border: 1px solid transparent;

  transition:
    width 0.25s ease,
    height 0.25s ease,
    background 0.25s ease,
    border-color 0.25s ease;
}

/* INNER RED DOT */

.mas-cursor-inner::after {
  content: "";

  width: 6px;
  height: 6px;

  flex-shrink: 0;
  border-radius: 50%;
  background: #c71930;
}

/* EXPAND ON CLICKABLE ELEMENTS */

.mas-custom-cursor.is-active .mas-cursor-inner {
  width: 36px;
  height: 36px;

  background: rgba(199, 25, 48, 0.13);
  border: 1px solid rgba(199, 25, 48, 0.55);
}

/* HIDE WHEN OUTSIDE WINDOW */

.mas-custom-cursor:not(.is-visible) {
  opacity: 0;
}

/* ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {
  .mas-cursor-inner {
    transition: none;
  }
}
