#movingButton {
    padding: 10px 20px;
    font-size: 20px;
    cursor: pointer;
    position: absolute;
}
.centrato {
    display: flex;
    justify-content: center; /* Centra gli oggetti orizzontalmente */
    align-items: center; /* Centra gli oggetti verticalmente (opzionale) */
}
/* From Uiverse.io by alexroumi */
.buttonL {
    padding: 15px 25px;
    border: unset;
    border-radius: 15px;
    color: #FFFFFF;
    z-index: 1;
    background: #D2B48C;
    position: relative;
    font-weight: 1000;
    font-size: 17px;
    -webkit-box-shadow: 4px 8px 19px -3px rgba(0,0,0,0.27);
    box-shadow: 4px 8px 19px -3px rgba(0,0,0,0.27);
    transition: all 250ms;
    overflow: hidden;
    display: flex; /* Added */
    justify-content: center; /* Added */
    align-items: center; /* Added */
}


.buttonL::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    border-radius: 15px;
    background-color: #CC573C;
    z-index: -1;
    -webkit-box-shadow: 4px 8px 19px -3px rgba(0,0,0,0.27);
    box-shadow: 4px 8px 19px -3px rgba(0,0,0,0.27);
    transition: all 250ms
}


.buttonL:hover {
    color: #e8e8e8;
}


.buttonL:hover::before {
    width: 100%;
}

.logo-container {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-top: 40px;
}
.logo {
    width: 250px;
    max-width: 100%;
}


.title {
    font-size: 3rem; /* Rende il testo molto più grande */
    font-weight: bold; /* Rende il testo in grassetto */
    color: #212121; /* Colore del testo, puoi cambiarlo se vuoi */
    margin: 0; /* Rimuove eventuali margini indesiderati */
}



/* Contenitore griglia */
.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); /* Minimo 350px, massimo si adatta */
    gap: 20px;
    max-width: 800px; /* Impedisce che si allarghi troppo */
    margin: 50px auto;
}

/* Stile delle card */
.course-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%; /* Occupa tutto lo spazio della griglia */
    height: 200px;
    background: white;
    border-radius: 15px;
    padding: 20px;
    box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.navbar-brand img {
    margin-left: -10px; /* Regola il valore secondo necessità */
}


.course-card:hover {
    transform: translateY(-5px);
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
}

/* Stile comune per le animazioni */
.pendulum-container, .atom, .matrix, .graph-container {
    width: 120px;
    height: 120px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Pendolo (Fisica) */
.pendulum {
    width: 4px;
    height: 80px;
    background: black;
    position: relative;
    transform-origin: top;
    transition: transform 1s ease-in-out;
}

.pendulum-ball {
    width: 20px;
    height: 20px;
    background: black;
    border-radius: 50%;
    position: absolute;
    bottom: -10px;
    left: -8px;
}

.course-card:hover .pendulum {
    transform: rotate(360deg);
}

/* Atomo (Chimica) */
.atom {
    position: relative;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 2px solid blue;
}
.electron {
    width: 10px;
    height: 10px;
    background: yellow;
    position: absolute;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) translateX(25px);
}
.course-card:hover .electron {
    animation: electron-spin 1.5s linear infinite;
}
@keyframes electron-spin {
    0% { transform: translate(-50%, -50%) rotate(0deg) translateX(25px) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg) translateX(25px) rotate(-360deg); }
}

/* Matrice (Algebra) */
.matrix {
    display: grid;
    grid-template-columns: repeat(3, 20px);
    gap: 5px;
}

.matrix div {
    width: 20px;
    height: 20px;
    background: green;
    color: white;
    font-size: 14px;
    text-align: center;
    line-height: 20px;
    border-radius: 4px;
}

.course-card:hover .matrix div {
    background: limegreen;
}

/* Grafico Integrale (Analisi) */
.graph-container svg {
    width: 100%;
    height: 100%;
}

.integral-area {
    fill: rgba(50, 150, 255, 0);
    transition: fill 1s ease-in-out;
}

.course-card:hover .integral-area {
    fill: rgba(50, 150, 255, 0.5);
}

.btn-class-name {
    --primary: 255, 90, 120;
    --secondary: 150, 50, 60;
    width: 60px;
    height: 50px;
    border: none;
    outline: none;
    cursor: pointer;
    user-select: none;
    touch-action: manipulation;
    outline: 10px solid rgb(var(--primary), .5);
    border-radius: 100%;
    position: relative;
    transition: .3s;
}

.btn-class-name .back {
    background: rgb(var(--secondary));
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.btn-class-name .front {
    background: linear-gradient(0deg, rgba(var(--primary), .6) 20%, rgba(var(--primary)) 50%);
    box-shadow: 0 .5em 1em -0.2em rgba(var(--secondary), .5);
    border-radius: 100%;
    position: absolute;
    border: 1px solid rgb(var(--secondary));
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    font-weight: 600;
    font-family: inherit;
    transform: translateY(-15%);
    transition: .15s;
    color: rgb(var(--secondary));
}

.btn-class-name:active .front {
    transform: translateY(0%);
    box-shadow: 0 0;
}

.breadcrumb-item {
    padding-left: 100px; /* Aggiunge spazio tra il bordo sinistro e gli elementi */
}

.amongButton {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-right: 50px;
    padding: 0 10px;
    color: white;
    text-shadow: 2px 2px rgb(116, 116, 116);
    text-transform: uppercase;
    cursor: pointer;
    border: solid 2px black;
    letter-spacing: 1px;
    font-weight: 600;
    font-size: 17px;
    background-color: hsl(49deg 98% 60%);
    border-radius: 50px;
    position: relative;
    overflow: hidden;
    transition: all 0.5s ease;
}

.amongButton:active {
    transform: scale(0.9);
    transition: all 100ms ease;
}

.amongButton svg {
    transition: all 0.5s ease;
    z-index: 2;
}

.play {
    transition: all 0.5s ease;
    transition-delay: 300ms;
}

.amongButton:hover svg {
    transform: scale(3) translate(50%);
}

.now {
    position: absolute;
    left: 0;
    transform: translateX(-100%);
    transition: all 0.5s ease;
    z-index: 2;
}

.amongButton:hover .now {
    transform: translateX(10px);
    transition-delay: 300ms;
}

.amongButton:hover .play {
    transform: translateX(200%);
    transition-delay:300ms;
}

.logoMargin{
    margin-left: 50px;
}








/* Kipling Animation Styles */
@import url(https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap);

/* Container principale dell'animazione */
.kipling-animation {
    width: 70%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 0;
    position: relative;
    z-index: 1;
}

/* Card contenente l'animazione */
.kipling-card {
    width: 1280px;
    height: 720px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: black;
    border-radius: 8px;
}

/* Container interno */
.kipling-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Container a dimensione piena */
.kipling-container-full {
    width: 1000px;
    height: 562px;
    display: flex;
    align-items: center;
    overflow: hidden;
    margin: 0;
    justify-content: center;
    transform: scale(1);
    animation: kipling-zoom-in 200s linear infinite;
}

/* Area del contenuto */
.kipling-content {
    width: 1000px;
    height: 562px;
    border-radius: 40px;
    overflow: hidden;
    animation: kipling-brightness 200s linear infinite;
}

/* Cubo dell'animazione */
.kipling-cube {
    position: relative;
    width: 870px;
    height: 190px;
    transform-style: preserve-3d;
    perspective: 480px;
    perspective-origin: 51% 70%;
}

/* Facce del cubo */
.kipling-face {
    position: absolute;
    width: 870px;
    height: 190px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: transparent;
    border: 0 solid #000;
    opacity: 0.5;
}

/* Dimensioni per top e bottom */
.kipling-bottom,
.kipling-top {
    width: 870px;
    height: 870px;
}

/* Stile del testo */
.kipling-text {
    white-space: nowrap;
    overflow: hidden;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-size: calc(6em + (190px / 10) * 0.7);
    padding-top: 20px;
    color: #fff;
    margin: 0;
}

/* Trasformazioni delle facce */
.kipling-back {
    transform: translateZ(-435px) rotateY(180deg) scaleX(-1);
}

.kipling-left {
    transform: translateX(-435px) rotateY(-90deg) scaleX(-1);
}

.kipling-right {
    transform: translateX(435px) rotateY(90deg) scaleX(-1);
}

/* Animazioni del testo per ogni faccia */
.kipling-left .kipling-text {
    margin-left: 480px;
    animation: kipling-left 200s linear infinite;
}

.kipling-back .kipling-text {
    margin-left: -390px;
    animation: kipling-back 200s linear infinite;
}

.kipling-right .kipling-text {
    margin-left: -1260px;
    animation: kipling-right 200s linear infinite;
}

/* Effetto overlay di colore */
.kipling-hue {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
    mix-blend-mode: overlay;
    background: #1e5799;
    background: radial-gradient(ellipse at center, #1e5799 0, #7db9e8 100%);
    opacity: 1;
    animation: kipling-filter-animation 8s infinite;
}

/* Container del riflesso */
.kipling-container-reflect {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 380px;
    filter: blur(10px);
}

/* Modifiche per il cubo riflesso */
.kipling-container-reflect .kipling-cube {
    perspective-origin: 51% -30%;
}

.kipling-container-reflect .kipling-back {
    transform: translateZ(-435px) rotateY(180deg) scaleX(-1) scaleY(-1);
}

.kipling-container-reflect .kipling-left {
    transform: translateX(-435px) rotateY(-90deg) scaleX(-1) scaleY(-1);
}

.kipling-container-reflect .kipling-right {
    transform: translateX(435px) rotateY(90deg) scaleX(-1) scaleY(-1);
}

.kipling-container-reflect .kipling-text {
    transform: scaleY(70%);
}

/* Definizione delle animazioni */
@keyframes kipling-filter-animation {
    0%, 100% {
        filter: hue-rotate(0deg);
    }
    50% {
        filter: hue-rotate(100deg);
    }
}

@keyframes kipling-zoom-in {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(2.5);
    }
}

@keyframes kipling-brightness {
    0% {
        filter: brightness(1) contrast(1);
    }
    100% {
        filter: brightness(0.8) contrast(1.3);
    }
}

@keyframes kipling-left {
    100% {
        margin-left: -54000px;
    }
}

@keyframes kipling-back {
    100% {
        margin-left: -54870px;
    }
}

@keyframes kipling-right {
    100% {
        margin-left: -55740px;
    }
}

/* Media query per la responsività */
@media (max-width: 1300px) {
    .kipling-card {
        width: 100%;
        height: auto;
        aspect-ratio: 16/9;
    }

    .kipling-container-full {
        width: 90%;
        height: auto;
        aspect-ratio: 16/9;
    }

    .kipling-content {
        width: 100%;
        height: auto;
    }
}