/* ===================================
   General
====================================== */

:root {
    --gigneo-line-height: 1.5;
    --gigneo-border-radius-sm: 4px;
    --gigneo-border-radius-md: 8px;
    --gigneo-border-radius-lg: 12px;
    --gigneo-border-radius-xl: 16px;
    --gigneo-primary-color: 126, 76, 255;           /* #7E4CFF */
    --gigneo-secondary-color: 46, 128, 255;         /* #2E80FF */
    --gigneo-primary-font-color: 99, 99, 99;        /* #636363 */
    --gigneo-secondary-font-color: 14, 14, 15;      /* #0E0E0F */
    --gigneo-light-grey-color: 250, 250, 250;       /* #FAFAFA */
    --gigneo-grey-color: 235, 235, 235;             /* #EBEBEB */
    --gigneo-dark-grey-color: 207, 207, 207;        /* #CFCFCF */
    --gigneo-light-success-color: 221, 250, 220;    /* #DDFADC */
    --gigneo-success-color: 23, 178, 106;           /* #17B26A */
    --gigneo-light-danger-color: 250, 235, 235;     /* #FAEBEB */
    --gigneo-danger-color: 231 42 42;               /* #E72A2A */
    --gigneo-light-warning-color: 255, 249, 245;    /* #FFF9F5  */
    --gigneo-warning-color: 245, 158, 11;           /* #F59E0B */
    --gigneo-light-info-color: 220, 237, 250;       /* #DCEDFA */
    --gigneo-info-color: 46, 144, 250;              /* #2E90FA */
    --gigneo-dark-color: 43, 43, 43;                /* #2B2B2B */
}

* {
    box-sizing: border-box;
}

button:focus-visible,
a:focus-visible {
    outline-color: rgb(var(--gigneo-primary-color));
}

.gn-h-100 {
    height: 100%;
}

/* ===================================
   Image
====================================== */

img {
    vertical-align: middle;
}

/* ===================================
   Button
====================================== */

.gn-btn,
a.gn-btn,
button.gn-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 14px;
    line-height: var(--gigneo-line-height);
    font-weight: 500;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid transparent;
    padding: 9px 20px;
    outline: none;
    box-shadow: none;
    fill: rgb(var(--gigneo-dark-color));
    color: rgb(var(--gigneo-dark-color));
    background-color: transparent;
    border-radius: var(--gigneo-border-radius-lg);
    transition: all .15s ease-in-out;
}

.gn-btn:hover,
.gn-btn:focus,
a.gn-btn:hover,
a.gn-btn:focus,
button.gn-btn:hover,
button.gn-btn:focus {
    color: rgb(var(--gigneo-dark-color));
    fill: rgb(var(--gigneo-dark-color));
    background-color: rgb(var(--gigneo-light-grey-color));
    border-color: rgb(var(--gigneo-dark-grey-color));
}

.gn-btn > svg {
    width: 15px;
    height: auto;
    transition: fill .15s ease-in-out;
}
.gn-btn[disabled],
a.gn-btn[disabled],
button.gn-btn[disabled] {
    opacity: 0.5;
}
/*Btn Solid*/
.gn-btn.gn-btn-primary {
    color: #fff;
    fill: #fff;
    background-color: rgb(var(--gigneo-primary-color));
    border-color: rgb(var(--gigneo-primary-color));
}

.gn-btn.gn-btn-primary:hover,
.gn-btn.gn-btn-primary:focus {
    color: #fff;
    fill: #fff;
    background-color: rgba(var(--gigneo-primary-color), .95);
    border-color: rgba(var(--gigneo-primary-color), .95);
}

.gn-btn.gn-btn-secondary {
    color: #fff;
    fill: #fff;
    background-color: rgb(var(--gigneo-secondary-color));
    border-color: rgb(var(--gigneo-secondary-color));
}

.gn-btn.gn-btn-secondary:hover,
.gn-btn.gn-btn-secondary:focus {
    color: #fff;
    fill: #fff;
    background-color: rgba(var(--gigneo-secondary-color), .95);
    border-color: rgba(var(--gigneo-secondary-color), .95);
}

.gn-btn.gn-btn-dark {
    color: #fff;
    fill: #fff;
    background-color: rgb(var(--gigneo-dark-color));
    border-color: rgb(var(--gigneo-dark-color));
}

.gn-btn.gn-btn-dark:hover,
.gn-btn.gn-btn-dark:focus {
    color: #fff;
    fill: #fff;
    background-color: rgba(var(--gigneo-dark-color), .95);
    border-color: rgba(var(--gigneo-dark-color), .95);
}

.gn-btn.gn-btn-light {
    color: rgb(var(--gigneo-primary-color));
    fill: rgb(var(--gigneo-primary-color));
    background-color: #fff;
    border-color: #fff;
}

.gn-btn.gn-btn-grey {
    color: rgb(var(--gigneo-dark-color));
    fill: rgb(var(--gigneo-dark-color));
    background-color: rgb(var(--gigneo-grey-color));
    border-color: rgb(var(--gigneo-grey-color));
}

.gn-btn.gn-btn-success {
    color: #fff;
    fill: #fff;
    background-color: rgb(var(--gigneo-success-color));
    border-color: rgb(var(--gigneo-success-color));
}

.gn-btn.gn-btn-success:hover,
.gn-btn.gn-btn-success:focus {
    color: #fff;
    fill: #fff;
    background-color: rgba(var(--gigneo-success-color), .95);
    border-color: rgba(var(--gigneo-success-color), .95);
}

.gn-btn.gn-btn-warning {
    color: #fff;
    fill: #fff;
    background-color: rgb(var(--gigneo-warning-color));
    border-color: rgb(var(--gigneo-warning-color));
}

.gn-btn.gn-btn-warning:hover,
.gn-btn.gn-btn-warning:focus {
    color: #fff;
    fill: #fff;
    background-color: rgba(var(--gigneo-warning-color), .95);
    border-color: rgba(var(--gigneo-warning-color), .95);
}

.gn-btn.gn-btn-info {
    color: #fff;
    fill: #fff;
    background-color: rgb(var(--gigneo-info-color));
    border-color: rgb(var(--gigneo-info-color));
}

.gn-btn.gn-btn-info:hover,
.gn-btn.gn-btn-info:focus {
    color: #fff;
    fill: #fff;
    background-color: rgba(var(--gigneo-info-color), .95);
    border-color: rgba(var(--gigneo-info-color), .95);
}

.gn-btn.gn-btn-danger {
    color: #fff;
    fill: #fff;
    background-color: rgb(var(--gigneo-danger-color));
    border-color: rgb(var(--gigneo-danger-color));
}

.gn-btn.gn-btn-danger:hover,
.gn-btn.gn-btn-danger:focus {
    color: #fff;
    fill: #fff;
    background-color: rgba(var(--gigneo-danger-color), .95);
    border-color: rgba(var(--gigneo-danger-color), .95);
}

/* Outline Button Style */
.gn-btn.gn-btn-outline-success {
    color: rgba(var(--gigneo-success-color));
    fill: rgba(var(--gigneo-success-color));
    background-color: rgba(var(--gigneo-success-color), .10);
    border-color: rgba(var(--gigneo-success-color));
}

.gn-btn.gn-btn-outline-success:hover,
.gn-btn.gn-btn-outline-success:focus {
    color: #fff;
    fill: #fff;
    background-color: rgba(var(--gigneo-success-color), .95);
    border-color: rgba(var(--gigneo-success-color), .95);
}

.gn-btn.gn-btn-outline-danger {
    color: rgba(var(--gigneo-danger-color));
    fill: rgba(var(--gigneo-danger-color));
    background-color: rgba(var(--gigneo-danger-color), .10);
    border-color: rgba(var(--gigneo-danger-color));
}

.gn-btn.gn-btn-outline-danger:hover,
.gn-btn.gn-btn-outline-danger:focus {
    color: #fff;
    fill: #fff;
    background-color: rgba(var(--gigneo-danger-color), .95);
    border-color: rgba(var(--gigneo-danger-color), .95);
}

.gn-btn.gn-btn-outline-warning {
    color: rgba(var(--gigneo-warning-color));
    fill: rgba(var(--gigneo-warning-color));
    background-color: rgba(var(--gigneo-warning-color), .10);
    border-color: rgba(var(--gigneo-warning-color));
}

.gn-btn.gn-btn-outline-warning:hover,
.gn-btn.gn-btn-outline-warning:focus {
    color: #fff;
    fill: #fff;
    background-color: rgba(var(--gigneo-warning-color), .95);
    border-color: rgba(var(--gigneo-warning-color), .95);
}

.gn-btn.gn-btn-outline-info {
    color: rgb(var(--gigneo-info-color));
    fill: rgb(var(--gigneo-info-color));
    background-color: rgba(var(--gigneo-info-color), .10);
    border-color: rgb(var(--gigneo-info-color));
}

.gn-btn.gn-btn-outline-info:hover,
.gn-btn.gn-btn-outline-info:focus {
    color: #fff;
    fill: #fff;
    background-color: rgba(var(--gigneo-info-color), .95);
    border-color: rgba(var(--gigneo-info-color), .95);
}

.gn-btn.gn-btn-outline-primary {
    color: rgb(var(--gigneo-primary-color));
    fill: rgb(var(--gigneo-primary-color));
    background-color: rgba(var(--gigneo-primary-color), .10);
    border-color: rgb(var(--gigneo-primary-color));
}

.gn-btn.gn-btn-outline-primary:hover,
.gn-btn.gn-btn-outline-primary:focus {
    color: #fff;
    fill: #fff;
    background-color: rgba(var(--gigneo-primary-color), .95);
    border-color: rgba(var(--gigneo-primary-color), .95);
}

.gn-btn.gn-btn-outline-secondary {
    color: rgb(var(--gigneo-secondary-color));
    fill: rgb(var(--gigneo-secondary-color));
    background-color: rgba(var(--gigneo-secondary-color), .10);
    border-color: rgb(var(--gigneo-secondary-color));
}

.gn-btn.gn-btn-outline-secondary:hover,
.gn-btn.gn-btn-outline-secondary:focus {
    color: #fff;
    fill: #fff;
    background-color: rgba(var(--gigneo-secondary-color), .95);
    border-color: rgba(var(--gigneo-secondary-color), .95);
}

.gn-btn.gn-btn-outline-dark {
    color: rgb(var(--gigneo-dark-color));
    fill: rgb(var(--gigneo-dark-color));
    background-color: transparent;
    border-color: rgb(var(--gigneo-dark-color));
}

.gn-btn.gn-btn-outline-dark:hover,
.gn-btn.gn-btn-outline-dark:focus {
    color: #fff;
    fill: #fff;
    background-color: rgb(var(--gigneo-dark-color));
    border-color: rgb(var(--gigneo-dark-color));
}

.gn-btn.gn-btn-outline-grey {
    color: rgb(var(--gigneo-dark-color));
    fill: rgb(var(--gigneo-dark-color));
    background-color: rgb(var(--gigneo-light-grey-color));
    border-color: rgb(var(--gigneo-grey-color));
}

.gn-btn.gn-btn-outline-light {
    color: rgb(var(--gigneo-dark-color));
    fill: rgb(var(--gigneo-dark-color));
    background-color: #fff;
    border-color: rgb(var(--gigneo-grey-color));
}

.gn-btn.gn-btn-outline-grey.gn-loading:after {
    border-color: rgb(var(--gigneo-dark-color));
    border-top-color: transparent;
}

/* Button Size and Block */
.gn-btn.gn-btn-lg {
    font-size: 16px;
    padding: 11px 26px;
}

.gn-btn.gn-btn-sm {
    padding: 7px 18px;
}

.gn-btn.gn-btn-block {
    display: flex;
    width: 100%;
}

/*Extra Btn Outline*/
.gn-btn.gn-btn-outline-dark {
    color: rgb(var(--gigneo-dark-color));
    fill: rgb(var(--gigneo-dark-color));
    background-color: transparent;
    border-color: rgb(var(--gigneo-dark-color));
}

.gn-btn.gn-btn-outline-dark:hover,
.gn-btn.gn-btn-outline-dark:focus {
    color: #fff;
    fill: #fff;
    background-color: rgb(var(--gigneo-dark-color));
    border-color: rgb(var(--gigneo-dark-color));
}

button.gn-loading,
a.gn-btn.gn-loading {
    pointer-events: none;
}

button.gn-loading:after,
a.gn-btn.gn-loading:after {
    content: '';
    width: 14px;
    height: 14px;
    position: relative;
    display: inline-block;
    border-radius: 50%;
    animation: 0.5s gn-spin infinite linear;
    border: 2px solid rgb(255 255 255 / 60%);
    border-top-color: rgb(255 255 255 / 10%);
}

button.gn-loading.gn-btn-grey:after,
a.gn-btn.gn-loading.gn-btn-grey:after {
    border-color: rgb(var(--gigneo-dark-color));
    border-top-color: rgb(255 255 255 / 10%) !important;
}


/* ===================================
   Link
====================================== */

.gn-link,
a.gn-link,
button.gn-link {
    gap: 5px;
    padding: 0;
    border: none;
    display: flex;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    align-items: center;
    transition: color .15s ease-in-out;
    color: rgb(var(--gigneo-primary-color));
    line-height: var(--gigneo-line-height);
}

.gn-link:hover,
.gn-link:focus,
a.gn-link:hover,
a.gn-link:focus,
button.gn-link:hover,
button.gn-link:focus {
    background: transparent;
    text-decoration: underline;
    color: rgba(var(--gigneo-primary-color), .85);
}

/* Variants */
.gn-link.gn-link-primary {
    position: relative;
    color: rgb(var(--gigneo-primary-color));
}
.gn-link.gn-link-primary:after {
    left: 0;
    width: 0;
    height: 1px;
    bottom: 2px;
    content: '';
    position: absolute;
    transition: width .2s ease-in-out;
    background: rgba(var(--gigneo-primary-color), .85);
}
.gn-link.gn-link-primary:hover,
.gn-link.gn-link-primary:focus {
    text-decoration: none;
}
.gn-link.gn-link-primary:hover:after,
.gn-link.gn-link-primary:focus:after {
    width: 100%;
}

.gn-link.gn-link-secondary {
    color: rgb(var(--gigneo-secondary-color));
}

.gn-link.gn-link-secondary:hover,
.gn-link.gn-link-secondary:focus {
    color: rgba(var(--gigneo-secondary-color), .85);
    text-decoration: underline;
}

.gn-link.gn-link-success {
    color: rgb(var(--gigneo-success-color));
}

.gn-link.gn-link-success:hover,
.gn-link.gn-link-success:focus {
    color: rgba(var(--gigneo-success-color), .85);
    text-decoration: underline;
}

.gn-link.gn-link-warning {
    color: rgb(var(--gigneo-warning-color));
}

.gn-link.gn-link-warning:hover,
.gn-link.gn-link-warning:focus {
    color: rgba(var(--gigneo-warning-color), .85);
    text-decoration: underline;
}

.gn-link.gn-link-info {
    color: rgb(var(--gigneo-info-color));
}

.gn-link.gn-link-info:hover,
.gn-link.gn-link-info:focus {
    text-decoration: underline;
    color: rgba(var(--gigneo-info-color), .85);
}

.gn-link.gn-link-danger {
    color: rgb(var(--gigneo-danger-color));
}

.gn-link.gn-link-danger:hover,
.gn-link.gn-link-danger:focus {
    color: rgba(var(--gigneo-danger-color), .85);
    text-decoration: underline;
}

/* Sizes */
.gn-link.gn-link-sm {
    font-size: 12px;
}

.gn-link.gn-link-md {
    font-size: 14px;
    padding: 0 3px;
}

.gn-link.gn-link-lg {
    font-size: 16px;
    padding: 0 4px;
}

/*Verified Icon*/
.gn-verified-icon {
    color: #fff;
    width: 24px;
    height: 24px;
    display: flex;
    border-radius: 50%;
    align-items: center;
    background: rgb(var(--gigneo-success-color));
    justify-content: center;
}

@keyframes gn-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* ===================================
   Form Fields
====================================== */

.gn-form-field {
    gap: 8px;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
}

.gn-form-field .gn-pricing-label {
    margin: 0;
    width: 100%;
    font-size: 14px;
    font-weight: 400;
    position: relative;
}

.gn-auth-input-wrapper {
    position: relative;
}

.gn-form-fields .gn-form-field label {
    margin: 0;
    width: 100%;
    gap: 10px;
    font-size: 12px;
    font-weight: 500;
    position: relative;
    line-height: var(--gigneo-line-height);
    color: rgb(var(--gigneo-secondary-font-color));
}

input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea,
.gn-form-fields .gn-form-field input,
.gn-form-fields .gn-form-field textarea {
    font-size: 12px;
    line-height: var(--gigneo-line-height);
    font-weight: 400;
    width: 100%;
    max-width: 100%;
    border: 1px solid rgba(var(--gigneo-grey-color));
    outline: none;
    box-shadow: none;
    padding: 8px 14px;
    min-height: 40px;
    color: rgb(var(--gigneo-secondary-font-color));
    border-radius: var(--gigneo-border-radius-lg);
    background-color: rgb(var(--gigneo-light-grey-color));
}

textarea {
    display: block;
}

.gn-form-fields .gn-form-field input[disabled=""],
.gn-form-fields .gn-form-field input[readonly="readonly"],
.gn-form-fields .gn-form-field textarea[readonly="readonly"] {
    cursor: not-allowed;
    color: #B3B3B3;
    background-color: rgb(var(--gigneo-grey-color));
    border-color: rgb(var(--gigneo-grey-color));
}
.gn-form-fields .gn-form-field input::placeholder{
    color: #989898;
}

.gn-form-field .gn-password-revealed {
    top: 50%;
    right: 14px;
    display: flex;
    font-size: 20px;
    cursor: pointer;
    position: absolute;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    color: rgb(var(--gigneo-primary-font-color));
    border-radius: var(--gigneo-border-radius-sm);
}

.gn-form-field .wp-editor-container:has(textarea.gn-input-error),
.gn-form-field input.gn-input-error,
.gn-form-field textarea.gn-input-error {
    border-color: rgb(var(--gigneo-danger-color)) !important;
}
.gn-form-field .wp-editor-container:has(textarea.gn-input-error):focus,
.gn-form-field input.gn-input-error:focus,
.gn-form-field textarea.gn-input-error:focus {
    box-shadow: 0 0 0 3px #FAE1E1 !important;
}
.gn-form-fields .gn-form-field input:hover,
.gn-form-fields .gn-form-field textarea:hover,
.gn-form-fields .gn-form-field textarea:focus{
    border-color: rgb(var(--gigneo-dark-grey-color));
}

.gn-form-fields .gn-form-field input:focus,
.gn-form-fields .gn-form-field input:focus-visible,
.gn-form-fields .gn-form-field textarea:focus-visible {
    box-shadow: 0 0 0 3px #F8F5FF;
    border-color: rgb(var(--gigneo-primary-color));
}

.gn-form-fields .gn-form-field .gn-form-field-checkbox {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 4px;
}

.gn-form-fields .gn-form-field .gn-form-field-checkbox > label {
    font-weight: 400;
    color: rgb(var(--gigneo-primary-font-color));
    user-select: none;
    cursor: pointer;
    font-size: 12px;
}

.gn-form-fields .gn-form-field .gn-form-field-checkbox > input {
    width: auto;
    cursor: pointer;
}

.gn-form-fields .gn-form-field:has(.gn-forgot-password) {
    padding: 0 4px;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
.gn-form-fields .gn-form-field:has(.gn-forgot-password) .gn-form-field-checkbox{
    padding: 0;
}
.gn-form-fields .gn-form-field .gn-forgot-password {
    font-weight: 400;
    color: rgb(var(--gigneo-primary-font-color));
    transition: color .3s;
    text-underline-offset: 3px;
    font-size: 12px;
}
.gn-form-fields .gn-form-field .gn-forgot-password:hover {
    text-decoration: underline;
    color: rgb(var(--gigneo-primary-color));
}
.gn-form-field-checkbox input[type=checkbox] {
    display: none;
}

.gn-form-field-checkbox label {
    padding-left: 26px;
}

.gn-form-field-checkbox label::before {
    left: 0;
    top: 50%;
    content: '';
    width: 18px;
    height: 18px;
    position: absolute;
    display: inline-block;
    transform: translateY(-50%);
    border-radius: var(--gigneo-border-radius-sm);
    border: 1.5px solid rgb(var(--gigneo-dark-grey-color));
}

.gn-form-fields .gn-form-field-checkbox:has(input.gn-input-error[type=checkbox]) label a,
.gn-form-field-checkbox:has(input.gn-input-error[type=checkbox]) label {
    color: rgb(var(--gigneo-danger-color));
}

.gn-form-field-checkbox label::after {
    content: "\e96b";
    position: absolute;
    line-height: 1;
    top: 50%;
    left: 0;
    width: 18px;
    height: 18px;
    color: #fff;
    border-radius: var(--gigneo-border-radius-sm);
    opacity: 0;
    visibility: hidden;
    font-size: 10px;
    font-weight: 900;
    font-family: 'hero-icons';
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translateY(-50%);
    background: rgb(var(--gigneo-primary-color));
}

.gn-form-field-checkbox:has(input[type=checkbox]:checked) label::after {
    opacity: 1;
    visibility: visible;
}

.gn-form-fields .gn-form-field .gn-form-field-checkbox > label a {
    transition: color .3s;
    text-underline-offset: 3px;
    text-decoration: underline;
    color: rgb(var(--gigneo-primary-font-color));
}

.gn-form-fields .gn-form-field .gn-form-field-checkbox > label a:hover,
.gn-form-fields .gn-form-field .gn-form-field-checkbox > label a:focus {
    color: rgb(var(--gigneo-primary-color));
}

.gn-form-fields .gn-section-title {
    font-size: 14px;
    margin: 0 0 14px;
}

/*Field Role*/
.gn-form-field.gn-field-roles {
    gap: 20px;
    margin-top: 25px;
    flex-direction: row;
}

.gn-field-roles .gn-field-role {
    width: 50%;
    position: relative;
}

.gn-field-role {
    display: flex;
    align-items: center;
}

.gn-field-role label {
    top: 0;
    left: 0;
    gap: 12px;
    width: 100%;
    height: 100%;
    display: flex;
    cursor: pointer;
    font-size: 12px;
    text-align: center;
    padding: 30px 20px;
    align-items: center;
    flex-direction: column;
    color: rgb(var(--gigneo-dark-color));
    border-radius: var(--gigneo-border-radius-md);
    border: 1px solid rgb(var(--gigneo-grey-color));
}

.gn-field-role input[type=radio] {
    display: none;
}

.gn-field-role label::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    position: absolute;
    right: 10px;
    top: 10px;
    border: 0.8px solid rgb(var(--gigneo-grey-color));
}

.gn-field-role:has(input[type=radio]:checked) label::before {
    border-color: rgb(var(--gigneo-primary-color));
    background-color: rgb(var(--gigneo-primary-color));
}
.gn-field-role:has(input[type=radio]:checked) label{
    border-color: rgb(var(--gigneo-primary-color));
}

.gn-field-role:has(input.gn-input-error[type=radio]) label::before {
    border-color: rgb(var(--gigneo-danger-color));
}

.gn-field-role label::after {
    content: '';
    position: absolute;
    top: 15px;
    right: 15px;
    width: 6px;
    height: 6px;
    background-color: #fff;
    border-radius: 50%;
    opacity: 0;
    visibility: hidden;
}

.gn-field-role:has(input[type=radio]:checked) label::after {
    opacity: 1;
    visibility: visible;
}

/* ===================================
   Overlay
====================================== */

.gn-after-overlay {
    position: relative;
}

.gn-after-overlay:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(var(--gigneo-dark-color), 0.5);
    transition: opacity .3s ease-in-out, visibility .3s ease-in-out;
}

/* ===================================
   Flatpicker
====================================== */
.gn-datepicker {
    position: relative;
}

.gn-flatpickr .flatpickr-current-month {
    padding: 0;
    display: flex;
    justify-content: space-between;
}

.gn-flatpickr .flatpickr-prev-month:hover svg,
.gn-flatpickr .flatpickr-next-month:hover svg {
    fill: rgb(var(--gigneo-primary-color));
}

.gn-flatpickr .flatpickr-current-month input.cur-year,
.gn-flatpickr .flatpickr-current-month .flatpickr-monthDropdown-months {
    font-size: 14px;
    min-height: 34px;
    font-weight: 700;
    border-radius: 1px;
}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg{
    display: block;
}
.gn-flatpickr .flatpickr-time .numInput {
    border: 0;
}

.gn-flatpickr .flatpickr-day {
    line-height: 38px;
}

.gn-flatpickr .flatpickr-day.selected,
.gn-flatpickr .flatpickr-day.startRange,
.gn-flatpickr .flatpickr-day.endRange,
.gn-flatpickr .flatpickr-day.selected.inRange,
.gn-flatpickr .flatpickr-day.startRange.inRange,
.gn-flatpickr .flatpickr-day.endRange.inRange,
.gn-flatpickr .flatpickr-day.selected:focus,
.gn-flatpickr .flatpickr-day.startRange:focus,
.gn-flatpickr .flatpickr-day.endRange:focus,
.gn-flatpickr .flatpickr-day.selected:hover,
.gn-flatpickr .flatpickr-day.startRange:hover,
.gn-flatpickr .flatpickr-day.endRange:hover,
.gn-flatpickr .flatpickr-day.selected.prevMonthDay,
.gn-flatpickr .flatpickr-day.startRange.prevMonthDay,
.gn-flatpickr .flatpickr-day.endRange.prevMonthDay,
.gn-flatpickr .flatpickr-day.selected.nextMonthDay,
.gn-flatpickr .flatpickr-day.startRange.nextMonthDay,
.gn-flatpickr .flatpickr-day.endRange.nextMonthDay {
    background-color: rgb(var(--gigneo-primary-color));
    border-color: rgb(var(--gigneo-primary-color));
}

/* ===================================
   Select2
====================================== */

.gn-select2 {
    position: relative;
}

.gn-select2 select {
    color: rgb(var(--gigneo-secondary-font-color));
    background-color: rgb(var(--gigneo-light-grey-color));
    border: 1px solid rgba(var(--gigneo-grey-color), 0.3);
    border-radius: var(--gigneo-border-radius-md);
}

.gn-select2 > label {
    margin: 0 0 3px;
    position: relative;
    color: rgb(var(--gigneo-secondary-font-color));
}

.gn-select2 > select {
    font-size: 14px;
    min-width: 160px;
    min-height: 40px;
    font-weight: 400;
    color: transparent;
    padding: 6px 12px;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: var(--gigneo-border-radius-md);
}

.gn-select2 .gn-select2-dropdown.select2-container {
    width: 100% !important;
}

.gn-select2-dropdown.select2-container.select2-container--disabled .select2-selection--single:hover,
.gn-select2-dropdown.select2-container.select2-container--disabled .select2-selection--single:focus,
.gn-select2-dropdown.select2-container.select2-container--disabled .select2-selection {
    background-color: rgb(var(--gigneo-grey-color));
    border-color: rgb(var(--gigneo-grey-color));
}

.gn-select2-dropdown.select2-container {
    width: auto !important;
    min-width: 160px;
}

.gn-select2-dropdown.select2-container .select2-selection--single {
    height: auto;
    outline: none;
    box-shadow: none;
    margin: 0;
    color: rgb(var(--gigneo-secondary-font-color));
    border-radius: var(--gigneo-border-radius-md);
    background-color: rgb(var(--gigneo-light-grey-color));
    border: 1px solid rgba(var(--gigneo-grey-color), 0.3);
}

.gn-input-error + .gn-select2-dropdown.select2-container .select2-selection--single {
    border-color: rgb(var(--gigneo-danger-color));
}

.gn-select2-dropdown.select2-container .select2-selection--single:hover,
.gn-select2-dropdown.select2-container .select2-selection--single:focus {
    border-color: rgb(var(--gigneo-grey-color));
}

.gn-select2-dropdown.select2-container--default .select2-selection--single .select2-selection__rendered {
    font-size: 14px;
    font-weight: 400;
    position: relative;
    padding: 5px 44px 5px 12px;
    color: rgb(var(--gigneo-secondary-font-color));
}

.gn-select2-dropdown.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__arrow b:before,
.select2-container--disabled input.select2-search__field::placeholder,
.gn-select2-dropdown.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__placeholder {
    opacity: 0.5;
    cursor: not-allowed;
}

.gn-tiers-disabled .col-md-4 {
    width: 100%;
}

.gn-select2-dropdown.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 20px;
    width: 20px;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.gn-select2-dropdown.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: none;
    background: transparent;
    margin: 0;
    top: 0;
    left: 0;
    font-family: 'hero-icons';
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    display: contents;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.gn-select2-dropdown.select2-container--default .select2-selection--single .select2-selection__arrow b:before {
    content: "\e970";
    color: rgb(var(--gigneo-dark-color));
}

.gn-loading .select2-container--default .select2-selection--single .select2-selection__arrow b:before {
    content: '';
    width: 14px;
    height: 14px;
    position: relative;
    display: inline-block;
    border-radius: 50%;
    animation: 0.5s gn-spin infinite linear;
    border: 2px solid #999;
    border-top-color: rgba(153, 153, 153, 0.5);
}

.gn-select2-dropdown.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    gap: 5px;
    display: flex;
    flex-wrap: wrap;
    padding: 5px 12px;
    align-items: center;
}

.gn-select2 .select2-container--default .select2-selection--multiple {
    min-height: 40px;
    display: flex;
    align-items: center;
}

.gn-select2-dynamic-tags .select2-container--default .select2-selection--multiple .select2-selection__choice {
    display: none !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered li.select2-search {
    margin: 0;
}

.gn-select2-dropdown.select2-container--default .select2-selection--multiple .select2-selection__choice {
    gap: 6px;
    margin: 0;
    display: flex;
    font-size: 12px;
    font-weight: 500;
    padding: 3px 9px;
    background: #FFF;
    color: rgb(var(--gigneo-primary-font-color));
    border: 1px solid rgba(var(--gigneo-grey-color));
    border-radius: var(--gigneo-border-radius-md);
    box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);
}

.gn-select2-dropdown.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    order: 1;
    margin: 0;
    font-size: 13px;
}

.gn-select2-dynamic-tags .select2-container--default .select2-search--inline .select2-search__field {
    width: 100% !important;
}

.gn-select2 .select2-container--default .select2-search--inline .select2-search__field {
    border-radius: 0;
    min-height: 28px;
    max-width: max-content;
    line-height: 28px;
}

.gn-select2-tags {
    margin: 0;
    gap: 10px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    align-items: center;
}

.gn-select2-tags:not(:empty) {
    margin-top: 15px;
}

.gn-select2-tags > li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    padding: 6px 12px;
    background-color: rgb(var(--gigneo-light-grey-color));
    border-radius: 50px;
    color: rgb(var(--gigneo-primary-font-color));
    border: 1px solid rgba(var(--gigneo-grey-color));
}

.gn-select2-tags > li > span {
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    display: flex;
}

.gn-repeater-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.gn-repeater-tags:not(:empty) {
    margin-top: 15px;
}

.gn-repeater-tags > li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    padding: 6px 12px;
    background-color: rgb(var(--gigneo-light-grey-color));
    border-radius: 50px;
    color: rgb(var(--gigneo-primary-font-color));
    border: 1px solid rgba(var(--gigneo-grey-color));
}

.gn-repeater-tags > li > .gn-remove-tag {
    display: flex;
    cursor: pointer;
}

.gn-repeater-tags > li > .gn-tag-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.gn-repeater-tags > li > .gn-tag-info > .gn-name {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
}

.gn-repeater-tags > li > .gn-tag-info .gn-level {
    margin: 0;
    font-size: 12px;
    font-weight: 400;
}

/* ===================================
   Textarea Counter
====================================== */
.gn-form-field > .gntc-counter {
    margin-top: 3px;
}

.gntc-counter,
.gn-field-notice {
    display: block;
    text-align: right;
    font-size: 12px;
    color: rgba(var(--gigneo-primary-font-color), 0.5);
    margin: 8px 0 0;
}

/* ===================================
   Play Icon
====================================== */

.gn-play-video-toggle {
    height: 45px;
    width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(15px);
}

.gn-play-video-toggle > i {
    font-size: 15px;
    line-height: 1;
    color: #fff;
}

/* ===================================
   Label/Input Required
====================================== */

.gn-required-field-label:after {
    content: '*';
    line-height: 17px;
    color: rgb(var(--gigneo-danger-color));
    margin-left: 4px;
    vertical-align: middle;
}

.gn-theme-form {
    margin: 0;
}

.gn-theme-form fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/* ===================================
   Select2
====================================== */

.gn-select2-dropdown.select2-container .select2-selection {
    background-color: rgb(var(--gigneo-light-grey-color));
    border: 1px solid rgba(var(--gigneo-grey-color), 0.3);
    border-radius: var(--gigneo-border-radius-md);
}

.gn-select2-dropdown.select2-container .select2-dropdown {
    min-width: 130px;
    border-color: rgb(var(--gigneo-grey-color));
    border-radius: 0 0 var(--gigneo-border-radius-md) var(--gigneo-border-radius-md);
}

.gn-select2-dropdown.select2-container .select2-dropdown.select2-dropdown--above {
    border-radius: var(--gigneo-border-radius-md) var(--gigneo-border-radius-md) 0 0;
}

.gn-select2-dropdown.select2-container .select2-dropdown.select2-dropdown--above .select2-results {
    border-radius: var(--gigneo-border-radius-md) var(--gigneo-border-radius-md) 0 0;
}

.gn-select2-dropdown.select2-container .select2-dropdown .select2-results {
    padding: 8px;
    background-color: #fff;
    border-radius: 0 0 var(--gigneo-border-radius-md) var(--gigneo-border-radius-md);
    box-shadow: 0px 4px 8px -2px rgba(16, 24, 40, 0.10), 0px 2px 4px -2px rgba(16, 24, 40, 0.06);
}

.gn-select2-dropdown .select2-results__options {
    padding-right: 4px;
    margin-right: -4px;
    height: 100%;
    min-width: 110px;
    transition: all 0.3s ease-in-out;
    scroll-behavior: smooth;
}

.gn-actions .gn-select2 input {
    font-size: 14px;
    font-weight: 400;
    max-width: 100%;
    border: 1px solid rgba(var(--gigneo-grey-color), 0.3);
    outline: none;
    box-shadow: none;
    padding: 6px 12px;
    color: rgb(var(--gigneo-secondary-font-color));
    border-radius: var(--gigneo-border-radius-md);
    background-color: rgb(var(--gigneo-light-grey-color));
}

.gn-select2-dropdown.select2-container--default .select2-search--dropdown .select2-search__field {
    height: 36px;
    padding: 0 12px;
    min-height: 36px;
    font-size: 12px;
    border-radius: var(--gigneo-border-radius-md);
    border-color: rgb(var(--gigneo-grey-color));
}

.gn-select2-dropdown.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    outline: none;
}

/* Custom Scrollbar (WebKit Browsers) */
.gn-select2 .select2-results__options::-webkit-scrollbar {
    width: 0px;
}

.gn-select2 .select2-results__options:hover::-webkit-scrollbar {
    width: 5px;
    transition-property: all;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
}

.gn-select2 .select2-results__options:hover::-webkit-scrollbar-track {
    background-color: transparent;
    transition-property: all;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
}

.gn-select2 .select2-results__options:hover::-webkit-scrollbar-thumb {
    background-color: rgb(var(--gigneo-grey-color));
    transition-property: all;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
    border-radius: var(--gigneo-border-radius-md);
}

.gn-select2-dropdown .select2-results__option {
    padding: 7px 10px;
    font-size: 14px;
    line-height: var(--gigneo-line-height);
    font-weight: 400;
    color: rgb(var(--gigneo-primary-font-color));
    border-radius: var(--gigneo-border-radius-md);
    transition: all .15s ease-in-out;
}

.gn-select2-dropdown > .select2-results__option:hover {
    background-color: rgb(var(--gigneo-grey-color));
    color: rgb(var(--gigneo-dark-color));
}

.gn-select2-dropdown .select2-results__option + .select2-results__option {
    margin-top: 2px;
}

.gn-select2-dropdown.select2-container--default .select2-results__option--highlighted[aria-selected],
.gn-select2-dropdown.select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: rgb(var(--gigneo-grey-color));
    color: rgb(var(--gigneo-dark-color));
}

.gn-select2-dropdown.select2-container--default .select2-results__option[aria-selected=true],
.gn-select2-dropdown.select2-container--default .select2-results__option[data-selected=true] {
    background-color: rgb(var(--gigneo-grey-color), 0.7);
    color: rgb(var(--gigneo-dark-color), 0.7);
    opacity: 0.5;
    pointer-events: none;
}

/* ===================================
   Modal Popup
====================================== */

.gn-modal-wrapper {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99;
    position: fixed;
    overflow-x: auto;
    overflow: hidden;
    background-color: rgba(0, 0, 0, .7);
    transition: opacity .15s ease-in-out, visibility .15s ease-in-out;
}

.gn-modal-dialog {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 20px;
}

.gn-modal-wrapper:not(.gn-active) {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.gn-modal-wrapper .gn-modal-content {
    z-index: 1;
    width: 550px;
    display: flex;
    max-width: 100%;
    position: relative;
    background-color: #fff;
    transition: transform .3s;
    transform: translateY(100px);
    border-radius: var(--gigneo-border-radius-xl);
}

.gn-modal-wrapper .gn-modal-content:has(.gn-modal-figure) {
    width: 900px;
}

.gn-modal-wrapper.gn-active .gn-modal-content {
    transform: translateY(0);
}

.gn-modal-content .gn-modal-close {
    top: 16px;
    padding: 0;
    right: 16px;
    width: 32px;
    height: 32px;
    display: flex;
    font-size: 18px;
    position: absolute;
    align-items: center;
    justify-content: center;
    border-radius: var(--gigneo-border-radius-md);
    background: rgb(var(--gigneo-light-grey-color));
    color: rgb(var(--gigneo-secondary-font-color));
    border: 1px solid rgb(var(--gigneo-grey-color));
}

.gn-modal-content .gn-modal-close:hover,
.gn-modal-content .gn-modal-close:focus {
    border-color: rgb(var(--gigneo-dark-grey-color));
    color: rgb(var(--gigneo-secondary-font-color));
    background-color: rgb(var(--gigneo-light-grey-color));
}

.gn-modal-header {
    display: flex;
    padding: 36px 36px 30px;
    flex-direction: column;
    justify-content: center;
}

.gn-modal-header > .title {
    font-size: 18px;
    margin: 0;
}

.gn-modal-header > .desc {
    margin: 0;
}

.gn-modal-info {
    flex: 1;
}

.gn-modal-body {
    padding: 0 36px 36px;
    display: flex;
    flex-direction: column;
    max-height: 450px;
    overflow: auto;
}

.gn-modal-figure {
    margin: 0;
    display: flex;
    padding: 30px;
    align-items: center;
    min-width: 350px;
    justify-content: center;
    background: rgb(var(--gigneo-light-grey-color));
    border-radius: var(--gigneo-border-radius-md) 0 0 var(--gigneo-border-radius-md);
}

.gn-modal-figure > img {
    max-width: 220px;
}

.gn-modal-body .gn-form-fields {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    height: 100%;
}

.gn-modal-footer {
    gap: 10px;
    padding: 10px 36px 36px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.gn-modal-info-list {
    padding: 0;
    margin: 0 0 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gn-modal-info-list li {
    list-style: none;
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgb(var(--gigneo-secondary-font-color));
    font-weight: 400;
}

.gn-modal-info-list li::before {
    content: "\e96b";
    font-family: 'hero-icons';
    display: inline-block;
    color: rgb(var(--gigneo-secondary-font-color));
    font-size: 16px;
}

/* ===================================
   Custom Scroll
====================================== */
.gn-custom-scrollbar,
.gn-custom-scroll {
    overflow-y: auto;
    overflow-x: hidden;
}

.gn-custom-scrollbar:hover::-webkit-scrollbar-thumb:hover,
.gn-custom-scroll:hover::-webkit-scrollbar-thumb:hover {
    background-color: rgb(var(--gigneo-grey-color));
}

.gn-custom-scrollbar::-webkit-scrollbar,
.gn-custom-scroll::-webkit-scrollbar {
    width: 5px;
}

.gn-custom-scrollbar:hover::-webkit-scrollbar,
.gn-custom-scroll:hover::-webkit-scrollbar {
    width: 5px;
    transition-property: all;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
}

.gn-custom-scrollbar:hover::-webkit-scrollbar-track,
.gn-custom-scroll:hover::-webkit-scrollbar-track {
    background-color: transparent;
    transition-property: all;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
}

.gn-custom-scrollbar::-webkit-scrollbar-thumb,
.gn-custom-scroll::-webkit-scrollbar-thumb {
    width: 5px;
}

.gn-custom-scrollbar:hover::-webkit-scrollbar-thumb,
.gn-custom-scroll:hover::-webkit-scrollbar-thumb {
    background-color: rgb(var(--gigneo-grey-color));
    transition-property: all;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
    border-radius: var(--gigneo-border-radius-md);
}

.gn-custom-scrollbar:hover::-webkit-scrollbar-thumb:hover,
.gn-custom-scroll:hover::-webkit-scrollbar-thumb:hover {
    background-color: rgb(var(--gigneo-grey-color));
}

/* ===================================
   SweetHeart Alert
====================================== */

body.swal2-toast-shown .swal2-container:has(.gigneo-sweetalert2-toast) {
    background-color: transparent;
    height: auto;
    width: 400px;
}

.gigneo-sweetalert2-toast .swal2-timer-progress-bar-container {
    background: rgb(var(--gigneo-grey-color));
    height: 8px;
}

div:where(.swal2-container) .gigneo-sweetalert2-toast div:where(.swal2-timer-progress-bar) {
    height: 8px;
}

.gigneo-sweetalert2-toast.swal2-icon-success div:where(.swal2-timer-progress-bar) {
    background: rgb(var(--gigneo-success-color));
}

.swal2-toast.gigneo-sweetalert2-toast {
    position: relative;
    padding: 15px 15px 20px;
    border: 1px solid rgb(var(--gigneo-grey-color));
    border-radius: var(--gigneo-border-radius-md);
    background: linear-gradient(to right, #f6fffa 30%, #ffffff 70%);
}

.swal2-toast.gigneo-sweetalert2-toast h2:where(.swal2-title) {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 2px;
    color: rgb(var(--gigneo-secondary-font-color));
}

.swal2-toast.gigneo-sweetalert2-toast div:where(.swal2-html-container) {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    color: rgb(var(--gigneo-primary-font-color));
}

.swal2-toast .swal2-icon.swal2-success .swal2-success-ring {
    width: 20px !important;
    height: 20px !important;
    border-width: 2px;
}

.swal2-toast.gigneo-sweetalert2-toast .swal2-success-ring {
    border-color: rgb(var(--gigneo-success-color)) !important;
}

.swal2-toast.gigneo-sweetalert2-toast button:where(.swal2-close) {
    color: rgb(var(--gigneo-dark-color));
    margin-bottom: auto;
    border: 0;
    padding: 0;
    width: 16px;
    height: 16px;
}

.swal2-toast.gigneo-sweetalert2-toast button:where(.swal2-close):focus,
.swal2-toast.gigneo-sweetalert2-toast button:where(.swal2-close):hover {
    background-color: transparent;
}

.gigneo-sweetalert2-toast .swal2-success-fix,
.gigneo-sweetalert2-toast .swal2-success-circular-line-right,
.gigneo-sweetalert2-toast .swal2-success-circular-line-left {
    background-color: transparent !important;
}

.gigneo-sweetalert2-toast .swal2-success-line-long,
.gigneo-sweetalert2-toast .swal2-success-line-tip {
    background-color: rgb(var(--gigneo-success-color)) !important;
}

.gigneo-sweetalert2-toast.swal2-icon-error {
    background: linear-gradient(to right, #FFF7F7 30%, #ffffff 70%) !important;
}

.gigneo-sweetalert2-toast.swal2-icon-error:before {
    position: absolute;
    width: 104px;
    height: 78px;
    top: 50%;
    transform: translateY(-50%);
    background: rgb(var(--gigneo-danger-color));
    left: -45px;
    filter: blur(100px);
    pointer-events: none;
    border-radius: 50%;
    content: '';
}

.gigneo-sweetalert2-toast.swal2-icon-error div:where(.swal2-timer-progress-bar) {
    background: rgb(var(--gigneo-danger-color));
}

.gigneo-sweetalert2-toast div:where(.swal2-icon).swal2-error {
    border: 2px solid rgb(var(--gigneo-danger-color)) !important;
    width: 20px;
    min-width: 20px;
    height: 20px;
    font-size: 16px;
}

.gigneo-sweetalert2-toast div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line] {
    height: 2px !important;
    width: 12px !important;
}

.gigneo-sweetalert2-toast.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right] {
    top: 9px;
    right: 4px;
}

.gigneo-sweetalert2-toast.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left] {
    top: 9px;
    left: 4px;
}

.gigneo-sweetalert2-toast.swal2-icon-error .swal2-x-mark-line-left,
.gigneo-sweetalert2-toast.swal2-icon-error .swal2-x-mark-line-right {
    background-color: rgb(var(--gigneo-danger-color)) !important;
}

.gn-sweetalert2 {
    width: 100%;
    max-width: 500px;
    padding: 24px !important;
    border-radius: var(--gigneo-border-radius-xl);
}

.gn-sweetalert2 .swal2-actions {
    gap: 10px;
    width: 100%;
    padding: 0;
    margin-top: 36px;
    justify-content: flex-end;
}

.gn-sweetalert2 .swal2-actions button {
    margin: 0;
    padding: 7px 12px;
    font-size: 14px;
    font-weight: 500;
    box-shadow: none !important;
}

.gn-sweetalert2 .swal2-actions button[style*="display: inline-block"] {
    display: inline-flex !important;
}

.gn-sweetalert2 .swal2-actions button.swal2-cancel {
    order: -1;
}

.gn-sweetalert2 .swal2-title {
    font-size: 18px;
    font-weight: 600;
    padding: 0 0 0 70px;
    text-align: left;
    margin: 0 0 12px;
    color: rgb(var(--gigneo-secondary-font-color));
}

.gn-sweetalert2 .swal2-html-container {
    padding: 0;
    font-size: 16px;
    text-align: left;
    padding: 0 0 0 70px;
    font-weight: 400;
    color: rgb(var(--gigneo-primary-font-color));
}

.gn-sweetalert2 .swal2-icon {
    height: 50px;
    width: 50px;
    top: 24px;
    left: 24px;
    font-size: 10px;
    text-align: left;
    margin: 0;
    position: absolute;
}

.gn-sweetalert2 div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line] {
    top: 24px !important;
    width: 30px !important;
}

.gn-sweetalert2 div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left] {
    left: 10px !important;
}

.gn-sweetalert2 div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right] {
    right: 10px !important;
}

div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line] {
    background-color: rgb(var(--gigneo-danger-color)) !important;
}

.gn-sweetalert2 .swal2-icon-content {
    font-size: 32px;
    font-weight: 600;
}

.gn-sweetalert2 .swal2-warning .swal2-icon-content {
    color: rgb(var(--gigneo-warning-color));
}

.gn-sweetalert2 .swal2-warning {
    border-color: transparent;
    background-color: rgba(var(--gigneo-warning-color), .10);
}

.gn-sweetalert2 .swal2-icon.swal2-error {
    border-color: transparent;
    background-color: rgba(var(--gigneo-danger-color), .10);
}

/* Success Alert Styling  */

.gn-sweetalert2.swal2-icon-success .swal2-actions button.swal2-confirm {
    color: #fff;
    background-color: rgb(var(--gigneo-success-color));
    border: 1px solid rgb(var(--gigneo-success-color));
}

.gn-sweetalert2.swal2-icon-success .swal2-actions button.swal2-confirm:hover {
    background-color: rgba(var(--gigneo-success-color), .95);
    border-color: rgba(var(--gigneo-success-color), .95);
}

div:where(.swal2-icon).swal2-success .swal2-success-ring,
.gn-sweetalert2.swal2-icon-success .swal2-icon {
    background-color: #d9f7e4;
    border-color: #d9f7e4;
}

div:where(.swal2-icon).swal2-success [class^=swal2-success-line] {
    background-color: rgb(var(--gigneo-success-color));
}

div:where(.swal2-icon).swal2-success .swal2-success-ring,
.gn-sweetalert2.swal2-icon-success .swal2-icon-content {
    color: rgb(var(--gigneo-success-color));
}

/* ===================================
   Radio Switch
====================================== */

.gn-switch {
    gap: 8px;
    display: flex;
    align-items: center;
    position: relative;
}

.gn-switch-btn .gn-switch,
.gn-switch > span {
    font-weight: 500;
}

.gn-switch.gn-loading:has(input[type="checkbox"]) {
    pointer-events: none;
    cursor: not-allowed;
}

.gn-menu-items .gn-menu-item:has(.gn-switch.gn-loading),
.gn-switch.gn-loading .gn-checkbox {
    cursor: not-allowed;
}

.gn-switch.gn-loading:has(input[type="checkbox"])::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 16px;
    height: 16px;
    border: 6px solid transparent;
    border-top: 2px solid #fff;
    border-right: 2px solid #00000059;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
    z-index: 2;
    pointer-events: none;
}

.gn-switch.gn-loading:has(input[type="checkbox"]:checked)::after {
    top: 4px;
    left: 24px;
    animation: spin 0.6s linear infinite;
}

.gn-switch .gn-radio,
.gn-switch .gn-checkbox {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    cursor: pointer;
}

.gn-switch .gn-radio input[type="radio"],
.gn-switch .gn-checkbox input[type="checkbox"] {
    opacity: 0;
    width: 0;
    height: 0;
}

.gn-switch .gn-radio::before,
.gn-switch .gn-checkbox::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 44px;
    height: 24px;
    background-color: rgb(var(--gigneo-grey-color));
    border-radius: 34px;
    transition: background-color 0.3s;
}

.gn-switch .gn-radio::after,
.gn-switch .gn-checkbox::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    background-color: white;
    border-radius: 50%;
    transition: transform 0.3s;
    box-shadow: 0px 1px 3px 0px rgba(16, 24, 40, 0.10), 0px 1px 2px 0px rgba(16, 24, 40, 0.06);
}

.gn-switch input[type="checkbox"] {
    display: none;
}

.gn-switch .gn-radio:has(input[type="radio"]:checked)::before,
.gn-switch .gn-checkbox:has(input[type="checkbox"]:checked)::before {
    background-color: rgb(var(--gigneo-primary-color));
}

.gn-switch .gn-radio:has(input[type="radio"]:checked)::after,
.gn-switch .gn-checkbox:has(input[type="checkbox"]:checked)::after {
    left: 22px;
}

/* ===================================
   Radio
====================================== */

.gn-radio {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    position: relative;
}

.gn-form-fields .gn-form-field .gn-radio + .gn-radio {
    margin-top: 7px;
}

.gn-radio input[type="radio"] {
    display: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.gn-radio > label {
    cursor: pointer;
    user-select: none;
    padding-left: 25px;
}

.gn-radio > label::after {
    content: "";
    width: 16px;
    height: 16px;
    border: 1px solid rgb(var(--gigneo-grey-color));
    border-radius: 50%;
    outline: none;
    cursor: pointer;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background-color: #fff;
}

.gn-radio:has(input[type="radio"]:hover) > label {
    border-color: rgb(var(--gigneo-grey-color));
}

.gn-radio:has(input[type="radio"]:checked) > label::after {
    background-color: rgb(var(--gigneo-primary-color));
    border-color: rgb(var(--gigneo-primary-color));
}

.gn-radio:has(input[type="radio"]:checked) > label::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 5px;
    width: 6px;
    height: 6px;
    z-index: 2;
    background-color: #fff;
    border-radius: 50%;
    transform: translateY(-50%);
}

/* ===================================
   Checkbox
====================================== */

.gn-checkbox label {
    cursor: pointer;
    display: inline-flex !important;
}

.gn-checkbox label:before {
    content: "";
    width: 20px;
    flex: none;
    height: 20px;
    border-radius: var(--gigneo-border-radius-sm);
    background: #fff;
    border: 1px solid #E4E4E7;
}

.gn-checkbox input[type='checkbox'] {
    display: none;
}

.gn-checkbox label:after {
    top: 3px;
    left: 3px;
    opacity: 0;
    width: 14px;
    content: '';
    height: 14px;
    display: block;
    mask-size: 100%;
    visibility: hidden;
    position: absolute;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100%;
    background-color: #fff;
    -webkit-mask-repeat: no-repeat;
    mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"%3E%3Cpath d="M11.6663 3.5L5.24967 9.91667L2.33301 7" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');
    -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"%3E%3Cpath d="M11.6663 3.5L5.24967 9.91667L2.33301 7" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');
}

.gn-checkbox input[type=checkbox]:checked + label:after,
.gn-radio input[type=radio]:checked + label:after {
    opacity: 1;
    visibility: visible;
}

.gn-checkbox input[type=checkbox]:checked + label::before {
    border-color: rgb(var(--gigneo-primary-color));
    background-color: rgb(var(--gigneo-primary-color));
}

/* status tags  */

.gn-status-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 9px;
    font-weight: 600;
    white-space: nowrap;
    padding: 5px 10px;
    border-radius: var(--gigneo-border-radius-sm);
    background-color: rgb(var(--gigneo-light-grey-color));
}

.gn-status-tag.gn-disputed,
.gn-status-tag.gn-pending,
.gn-status-tag.gn-warning,
.gn-status-tag.gn-paid {
    color: rgb(var(--gigneo-warning-color));
    background-color: rgba(var(--gigneo-warning-color), 0.05);
}

.gn-status-tag.gn-error,
.gn-status-tag.gn-cancelled {
    color: rgb(var(--gigneo-danger-color));
    background-color: rgba(var(--gigneo-danger-color), 0.05);
}

.gn-status-tag.gn-success,
.gn-status-tag.gn-completed,
.gn-status-tag.gn-withdrawn,
.gn-status-tag.gn-publish,
.gn-status-tag.gn-active {
    color: rgb(var(--gigneo-success-color));
    background-color: rgba(var(--gigneo-success-color), 0.05);
}

.gn-status-tag.gn-info,
.gn-status-tag.gn-requested {
    color: rgb(var(--gigneo-info-color));
    background-color: rgba(var(--gigneo-info-color), .10);
}
.gn-status-tag i{
    font-size: 10px;
}

/* ===================================
   Notices
====================================== */

.gn-notices-wrapper {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.gn-notices-wrapper:empty {
    display: none;
}

.gn-notices-wrapper:has(.gn-notice) {
    margin-bottom: 24px;
}

.gn-notice {
    gap: 15px;
    display: flex;
    padding: 20px;
    align-items: center;
    background: rgb(var(--gigneo-light-grey-color));
    position: relative;
    border: 1px solid rgb(var(--gigneo-grey-color));
    border-radius: var(--gigneo-border-radius-lg);
}

.gn-notice-dismissed {
    cursor: pointer;
    position: absolute;
    top: -12px;
    right: -12px;
    height: 24px;
    width: 24px;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    padding: 0;
    color: rgb(var(--gigneo-secondary-font-color));
    background: rgb(var(--gigneo-light-grey-color));
    border: 1px solid rgb(var(--gigneo-grey-color));
}

.gn-notice-dismissed:hover {
    color: rgb(var(--gigneo-secondary-font-color));
    background: rgb(var(--gigneo-light-grey-color));
    border: 1px solid rgb(var(--gigneo-grey-color));
}

.gn-notices-wrapper .gn-btn.gn-btn-seconday {
    background: #fff;
}

.gn-notice-content {
    gap: 12px;
    display: flex;
    align-items: center;
}

.gn-notice-info .gn-title {
    margin: 0;
    font-size: 16px;
}

.gn-notice-info .gn-desc {
    margin: 0;
}

.gn-notice-actions {
    gap: 10px;
    display: flex;
    margin-left: auto;
    justify-content: center;
}

.gn-notice-actions .gn-btn {
    padding: 7px 20px;
}

.gn-notice-icon {
    width: 44px;
    height: 44px;
    flex: none;
    display: flex;
    border-radius: 50%;
    align-items: center;
    background: #f7f7f7;
    justify-content: center;
}

.gn-notice-icon > i {
    font-size: 20px;
}

/* warning notice  */
.gn-notice-warning {
    border: 1px solid #FEF0C7;
    background: #FFFCF5;
}

.gn-notice-warning .gn-notice-dismissed {
    color: rgb(var(--gigneo-warning-color));
    background: #FFFCF5;
    border: 1px solid #FEF0C7;
}

.gn-notice-warning .gn-notice-icon {
    color: rgb(var(--gigneo-warning-color));
    background-color: rgba(var(--gigneo-warning-color), 0.05);
}

/* success notice  */
.gn-notice-success {
    border: 1px solid #D1F1E1;
    background: #F6FEF9;
}

.gn-notice-success .gn-notice-dismissed {
    border: 1px solid #D1F1E1;
    background: #F6FEF9;
    color: rgb(var(--gigneo-success-color));
}

.gn-notice-success .gn-notice-icon {
    background: rgba(var(--gigneo-success-color), 0.05);
    color: rgb(var(--gigneo-success-color));
}

/* error notice  */
.gn-notice-danger {
    border: 1px solid #FEE4E2;
    background: #FFFBFA;
}

.gn-notice-danger .gn-notice-icon {
    color: rgb(var(--gigneo-danger-color));
    background-color: rgba(var(--gigneo-danger-color), 0.06);
}

.gn-notice-danger .gn-notice-dismissed {
    border: 1px solid #FEE4E2;
    background: #FFFBFA;
    color: rgb(var(--gigneo-danger-color));
}

/* info notice  */
.gn-notice.gn-notice-info {
    border: 1px solid #D1E9FF;
    background: #F5FAFF;
}

.gn-notice.gn-notice-info .gn-notice-icon {
    background: rgba(47, 144, 250, 0.05);
    color: rgb(var(--gigneo-info-color));
}

.gn-notice.gn-notice-info .gn-notice-dismissed {
    border: 1px solid #D1E9FF;
    background: #F5FAFF;
    color: rgb(var(--gigneo-info-color));
}

.gn-modal-body .gn-notices-wrapper .gn-notice-icon > i {
    font-size: 20px;
    display: block;
}

.gn-modal-body .gn-notices-wrapper .gn-notice {
    gap: 12px;
    padding: 16px;
}

.gn-modal-body .gn-notice-info .gn-title {
    font-size: 14px;
}

.gn-password-notice {
    padding: 0;
    margin: 0;
    list-style: none;
}

.gn-password-notice li {
    display: none;
    list-style: none;
    color: rgb(var(--gigneo-danger-color));
    font-size: 12px;
    font-weight: 400;
    margin:0;
}
.gn-password-notice:has(li[style*="display: none"]) {
  display: none;
}
/* ===================================
    WYSIWYG Editor
====================================== */

.gn-wysiwyg-editor div.mce-toolbar-grp {
    border-color: rgb(var(--gigneo-grey-color));
    background-color: rgb(var(--gigneo-light-grey-color));
}

.gn-wysiwyg-editor .mce-top-part::before {
    display: none;
}

.gn-wysiwyg-editor .mce-container.mce-first.mce-last,
.gn-wysiwyg-editor div.mce-panel {
    background-color: rgb(var(--gigneo-light-grey-color));
    border-radius: var(--gigneo-border-radius-md) var(--gigneo-border-radius-md) 0 0;
}

.gn-wysiwyg-editor .wp-editor-container {
    overflow: hidden;
    border-color: rgb(var(--gigneo-grey-color));
    border-radius: var(--gigneo-border-radius-md);
}

.gn-wysiwyg-editor .wp-editor-container [type=button],
.gn-wysiwyg-editor .wp-editor-container [type=submit],
.gn-wysiwyg-editor .wp-editor-container button {
    border: 0;
    color: rgb(var(--gigneo-dark-color));
    background: transparent;
}

.gn-wysiwyg-editor .wp-editor-container div.mce-statusbar {
    border-radius: 0;
    border-color: rgb(var(--gigneo-grey-color));
}

.gn-wysiwyg-editor .mce-toolbar .mce-btn-group .mce-btn.mce-listbox {
    border-color: rgb(var(--gigneo-grey-color)) !important;
    border-radius: var(--gigneo-border-radius-md) !important;
}

.gn-wysiwyg-editor .mce-toolbar .mce-btn-group .mce-btn.mce-listbox:focus,
.gn-wysiwyg-editor .mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover {
    box-shadow: none !important;
    outline: none !important;
}

.gn-wysiwyg-editor .mce-toolbar .mce-btn-group .mce-btn:focus,
.gn-wysiwyg-editor .mce-toolbar .mce-btn-group .mce-btn:hover,
.gn-wysiwyg-editor .qt-dfw:focus,
.gn-wysiwyg-editor .qt-dfw:hover {
    box-shadow: none !important;
    outline: none !important;
    border-color: rgb(var(--gigneo-grey-color)) !important;
    border-radius: var(--gigneo-border-radius-md);
}

.gn-wysiwyg-editor .mce-toolbar .mce-btn-group .mce-btn.mce-active,
.gn-wysiwyg-editor .mce-toolbar .mce-btn-group .mce-btn:active,
.qt-dfw.active {
    border-color: rgb(var(--gigneo-grey-color)) !important;
    background-color: rgb(var(--gigneo-light-grey-color)) !important;
}

.gn-wysiwyg-editor .mce-toolbar .mce-btn-group .mce-btn.mce-active,
.gn-wysiwyg-editor .mce-toolbar .mce-btn-group .mce-btn:active {
    border-radius: var(--gigneo-border-radius-md);
}

.gn-wysiwyg-editor .mce-toolbar .mce-listbox button {
    height: 34px;
    width: 196px;
}

.gn-wysiwyg-editor .mce-toolbar .mce-btn-group .mce-btn:not(.mce-listbox) {
    width: 34px;
    height: 34px;
}

.gn-wysiwyg-editor .mce-toolbar .mce-btn-group .mce-btn:not(.mce-listbox) button[type="button"] {
    width: 34px;
    height: 34px;
}

/* ===================================
    Tinymce Editor
====================================== */
.mce-panel.mce-floatpanel.mce-window {
    box-shadow: none;
    border-radius: var(--gigneo-border-radius-md);
    overflow: hidden;
}

.mce-floatpanel.mce-window .mce-window-head {
    border: 0;
}

.mce-window .mce-window-head .mce-close,
.mce-window-head .mce-close .mce-i-remove {
    background: transparent;
    outline: none !important;
    box-shadow: none !important;
    color: rgb(var(--gigneo-dark-color));
}

.mce-floatpanel.mce-window .mce-foot {
    border: 0;
}

.mce-floatpanel.mce-window .mce-btn.mce-primary[role="button"] {
    box-shadow: none !important;
    background-color: rgb(var(--gigneo-primary-color));
    border: 1px solid rgb(var(--gigneo-primary-color));
}

.mce-floatpanel.mce-window .mce-btn.mce-primary[role="button"]:hover button {
    color: #fff;
    background-color: rgba(var(--gigneo-primary-color), .95);
    border-color: rgba(var(--gigneo-primary-color), .95);
}

.mce-floatpanel.mce-window .mce-btn[role="button"] {
    box-shadow: none !important;
    color: rgb(var(--gigneo-dark-color));
    fill: rgb(var(--gigneo-dark-color));
    border-radius: var(--gigneo-border-radius-md);
    background-color: rgb(var(--gigneo-light-grey-color));
    border-color: rgb(var(--gigneo-grey-color));
}

.mce-floatpanel.mce-window .mce-btn[role="button"]:hover button {
    color: rgb(var(--gigneo-dark-color));
    fill: rgb(var(--gigneo-dark-color));
    border-color: rgb(var(--gigneo-grey-color));
    background-color: rgb(var(--gigneo-grey-color));
}

.mce-floatpanel.mce-window .mce-textbox,
.mce-floatpanel.mce-window .mce-combobox input {
    box-shadow: none;
    outline: none !important;
    border-radius: var(--gigneo-border-radius-md);
    background-color: rgb(var(--gigneo-light-grey-color));
    border: 1px solid rgba(var(--gigneo-grey-color), 0.3);
}

.mce-floatpanel.mce-window .mce-textbox:focus,
.mce-floatpanel.mce-window .mce-textbox:hover,
.mce-floatpanel.mce-window .mce-combobox input:focus,
.mce-floatpanel.mce-window .mce-combobox input:hover {
    border-color: rgb(var(--gigneo-grey-color));
}


/* ===================================
   Map
====================================== */

.gn-map {
    position: relative;
    height: 300px;
    background-color: rgb(var(--gigneo-grey-color));
    border-radius: var(--gigneo-border-radius-md);
}

.gn-map-address-wrapper {
    position: relative;
    margin-bottom: 5px;
}

.gn-map-address-wrapper .gn-current-location {
    top: 50%;
    border: 0;
    padding: 0;
    right: 12px;
    display: flex;
    position: absolute;
    transform: translateY(-50%);
}

.gn-map-address-wrapper .gn-current-location i {
    color: rgb(var(--gigneo-primary-font-color));
}

.gn-map-address-wrapper .gn-current-location:hover,
.gn-map-address-wrapper .gn-current-location:focus {
    background: none;
}

.gn-map-address-wrapper .gn-current-location:hover i,
.gn-map-address-wrapper .gn-current-location:focus i {
    color: rgb(var(--gigneo-primary-font-color));
}

.gn-form-fields .gn-form-field .gn-map-address-wrapper > input,
.gn-map-address-wrapper > input {
    padding-right: 40px;
}

.gn-form-fields .gn-form-field .gn-map-address-wrapper:has(.gn-loading-location-result) {
    position: relative;
}

.gn-form-fields .gn-form-field .gn-map-address-wrapper:has(.gn-loading-location-result):after {
    content: '';
    width: 14px;
    height: 14px;
    position: absolute;
    display: inline-block;
    border-radius: 50%;
    animation: 0.5s gn-spin infinite linear;
    border: 2px solid rgba(var(--gigneo-dark-grey-color), 0.6);
    border-top-color: transparent;
    top: 50%;
    margin-top: -7px;
    right: 14px;
}

.gn-form-fields .gn-form-field .gn-map-address-wrapper:has(.gn-loading-location-result) .gn-current-location {
    opacity: 0;
}

.gigneo-sweetalert2-toast .swal2-success-ring {
    display: none;
}

.gigneo-sweetalert2-toast.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip] {
    top: 11px;
    left: 4px;
    width: 6px;

}

.gigneo-sweetalert2-toast div:where(.swal2-icon).swal2-success [class^=swal2-success-line] {
    background-color: rgb(var(--gigneo-success-color));
}

.gigneo-sweetalert2-toast.swal2-toast .swal2-success [class^=swal2-success-line][class$=long] {
    top: 9px;
    right: 2px;
    width: 10px;
}

.gigneo-sweetalert2-toast.swal2-toast .swal2-success [class^=swal2-success-line] {
    height: 2px;
}

.gigneo-sweetalert2-toast.swal2-toast .swal2-success {
    border: 2px solid rgb(var(--gigneo-success-color));
    width: 20px;
    min-width: 20px;
    height: 20px;
    font-size: 10px;
}

.gigneo-sweetalert2-toast div:where(.swal2-icon).swal2-success {
    color: rgb(var(--gigneo-success-color));
}

.gigneo-sweetalert2-toast.swal2-toast .swal2-success .swal2-success-fix {
    border-color: rgb(var(--gigneo-success-color));
}

.gigneo-sweetalert2-toast.swal2-toast .swal2-success .swal2-success-fix {
    border-color: rgb(var(--gigneo-success-color));
    width: 10px;
    height: 10px;
    top: 5px;
    left: 5px;
}

.gigneo-sweetalert2-toast.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left],
.gigneo-sweetalert2-toast.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right] {
    border-color: rgb(var(--gigneo-success-color));
    top: 5px;
}

.gigneo-sweetalert2-toast.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left] {
    left: 5px;
    right: 5px;
}


/* ===================================
   Dropdown
====================================== */

.gn-dropdown-container {
    position: relative;
    display: inline-block;
}

.gn-dropdown-toggle {
    cursor: pointer;
}

.gn-dropdown-content {
    display: none;
    border-radius: var(--gigneo-border-radius-md);
    padding: 8px;
    position: absolute;
    min-width: 180px;
    background: #FFF;
    box-shadow: 0px 24px 48px -12px rgba(16, 24, 40, 0.18);
    z-index: 9;
}

.gn-dropdown-menu {
    margin: 0;
    padding: 0;
}

.gn-dropdown-item {
    list-style: none;
}

.gn-dropdown-item > span,
.gn-dropdown-item > a {
    display: flex;
    padding: 8px 10px;
    border-radius: var(--gigneo-border-radius-md);
    align-items: center;
    gap: 8px;
    cursor: pointer;
    color: rgb(var(--gigneo-secondary-font-color));
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    width: 100%;
    transition: color .3s ease-in-out, background-color .3s ease-in-out;
}

.gn-dropdown-item.gn-update-service > span,
.gn-dropdown-item.gn-remove-service > span {
    padding: 0;
}

.gn-dropdown-item.gn-update-service > i,
.gn-dropdown-item.gn-remove-service > i,
.gn-dropdown-item > span > i,
.gn-dropdown-item > a > i {
    font-size: 14px;
    opacity: 0.9;
}

.gn-dropdown-item > span:hover,
.gn-dropdown-item > a:hover {
    background-color: rgb(var(--gigneo-light-grey-color));
}

.gn-dropdown-content.gn-active {
    display: block;
}

.gn-dropdown-content.gn-enter-top {
    animation-name: gn-enter-top;
    animation-duration: 0.15s;
    animation-fill-mode: both;
}

.gn-dropdown-content.gn-enter-bottom {
    animation-name: gn-enter-bottom;
    animation-duration: 0.15s;
    animation-fill-mode: both;
}

/* ===================================
   User Menu Dropdown
====================================== */

/* User Menu Styling  */
.gn-user-action-menu {
    position: relative;
}

.gn-user-menu-dropdown {
    right: 0;
    padding: 8px;
    width: 250px;
    position: absolute;
    z-index: 999;
    display: none;
    background-color: #fff;
    overflow: hidden;
    border-radius: var(--gigneo-border-radius-md);
    border: 1px solid rgb(var(--gigneo-grey-color));
    box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.02);
}

.gn-user-action-menu .gn-user-menu-dropdown {
    margin-top: 10px;
    animation-name: gn-enter-top;
    animation-duration: 0.15s;
    animation-fill-mode: both;
}

.gn-user-action-menu.gn-active .gn-user-menu-dropdown {
    display: block;
}

.gn-user-menu-dropdown .gn-user-menu-header {
    display: flex;
    flex-direction: column;
    position: relative;
    padding: 6px 8px;
}

.gn-user-menu-dropdown .gn-user-profile {
    display: flex;
    align-items: center;
    gap: 10px;
}

.gn-user-menu-dropdown .gn-profile-info{
    display: flex;
    flex-direction: column;
}

.gn-user-menu-dropdown .gn-user-profile > img,
.gn-user-menu-dropdown .gn-user-profile > figure {
    margin: 0;
    height: 40px;
    width: 40px;
    position: relative;
    border-radius: var(--gigneo-border-radius-md);
}

.gn-user-menu-dropdown .gn-user-profile.gn-loading > figure::after {
    content: '';
    width: 25px;
    height: 25px;
    display: inline-block;
    border-radius: 50%;
    animation: 0.5s gn-spin infinite linear;
    border: 2px solid rgb(150 150 150 / 60%);
    border-top-color: rgb(215 215 215 / 60%);
    margin-left: auto;
    position: absolute;
    left: 8px;
    top: 8px;
}

.gn-user-menu-dropdown .gn-user-profile.gn-loading > figure::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    border-radius: var(--gigneo-border-radius-md);
    background-color: rgb(var(--gigneo-dark-color));
    z-index: 1;
}

.gn-user-menu-dropdown .gn-user-profile > figure img {
    height: 100%;
    width: 100%;
    border-radius: inherit;
    object-fit: cover;
}

.gn-user-menu-dropdown .gn-user-profile .name,
.gn-user-menu-dropdown .gn-user-profile .gn-name {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    opacity: 0.9;
}

.gn-user-menu-dropdown .gn-user-profile .gn-type,
.gn-user-menu-dropdown .gn-user-profile .gn-email {
    margin: 0;
    opacity: 0.8;
    font-size: 12px;
    font-weight: 500;
}

.gn-user-menu-dropdown .gn-separator {
    width: 110%;
    height: 1px;
    display: block;
    background-color: rgb(var(--gigneo-grey-color));
    margin: 8px -5%;
}

.gn-user-menu-dropdown .gn-switch-role-wrapper .gn-user-profile {
    padding: 8px;
    cursor: pointer;
    margin-top: 2px;
    border-radius: var(--gigneo-border-radius-md);
}

.gn-user-menu-dropdown .gn-switch-role-wrapper .gn-user-profile:hover {
    background-color: rgb(var(--gigneo-grey-color));
}

.gn-user-menu-dropdown .gn-switch-role-title {
    font-size: 12px;
    font-weight: 500;
    opacity: 0.9;
    margin: 0;
    padding: 0 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: rgb(var(--gigneo-primary-font-color));
}

.gn-user-menu-dropdown .gn-user-menu-list {
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-direction: column;
}

.gn-user-menu-list li > a {
    position: relative;
    gap: 8px;
    padding: 8px;
    display: flex;
    position: relative;
    align-items: center;
    border-radius: var(--gigneo-border-radius-md);
    transition: color .3s ease-in-out, background-color .3s ease-in-out;
}

.gn-user-menu-list li > a.gn-loading::after {
    content: '';
    width: 14px;
    height: 14px;
    position: relative;
    display: inline-block;
    border-radius: 50%;
    animation: 0.5s gn-spin infinite linear;
    border: 2px solid rgb(150 150 150 / 60%);
    border-top-color: rgb(215 215 215 / 60%);
    margin-left: auto;
}

.gn-user-menu-list li > a:hover {
    background-color: rgb(var(--gigneo-grey-color));
}

.gn-user-menu-list li > a > .title {
    font-size: 14px;
    font-weight: 400;
    color: rgb(var(--gigneo-secondary-font-color));
    line-height: var(--gigneo-line-height);
}

.gn-user-menu-list li > a > i {
    font-size: 17px;
    color: rgb(var(--gigneo-secondary-font-color));
}

.gn-user-menu-footer {
    position: relative;
}

.gn-user-menu-footer > .gn-logout {
    gap: 8px;
    padding: 8px;
    display: flex;
    position: relative;
    align-items: center;
    border-radius: var(--gigneo-border-radius-md);
    transition: color .3s ease-in-out, background-color .3s ease-in-out;
}

.gn-user-menu-footer > a:hover {
    background-color: rgb(var(--gigneo-grey-color));
}

.gn-user-menu-footer > a > .title {
    font-size: 14px;
    font-weight: 400;
    color: rgb(var(--gigneo-secondary-font-color));
    line-height: var(--gigneo-line-height);
}

.gn-user-menu-footer > a > i {
    font-size: 17px;
    color: rgb(var(--gigneo-secondary-font-color));
}

/* ===================================
   Animations
====================================== */

@keyframes gn-fade-top {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes gn-enter-top {
    0% {
        opacity: 0;
        transform: translate3d(0, -20px, 0) scale3d(0.95, 0.95, 0.95) rotate(0deg);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0deg);
    }
}

@keyframes gn-enter-bottom {
    0% {
        opacity: 0;
        transform: translate3d(0, 20px, 0) scale3d(0.95, 0.95, 0.95) rotate(0deg);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0deg);
    }
}

@keyframes gn-enter-left {
    0% {
        opacity: 0;
        transform: translate3d(-20px, 20px, 0) scale3d(0.95, 0.95, 0.95) rotate(0deg);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0deg);
    }
}

/* ================================================
            Services border animations
==================================================== */

.gn-service-edit-steps li {
    min-width: 60px;
}

.gn-service-edit-steps li .gn-service-edit-step-info {
    position: relative;
}

.gn-service-edit-steps li .gn-service-edit-step-info::before {
    top: 35%;
    width: 0;
    left: 50%;
    height: 1px;
    content: "";
    z-index: -1;
    display: block;
    will-change: width;
    position: absolute;
    transform: translateY(-50%);
    background-color: rgba(189, 165, 254, 1);
}

.gn-service-edit-steps li:has(~ .active) .gn-service-edit-step-info::before {
    width: 16vw !important;
    transition: width 0.6s ease-in-out, opacity 0.6s ease-in-out;
}

.gn-service-edit-steps:has([data-gn-step="requirements"]) li:has(~ .active) .gn-service-edit-step-info::before {
    width: 13.5vw !important;
}

@media (max-width: 800px) {
    .gn-service-edit-steps li:has(~ .active) .gn-service-edit-step-info::before {
        width: 12vw !important;
    }
}

/* ===================================
            Live Chat
====================================== */

.gn-live-chat-detail-wrapper .gn-live-chat-input-field-wrapper {
    padding: 0;
}

/* ===================================
            Media Queries
====================================== */

@media (max-height: 800px) {

    /*Modal*/
    .gn-modal-body {
        max-height: calc(90vh - 200px);
    }
    .gn-add-new-service-modal .gn-modal-body {
        max-height: calc(90vh - 114px);
    }
}

/* Slick slider Dot Style */
.gn-service-media-slider .slick-dots {
    left: 50%;
    bottom: 10px;
    list-style: none;
    position: absolute;
    transform: translateX(-50%);
}

.gn-service-media-slider .slick-dots {
    gap: 2px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slick-dots .slick-active button[type="button"] {
    opacity: 1;
    background: #fff;
}

.gn-service-media-slider .slick-dots button[type="button"] {
    font-size: 0;
    border-radius: var(--gigneo-border-radius-md);
    opacity: 0.6;
    width: 10px;
    height: 4px;
    border: 0;
    padding: 0;
    outline: none;
    background: rgba(255, 255, 255, 0.40);
}

.gn-service-media-slider .slick-active button[type="button"] {
    background: rgba(255, 255, 255, 1);
}

/* Breadcrumb Style */
.gn-breadcrumb {
    padding: 0;
    display: flex;
    margin: 0 0 16px;
    list-style: none;
    align-items: center;
}

.gn-breadcrumb > li {
    list-style-type: none;
}

.gn-breadcrumb > li:not(:last-child) {
    display: flex;
    align-items: center;
}

.gn-breadcrumb > li:not(:last-child):after {
    content: '/';
    margin: 0 6px;
}

.gn-breadcrumb > li a,
.gn-breadcrumb > li span {
    font-weight: 500;
}

/* ===================================
            Pagination style
====================================== */

.gn-pagination-wrap.gn-per-page-dropdown {
    gap: 5px;
    display: flex;
    align-items: center;
}

.gn-per-page-dropdown .gn-field-label {
    margin: 0;
    flex: none;
    font-size: 14px;
    font-weight: 400;
    color: rgb(var(--gigneo-secondary-font-color));
}

.gn-per-page-dropdown .gn-select2-dropdown {
    min-width: 60px;
    max-width: 60px;
}

.gn-per-page-dropdown .select2-selection__rendered {
    padding-inline: 12px !important;
}

.gn-dashboard-top-area + .gn-dashboard-content-area:has(.gn-order-detail-wrapper),
.gn-dashboard-top-area + .gn-dashboard-content-area:has(.gn-service-listing-wrapper) {
    position: unset;
}

/* ===================================
           Summary style
====================================== */
.gn-form-summary {
    margin-top: 24px;
}

.gn-form-summary .gn-title {
    font-size: 16px;
    font-weight: 500;
    margin: 0 0 10px;
}

.gn-form-summary .gn-summary-info {
    padding: 20px;
    margin-top: 10px;
    border-radius: var(--gigneo-border-radius-md);
    background-color: rgb(var(--gigneo-light-grey-color));
}

.gn-form-summary .gn-summary-info .gn-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.gn-form-summary .gn-summary-info .gn-info + .gn-info {
    margin-top: 12px;
}

.gn-form-summary .gn-summary-info .gn-info:last-child {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgb(var(--gigneo-grey-color));
}

.gn-form-summary .gn-summary-info .gn-info .gn-value {
    color: rgb(var(--gigneo-secondary-font-color));
}

/* ===================================
            Private Note style
====================================== */

.gn-sidebar-wrapper .gn-note-item {
    gap: 4px;
    width: 100%;
    display: flex;
    flex-direction: column;
    padding-top: 16px;
    margin-top: 16px;
    border-top: 1px solid rgb(var(--gigneo-grey-color));
}

.gn-sidebar-wrapper .gn-comment {
    display: flex;
    justify-content: space-between;
}

.gn-sidebar-wrapper .gn-note-content {
    margin-top: 10px;
}

.gn-sidebar-wrapper .gn-note,
.gn-sidebar-wrapper .gn-note-content {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    font-style: normal;
    color: rgb(var(--gigneo-primary-font-color));
}

.gn-sidebar-wrapper .gn-note-date {
    color: rgb(var(--gigneo-dark-grey-color));
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}

.gn-private-note-body {
    position: relative;
}

.gn-private-note-body .gn-note-slide {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgb(var(--gigneo-grey-color));
}

.gn-private-note-body .gn-note-info {
    display: flex;
    justify-content: space-between;
    color: rgb(var(--gigneo-primary-font-color), .8);
}

.gn-private-note-body .gn-description {
    padding: 10px 0;
}

.gn-private-note-body .gn-note-controls .gn-btn {
    padding: 0;
    cursor: pointer;
    color: rgb(var(--gigneo-primary-font-color));
}

.gn-private-note-body .gn-note-controls .gn-btn:hover {
    background: transparent;
    border-color: transparent;
}

.gn-private-note-body .gn-note-actions {
    gap: 16px;
    display: flex;
    align-items: center;
}

.gn-private-note-body .gn-note-actions .gn-btn {
    font-size: 12px;
    font-weight: 400;
}

.gn-private-note-body .gn-note-actions .gn-btn.gn-edit-private-note {
    color: rgb(var(--gigneo-info-color));
}

.gn-private-note-body .gn-note-actions .gn-btn.gn-delete-private-note {
    color: rgb(var(--gigneo-danger-color));
}

.gn-private-note-body .gn-btn.gn-delete-private-note {
    color: #F97066;
    font-size: 12px;
    padding: 0;
    font-style: normal;
    font-weight: 400;
    line-height: 18px;
    border: none;
    outline: none;
    box-shadow: none;
}

.gn-private-note-body .gn-btn.gn-delete-private-note:hover {
    color: #F97066;
}

.gn-private-note-body .gn-btn.gn-delete-private-note:focus,
.gn-private-note-body .gn-btn.gn-delete-private-note:hover,
.gn-private-note-body .gn-note-actions .gn-btn.gn-edit-private-note:focus,
.gn-private-note-body .gn-note-actions .gn-btn.gn-edit-private-note:hover {
    background: transparent;
    border: none;
    outline: none;
    box-shadow: none;
}

.gn-note-actions {
    gap: 16px;
    display: flex;
    padding-right: 5px;
    justify-content: space-between;
}

.gn-private-note-actions .gn-btn-outline-grey {
    height: 36px;
}

.gn-private-note-body .gn-note-nav .gn-btn {
    padding: 0;
    border: none;
    outline: none;
    cursor: pointer;
    box-shadow: none;
}

.gn-private-note-body .gn-note-nav .gn-btn i {
    color: rgb(var(--gigneo-dark-grey-color));
    font-size: 12px;
}

.gn-private-note-body .gn-note-nav .gn-btn:hover {
    background: transparent;
    border: none;
    outline: none;
    box-shadow: none;
}

.gn-private-note-body .gn-note-nav {
    gap: 10px;
    left: 0;
    bottom: 0;
    z-index: 1;
    display: flex;
    min-height: 18px;
    position: absolute;
    align-items: center;
    background-color: #fff;
}

.gn-private-note-body .gn-note-counter {
    right: 0;
    top: 32px;
    position: absolute;
    background-color: #fff;
}

.gn-private-note-body .gn-note-counter span,
.gn-private-note-body .gn-note-counter {
    color: rgb(var(--gigneo-dark-grey-color));
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}

.gn-note-controls {
    display: flex;
    margin-top: 16px;
    align-items: center;
    justify-content: end;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.gn-private-note-body:hover .gn-note-controls {
    opacity: 1;
    visibility: visible;
}

/* ===================================
            Pre style
====================================== */
.gn-pre {
    margin: 0;
    line-height: 0;
    font-family: inherit;
    max-width: 100%;
}

.gn-pre > * {
    line-height: 1.2;
}

.gn-pre :where(h1, h2, h3, h4, h5, h6, p) {
    margin: 0;
    word-break: break-word;
}

.gn-pre h1 {
    font-size: 24px;
}

.gn-pre h2 {
    font-size: 22px;
}

.gn-pre h3 {
    font-size: 20px;
}

.gn-pre h4 {
    font-size: 18px;
}

.gn-pre h5 {
    font-size: 16px;
}

.gn-pre h6 {
    font-size: 14px;
}

.gn-pre strong {
    color: rgb(var(--gigneo-secondary-font-color));
}

.gn-pre ul li {
    list-style: disc;
}

.gn-pre ol li {
    list-style: decimal;
}

.gn-pre :where(ul, ol) {
    margin: 0;
    display: grid;
    padding: 0 0 0 18px;
}

.gn-pre :where(ul, ol) li {
    line-height: 1.5rem;
    color: rgb(var(--gigneo-secondary-font-color));
}

.gn-pre :where(ul, ol) li::marker {
    font-weight: 500;
}

.gn-pre a {
    text-decoration: underline;
    color: rgb(var(--gigneo-info-color));
}

@media(min-width: 991px) {
    .gn-form-fields .gn-form-field label{
        font-size: 14px;
    }
    input[type=date],
    input[type=email],
    input[type=number],
    input[type=password],
    input[type=search],
    input[type=tel],
    input[type=text],
    input[type=url],
    select,
    textarea,
    .gn-form-fields .gn-form-field input,
    .gn-form-fields .gn-form-field textarea {
        font-size: 14px;
        padding: 11px 16px;
        min-height: 48px;
    }
    .gn-form-fields .gn-form-field .gn-forgot-password,
    .gn-form-fields .gn-form-field .gn-form-field-checkbox > label {
        font-size: 14px;
    }
    .gn-btn, a.gn-btn, button.gn-btn{
        font-size: 16px;
        padding: 11px 22px;
    }
}
@media(min-width: 390px) {
    .gn-auth-col-half {
        width: calc(50% - 16px / 2);
        max-width: 100%;
    }
}