﻿* {
    margin: 0;
    box-sizing: border-box;
}



html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
    font-family: Arial, Helvetica, sans-serif;
}

body {
  margin-bottom: 0;
  color:white;
}

input[type="text"],
input[type="tel"],
input[type="search"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="url"],
input[type="email"] {
    margin-top: 10px;
    margin-bottom: 10px;
    margin-right: auto;
    margin-left: auto;
    background-color: whitesmoke;
    border: solid 2px silver;
    border-radius: 25px;
    font-size: medium;
    padding-left: 5px;
    padding-right: 5px;
    width: 100%;
    color: black;
    font-weight: 400;
}


select {
    margin-top: 10px;
    margin-bottom: 10px;
    margin-right: auto;
    margin-left: auto;
    background-color: whitesmoke;
    border: solid 2px silver;
    border-radius: 25px;
    font-size: medium;
    padding: 4px;
    width: 100%;
    color: black;
    font-weight: 400;
}

textarea {
    margin-top: 10px;
    margin-bottom: 10px;
    margin-right: auto;
    margin-left: auto;
    background-color: whitesmoke;
    border: solid 2px silver;
    border-radius: 25px;
    font-size: medium;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
    color: black;
    font-weight: 400;
}

.neon-border {
    position: relative;
    /*width: 300px;*/
    /*height: 200px;*/
    background: #111;
    color: white;
    font-family: sans-serif;
    text-align: center;
    /*line-height: 200px;*/
    /*margin: 50px auto;*/
    border-radius: 20px;
    overflow: hidden;
    z-index: 1;
}

    .neon-border::before {
        content: "";
        position: absolute;
        top: -3px;
        left: -3px;
        right: -3px;
        bottom: -3px;
        background: conic-gradient( from 0deg, #00f, #0ff, #0f0, #ff0, #f00, #00f );
        animation: rotate-border 4s linear infinite;
        z-index: -1;
        filter: blur(4px);
        border-radius: 20px;
    }

    .neon-border::after {
        content: "";
        position: absolute;
        top: 3px;
        left: 3px;
        right: 3px;
        bottom: 3px;
        background: #111;
        z-index: -1;
        border-radius: 20px;
    }

@keyframes rotate-border {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


.spinner-container {
    position: fixed !important;
    width: 100% !important;
    height: 500px !important;
    /*background-color: rgba(0, 0, 0, 0.5) !important;*/ /* Semi-transparent background */
    z-index: 9999 !important; /* Ensure it appears above other elements */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.fans-font-250px {
    font-size: 250px;
}
.fans-list-icon-spacer {
    padding-left: 5px;
    padding-right: 5px;
    text-decoration: none;
    background-color: wheat;
    color: blue;
    border: none;
}
.fans-icon-blue {
    color: #5113ed;
    background-color: white;
}
.fans-backgroundcolor-transparent {
    background-color: transparent !important;
}

.fans-radio-element {
    transform: scale(2); /* Increase size (e.g., 1.5x) */
    -webkit-transform: scale(2); /* Safari/older Chrome support */
    transform-origin: top left; /* Optional: adjust alignment */
    margin: 10px; /* Optional: add spacing */
    vertical-align: top;
}

.fans-checkbox-element {
    transform: scale(1.5); /* Increase size (e.g., 1.5x) */
    -webkit-transform: scale(1.5); /* Safari/older Chrome support */
    transform-origin: top left; /* Optional: adjust alignment */
    margin: 5px; /* Optional: add spacing */
}

.fans-form-button-wide {
    background-color: blue;
    color: yellow;
    border: solid 2px yellow;
    width: 100%;
    border-radius: 20px;
    padding: 5px;
    padding-right: 10px;
    padding-left: 10px;
    font-size: large;
}

.fans-dark {
    background-color: #343a40 !important;
}


.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.fans-text-decoration-none {
    text-decoration: none;
}

.fans-text-align-right {
    text-align: right;
}

.fans-text-align-center {
    text-align: center;
}

.fans-text-align-left {
    text-align: left;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

.main-menu-link-div {
    display:inline-flex;
    text-decoration:none;
}

.main-menu-link {
    display: inline-block;
    border: solid 2px transparent;
    border-radius: 10px;
    color: white!important;
    font-weight: 100;
    font-size: medium;
    text-decoration: none;
    color: white;
    font-weight: 100;
    margin-top: 5px;
    margin-left: 10px;
    padding-left: 10px;
    margin-right: 10px;
    padding-right: 10px;
    padding-top: 5px;
    padding-bottom: 5px;
    width: 100%;
}

.fans-button-demos {
    font-weight: 100;
    font-size: large;
    border: solid 1px gold;
    border-radius: 20px;
    margin: 10px;
    color: white;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 20px;
    padding-bottom: 20px;
    width: 90%;
    background: linear-gradient(blue, #2a5298);
}

    .fans-button-demos:hover {
        background-color: lightblue;
        color: yellow;
        border: solid 1px black;
        padding-top: 20px;
        padding-bottom: 20px;
    }

.fans-border-bottom{
    border-bottom:solid 2px #7160e8;
}
.fans-border-top {
    border-top: solid 2px #7160e8;
}
.fans-page-footer {
    color: white;
    padding: 5px;
    text-align: center;
    font-size: small;
    font-weight: 100;
    position: fixed!important;
    bottom: 0;
    width: 100%;
    border-top: solid 1px #a99cff;
    background-color:black;
}
.fans-menu-fixed{
    position:fixed;
    width:100%;
    z-index:1000;
    background-color: black;
}


.fans-demo-title {
    color: yellow !important;
    font-size: xx-large;
    font-weight: 100;
    padding: 10px;
    text-decoration: none;
}


.fans-form-container {
    border: solid 3px #7160e8 !important;
    color: black;
    background-color: whitesmoke;
    padding: 10px;
    border-radius: 20px;
    margin-left: 10px;
    margin-right: 10px;
    max-width: 450px;
    padding-top:10px;
}

.fans-form-container-promo {
    border: solid 4px blue !important;
    color: gold;
    background-color: green;
    padding: 10px;
    border-radius: 20px;
    margin-left: 10px;
    margin-right: 10px;
    max-width: 450px;
    min-width: 350px;
}

.fans-float-right {
    float: right;
}
.fans-float-left {
    float: left;
}

.fans-form-message {
    display: flex;
    flex-direction: column; /* stacks children vertically */
    font-size: x-small!important;
    color: navy;
    font-weight: 100;
}

.fans-form-div {
    display: flex;
    flex-direction: column; /* stacks children vertically */
}

.fans-form-title {
    font-size: xx-large;
    color: navy;
    font-weight: 100!important;
    padding-bottom: 10px;
    float: left;
}

.fans-color-white{
    color:white!important;
}
.fans-color-yellow {
    color: yellow!important;
}

.fans-hamburger {
    text-decoration: none;
    color: yellow;
    margin-top: 10px;
}

.fans-body-content {
    line-height: 1.5;
    margin-left:auto;
    margin-right:auto;

}

.white-text-shadow {
    color: white!important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 1);
}

.black-text-shadow {
    color: black!important;
    text-shadow: 2px 2px 4px rgba(255, 255, 255, 1);
}
.brightblue-text-shadow {
    color: #a99cff!important;
    text-shadow: 2px 2px 4px rgba(255, 255, 255, 1);
}
.fans-wide-menu-item-home {
    color: white !important;
    text-decoration: none;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 1);
    display:inline-block!important;
    padding-left:100px;
}

.fans-wide-menu-item-focus {
    color: yellow !important;
    background-color: blue;
    text-decoration: none;
    border-radius: 20px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 1);
    padding: 10px;
    border: solid 2px #a99cff;
}



.dark-text-shadow {
    color: #222;
    text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.5);
}




.home-intro {
    margin-left: auto;
    margin-right: auto;
    padding: 10px;
    width: auto;
    max-width: 768px;
    background: radial-gradient(circle, #1e3c72 10%, #2a5298 75%, black 100%);
    text-align: center;
    border-radius: 20px;
    border: solid 2px #a99cff;
}

.home-intro-header {
    margin-left: auto;
    margin-right: auto;
    font-size: xx-large;
    font-weight: 100;
    display: block;
    text-align: center;
}

.home-intro-description {
    font-size: small;
    font-weight: 100;
    display: block;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    width: 75%;
    text-align: center;
}

.home-nocodingrequired {
    font-weight: 700;
    font-style: italic;
    font-size: xx-large;
    color: gold;
    letter-spacing: 2px; /* or use em units, e.g., 0.1em */
    padding: 25px;
    text-align: center;
}



.home-radical-simplicity {
    margin-top: 100px;
    margin-left: auto;
    margin-right: auto;
    padding: 10px;
    width: auto;
    max-width: 768px;
    background: radial-gradient(circle, #1e3c72 50%, #2a5298 75%, black 100%);
    text-align: left;
    border-radius: 20px;
    border: solid 2px #a99cff;
}

.home-radical-simplicity-header {
    display: block;
    font-size: xx-large;
    font-weight: 100;
    text-align: center;
}

.home-radical-simplicity-why {
    font-size: xx-large;
    font-weight: 100;
    text-align: center;
}

.home-radical-simplicity-whyreasons-title {
    font-size: small;
    font-weight: 500;
    text-align: left;
    color: white;
}

.home-radical-simplicity-whyreasons {
    display: block;
    font-size: small;
    font-weight: 100;
    text-align: left;
}




.home-foundation {
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    padding: 25px;
    width: auto;
    max-width: 768px;
    /*background: radial-gradient(circle, #1e3c72 50%, #2a5298 75%, black 100%);*/
    background-image: url('../images/actions.jpg');
    background-repeat: repeat-y; /* Repeat vertically */
    background-size: 100% auto; /* Stretch to fill width */
    background-position: top center; /* Optional: position it nicely */
    /*opacity: 0.9;*/ /* ✅ Adjust opacity */
    z-index: -1; /* ✅ Place behind content */
    text-align: center;
    border-radius: 20px;
    border: solid 3px blue;
    color: black;
}

.home-foundation-header {
    display: block;
    font-size: xx-large;
    font-weight: 100;
    text-align: center;
    color: black;
    padding-bottom: 25px;
}

.home-foundation-title {
    font-size: large;
    font-weight: 500;
    text-align: left;
    color: gold;
    text-decoration: underline;
}

.home-foundation-whyreasons {
    font-size: small;
    font-weight: 400;
    text-align: left;
    padding-bottom: 30px;
    color: white;
}



.home-security {
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    padding: 25px;
    width: auto;
    max-width: 768px;
    /*background: radial-gradient(circle, #1e3c72 50%, #2a5298 75%, black 100%);*/
    background-image: url('../images/CyberSecurity.jpg');
    background-repeat: repeat-y; /* Repeat vertically */
    background-size: 100% auto; /* Stretch to fill width */
    background-position: top center; /* Optional: position it nicely */
    /*opacity: 0.9;*/ /* ✅ Adjust opacity */
    z-index: -1; /* ✅ Place behind content */
    text-align: center;
    border-radius: 20px;
    border: solid 2px navy;
    color: black;
}

.home-security-header {
    display: block;
    font-size: xx-large;
    font-weight: 100;
    text-align: center;
    color: black;
    margin-bottom: 10px;
}

.home-security-whyreasons-title {
    font-size: large;
    font-weight: 100;
    text-align: left;
    color: gold;
    padding: 10px;
    vertical-align: top;
    /*border-bottom: solid 1px black;*/
}

.home-security-section-td {
    border-top: solid 1px silver;
    border-bottom: solid 1px silver;
    text-align: left;
    width: 100%;
}

.home-security-whyreasons {
    font-size: small;
    text-align: left;
    padding-bottom: 30px;
    padding: 10px;
    color: white;
}




.home-features-intro {
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    padding: 25px;
    width: auto;
    max-width: 768px;
    background: radial-gradient(circle, #1e3c72 10%, #2a5298 75%, black 100%);
    text-align: center;
    border-radius: 20px;
    border: solid 2px #a99cff;
}

.home-features-intro-header {
    margin-left: auto;
    margin-right: auto;
    font-size: xx-large;
    font-weight: 100;
    display: block;
    text-align: center;
}

.home-features-ul {
    padding: 20px;
    text-align: left;
}

.home-features-li {
    padding-bottom: 20px;
}

.home-features-title {
    font-size: large;
    font-weight: 500;
    text-align: left;
    color: yellow;
    vertical-align: top;
}

.home-features-intro-description {
    font-size: small;
    font-weight: 100;
    display: block;
    text-align: left;
}


.fans-form-errormessage {
    text-align: left;
    font-weight: 400;
    background-color: darkred;
    color: yellow;
    border: solid 1px red;
    font-style: normal;
    padding: 5px;
    padding-left: 10px;
    margin-top: 5px;
    margin-bottom: 5px;
    border-radius: 20px;
    font-size: x-small;
    white-space: normal;
    max-width: 100%;
}


.fans-form-successmessage {
    text-align: left;
    font-weight: 400;
    background-color: blue;
    color: yellow;
    border: solid 3px #7160e8 !important;
    font-style: normal;
    padding: 5px;
    padding-left: 10px;
    margin-top: 5px;
    margin-bottom: 5px;
    margin-left:auto;
    margin-right:auto;
    border-radius: 20px;
    font-size: x-small;
    white-space: normal;
    box-sizing: border-box;
    width: 100%;
}

.fans-form-generalmessage {
    text-align: left;
    font-weight: 600;
    background-color: #ff6200;
    color: navy;
    border: solid 2px navy;
    font-style: normal;
    padding: 5px;
    padding-left: 10px;
    margin-top: 15px;
    margin-bottom: 15px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 20px;
    font-size: small;
    width: 325px;
}

.fans-help-icon {
    -webkit-text-decoration: none;
    text-decoration: none;
    cursor: help;
    font-size:small;
}

.fans-read-only-element {
    font-weight: 500 !important;
    color: yellow !important;
    background-color: darkcyan !important;
}

.fans-securitycode-number {
    width: 45px !important;
    display: inline-block;
    padding: 3px !important;
    border-radius: 10px !important;
    text-align: center;
    font-weight: 1500 !important;
    font-size:24px!important;   
}

.fans-securitycode-div {
    margin-left:0;
    margin-right:auto;
}

.fans-beta-header {
    font-size:xx-large;
    font-weight:100;
    color:yellow!important;
    padding-left:10px;
    text-decoration:none;
}


.box {
    margin: 0 auto; /* top/bottom = 0, left/right = auto */
    background: #eee;
    padding: 1rem;
}

.fans-container {
    flex-direction: column;
    gap: 1rem;
    padding:10px;
}

.fans-letters-numbers-files-div {
    font-weight: 100;
    font-size: large;
    border: solid 2px gold;
    border-radius: 20px;
    padding: 10px;
    margin: 20px;
}

.fans-menu-item-div {
    display: inline-block;
    padding-right: 10px;
    padding-top: 15px;
}

.fans-bronze-background {
    background-image: url('../images/bronze.jpg');
    background-repeat: no-repeat;
    /*background-attachment: fixed;*/
    background-position:center;
    background-color: darkslategrey;
    background-size:auto;
/*    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    margin: 0px;*/
    color: white;
    z-index: 0;
    width:350px;
}

.fans-silver-background {
    background-image: url('../images/silver.jpg');
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
    background-color: darkslategrey;
    background-size: cover;
    /*    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    margin: 0px;*/
    color: white;
    z-index: 0;
    width: 350px;
}
.fans-gold-background {
    background-image: url('../images/gold.jpg');
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
    background-color: darkslategrey;
    background-size: cover;
    /*    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    margin: 0px;*/
    color: white;
    z-index: 0;
    width: 350px;
}


.fans-cart-table {
    font-size:x-small;
    border-collapse:collapse;
}



.fans-cart-footer {
    color: white;
    background-color: darkblue;
    padding: 4px;
}

.fans-font-bold {
    font-weight:bold;
}

.fans-nowrap {
    white-space:nowrap;
}

.fans-faar-menu {
    padding: 5px;
    margin: 0;
    height: 10px;
    width: 325px;
    justify-content: space-between;
}

.fans-menu-tile-large {
    border-radius: 3px;
    width: 75px;
/*    height: 75px;*/
}

/*===========================================*/
/*===========================================*/

.grid {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) repeat(auto-fit, minmax(120px, 1fr));
    gap: 12px;
    align-items: center;
    border-bottom: solid 1px #a99cff;
}

    .grid > div {
        padding: 0; 
        border: none;
        border-radius: 8px;
        background-color: black;
        min-width: 0; 
    }

.fansastic-logo-div {
    color: yellow !important;
    font-size: x-large;
    font-weight: 100;
    text-decoration: none;
    letter-spacing: 1px;
    padding: 10px 12px;
    display: flex; 
    align-items: center;
}

.fansastic-logo-link {
    color: gold !important;
    text-decoration: none;
}

.yellow-text-shadow {
    color: yellow;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 1);
}

.fans-menu-tile-contents,
.fans-menu-tile-focus {
    display: block; 
    text-decoration: none;
    text-align: center;
    font-size: small;
    padding: 1px 1px;
    border-radius: 10px;
    line-height: 1.25;
    color: white !important;
    word-break: normal;
    overflow-wrap: anywhere; 
}

.fans-menu-tile-contents {
    background-color: transparent;
}

/* Focus/active */
.fans-menu-tile-focus {
    background-color: blue;
    color: yellow !important;
    border: solid 1px white;
}

.fans-menu-tile-contents:hover {
    background-color: gold;
    color: black !important;
    border: solid 1px blue;
}

@media (max-width: 640px) {
    .fansastic-logo-div {
        grid-column: 1 / -1; 
        justify-content: flex-start;
        margin:3px;
    }

    .grid {
        grid-template-columns: repeat(auto-fit, minmax(55px, 1fr));
    }
}

/*===========================================*/
/*===========================================*/

.fans-menu-tile-create {
    background-color: #333;
    color: white;
    border: solid 1px white;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    vertical-align: middle;
    border-radius: 20px;
    width: 80px;
    height: 35px;
    display: inline-flex;
    font-size: small;
}
.fans-menu-tile-read {
    background-color: #333;
    color: white;
    border: solid 1px white;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    vertical-align: middle;
    border-radius: 20px;
    width: 80px;
    height: 35px;
    display: inline-flex;
    font-size: small;
}
.fans-menu-tile-update {
    background-color: #333;
    color: white;
    border: solid 1px white;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    vertical-align: middle;
    border-radius: 20px;
    width: 80px;
    height: 35px;
    display: inline-flex;
    font-size: small;
}
.fans-menu-tile-delete {
    background-color: #333;
    color: white;
    border: solid 1px white;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    vertical-align: middle;
    border-radius: 20px;
    width: 80px;
    height: 35px;
    display: inline-flex;
    font-size: small;
}
.fans-menu-tile-item {
    background-color: #333;
    color: white;
    border: solid 1px white;
    margin-left:auto;
    margin-right:auto;
    text-align: center;
    vertical-align:middle;
    border-radius:20px;
    width:80px;
    height:35px;
    display:inline-flex;
    font-size:small;
}



.fans-menu-title {
    font-size: large;
    background: linear-gradient(to right, blue, gray);
    border-radius:20px;
    border: solid 1px white;
    margin-top:20px;
    text-align:center;
/*    height:30px;*/
    vertical-align:middle;
}

.fans-select-option{
    font-size:small;
}

.fans-margin-top-20 {
    padding-top: 20px;
}

.fans-authed-menu {
    position: fixed; /* Keeps the menu at the top when scrolling */
    top: 0; /* Aligns to the top of the page */
    left: 0; /* Aligns to the left edge */
    width: 100%; /* Makes it span the full width of the viewport */
    background-color: #333; /* Example background color */
    color: white; /* Example text color */
    padding: 10px 0; /* Optional padding for spacing */
    text-align: center; /* Optional: centers menu items horizontally */
    z-index: 1000; /* Ensures it stays above other elements */
    height:50px;
}

.fan-elements-table {
    width: 100%;
    background-color: white;
    font-size: small;
    border: solid 1px white;
    border-radius: 20px;
    padding-bottom: 10px;

}
.fans-cart-header {
    color: black;
    font-weight:bold;
    padding-left: 5px;
    padding-right: 5px;
    vertical-align:bottom;
}

.fans-cart-data {
    color: black;
    background-color: white;
    padding-left: 5px;
    padding-right: 5px;
    vertical-align: top;
    border-top:solid 1px silver;
}

/*==================================================================================*/
/*==================================================================================*/
/*==================================================================================*/

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}