/* Reset CSS - Base Layer */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Remove default body spacing and set base font */
body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    font-family: sans-serif;
    background-color: #fff;
    color: #000;
}

/* Reset headings, paragraphs, lists */
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
    margin: 0;
    direction: rtl;
}

/* Remove list styles */
ul,
ol {
    list-style: none;
}

/* Remove default anchor styling */
a {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

/* Reset images and media */
img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
    height: auto;
}

/* Reset form elements */
input,
button,
textarea,
select {
    font: inherit;
    color: inherit;
    background: none;
    border: none;
    outline: none;
}

/* Set button to pointer and remove border by default */
button {
    cursor: pointer;
}

/* Ensure full height layout */
html,
body {
    height: 100%;
}

/* Set strong and emphasis */
strong {
    font-weight: bold;
}
em {
    font-style: italic;
}

/* Clear tables */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* .fade-in {
    opacity: 0;
    animation: fadeIn 1.5s ease forwards;
}

@keyframes fadeIn {
    to {
        opacity: 1;
    }
}

.fade-in-top {
    opacity: 0;
    transform: translateY(-20px);
    animation: fadeInTop 1.5s ease forwards;
}

@keyframes fadeInTop {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-bottom {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInBottom 1.5s ease forwards;
}

@keyframes fadeInBottom {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-left {
    opacity: 0;
    transform: translateX(-50px);
    animation: fadeInLeft 1.5s ease forwards;
}

@keyframes fadeInLeft {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.fade-in-right {
    opacity: 0;
    transform: translateX(50px);
    animation: fadeInRight 1.5s ease forwards;
}

@keyframes fadeInRight {
    to {
        opacity: 1;
        transform: translateX(0);
    }
} */
/* Reset animation states */
.fade-in-left,
.fade-in-right,
.fade-in-top,
.fade-in-bottom {
    opacity: 0;
    transform: translateY(0);
    transition: opacity 1s ease, transform 1s ease;
}

.fade-in-left.in-view {
    opacity: 1;
    transform: translateX(0);
    animation: fadeLeft 1s forwards;
}

.fade-in-right.in-view {
    opacity: 1;
    transform: translateX(0);
    animation: fadeRight 1s forwards;
}

.fade-in-top.in-view {
    opacity: 1;
    transform: translateY(0);
    animation: fadeTop 1s forwards;
}

.fade-in-bottom.in-view {
    opacity: 1;
    transform: translateY(0);
    animation: fadeBottom 1s forwards;
}

/* Keyframes */
@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translateX(-50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translateX(50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeTop {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeBottom {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Path draw animation */

.draw-path {
    stroke-dasharray: 2500;
    stroke-dashoffset: 2500;
    transition: stroke-dashoffset 7s ease;
}

/* Animate only when visible */
.draw-path.in-view {
    stroke-dashoffset: 0;
}

@keyframes drawLine {
    to {
        stroke-dashoffset: 0;
    }
}

.fade-rect {
    opacity: 0;
    transform: scale(0.8);
    transform-origin: center;
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.fade-rect.in-view {
    opacity: 1;
    transform: scale(1);
}

/* Set base delay to start after path is drawn (3s) */
.fade-rect:nth-of-type(1) {
    animation-delay: 0.2s;
}
.fade-rect:nth-of-type(2) {
    animation-delay: 0.4s;
}
.fade-rect:nth-of-type(3) {
    animation-delay: 0.6s;
}
.fade-rect:nth-of-type(4) {
    animation-delay: 0.8s;
}
.fade-rect:nth-of-type(5) {
    animation-delay: 1s;
}
.fade-rect:nth-of-type(6) {
    animation-delay: 1.2s;
}
.fade-rect:nth-of-type(7) {
    animation-delay: 1.4s;
}
.fade-rect:nth-of-type(8) {
    animation-delay: 1.6s;
}
.fade-rect:nth-of-type(9) {
    animation-delay: 1.8s;
}
.fade-rect:nth-of-type(10) {
    animation-delay: 2s;
}
.fade-rect:nth-of-type(11) {
    animation-delay: 2.2s;
}
.fade-rect:nth-of-type(12) {
    animation-delay: 2.4s;
}

@keyframes fadeInScale {
    to {
        opacity: 1;
        transform: scale(1);
    }
}
.regis-choose-form iframe {
    width: 100%;
    height: 800px;
    overflow: visible;
}
