body {
    margin: 0;
    font-family: monospace;
}

.index-main {
    display: flex;
    flex-direction: column;
}

.navbar {
    background-color: #ff90c7;
    padding: 0.8rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.navbar div {
    flex: 1;
}

#title {
    flex: 2;
}

.navbar h1 {
    font-size: 32px;
    text-align: center;
    color: white;
    margin: 0;
    text-shadow: 2px 3px #FD49A0;
}

.navbar a {
    background-color: #FD49A0;
    color: white;
    text-decoration: none;
    font-size: 20px;
    font-weight: 900;
    padding: 0.3rem 0.8rem;
    border: 2px solid white;
    border-radius: 2px;
}

.navbar a:hover {
    background-color: white;
    color: black;
}

.butterflies {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    margin: 1rem 0rem;
}

.butterflies > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.col > div {
    width: 240px;
    height: 158px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 1rem 0.5rem;
}

.butterfly:hover {
    cursor: pointer;
}

.butterfly {
    transform: scaleX(-1) rotateX(70deg) rotateY(30deg) rotateZ(-50deg);
    position: relative;
    transform-style: preserve-3d;
    width: 60px;
}

.butterfly::before {
    content: "";
    position: absolute;
    background-color: black;
    border-radius: 50%;
    margin-left: -10px;
    width: 25px;
    height: 100px;
    top: -15px;
    left: 50%;
    transform: rotateY(100deg);
    outline: 1px solid transparent;
}

.butterfly > div {
    position: absolute;
}

.butterfly > div:first-child {
    animation: left 2s infinite;
    animation-direction: alternate;
    animation-fill-mode: reverse;
    z-index: 3;
}

.butterfly > div:last-child {
    animation: right 2s infinite;
    animation-direction: alternate;
    animation-fill-mode: reverse;
    z-index: 0;
    right: 0;
}

.wing, .wing::after {
    position: absolute;
    border-radius: 50%;
    transform-origin: 100% 50%;
    top: 0;
    right: 0;
}

.wing:first-child {
    width: 125px;
    height: 75px;
    top: 2px;
    transform: rotateZ(30deg);
}

.wing:last-child {
    width: 95px;
    height: 75px;
    transform: rotateZ(-30deg);
}

@keyframes left {
    0% {transform: rotateY(-60deg);}
    100% {transform: rotateY(50deg);}
}

@keyframes right {
    0% {transform: rotateY(180deg);}
    100% {transform: rotateY(80deg);}
}

.info-main {
    display: flex;
    padding: 1rem;
    flex-wrap: wrap;
    justify-content: center;
}

.card {
    margin: 2rem;
    width: 300px;
    height: 300px;
    perspective: 1000px;
}

.card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.8s;
    transform-style: preserve-3d;
}

.card:hover .card-inner {
    transform: rotateY(180deg);
}

.front, .back {
    width: 100%;
    height: 100%;
    position: absolute;
    backface-visibility: hidden;
}

.front {
    background-color: #ff90c7;
    border: 3px solid #FD49A0;
    border-radius: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.front p {
    margin: 0;
    font-size: 18px;
    font-weight: bold;
}

.back {
    transform: rotateY(180deg);
    background-color: white;
    display: flex;
    justify-content: center;
}

.reference {
    font-size: 14px;
    padding: 0rem 1rem;
}