body, html { height: 100%; margin: 0; display: flex; justify-content: center; align-items: center; background-color: #333; color: #fff; font-family: Arial, sans-serif; } #logo-link { position: absolute; top: 10px; /* Prilagodite ovo kako biste logo postavili na željenu poziciju */ left: 50%; transform: translateX(-50%); z-index: 1000; /* Ako je potrebno da bude iznad ostalih elemenata */ } #logo-img { width: 200px; /* Prilagodite širinu */ height: auto; opacity: 0.5; /* Prilagodite prozirnost */ transition: opacity 0.3s ease; /* Ako želite da logo malo zasvetli kada se pređe mišem preko njega */ &:hover { opacity: 0.8; } } #audioResponse { display: none; } :root { --color-box: #fff; --color-shadow: #65c1ff; --color-font: #000; } .centered { position: fixed; left: 50%; transform: translateX(-50%); } .button-container { bottom: 20px; /* Adjust the bottom spacing as needed */ } .blob-container { top: 50%; transform: translate(-50%, -50%); } #thought-bubble { width: 200px; display: none; height: 120px; background-color: white; border-radius: 100px; /* This gives a circular shape to the main part of the cloud */ position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 10; /* Add box shadow for a 3D effect if desired */ box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3); animation: float 3s ease-in-out infinite, gentleRotation 6s infinite linear; } .cloud-puff { /* Apply the same animation but with a slight delay to each puff for added effect */ animation: puffMove 3s ease-in-out infinite; animation-delay: calc(var(--i) * 0.2s); } .cloud-puff::before { content: ""; position: absolute; width: 100%; height: 100%; background: white; border-radius: 50%; top: 0; left: 0; z-index: -1; animation: colorChange 10s infinite alternate; } /* Additional pseudo-elements for more cloud puffs if needed */ #thought-bubble .cloud-puff:nth-child(1) { content: ""; position: absolute; background-color: white; border-radius: 50%; width: 140px; height: 140px; top: -50px; left: -40px; /* Adjust as needed */ animation-delay: 0.2s; } #thought-bubble .cloud-puff:nth-child(2) { content: ""; position: absolute; background-color: white; border-radius: 50%; width: 140px; height: 140px; top: -70px; left: 40px; /* Adjust as needed */ animation-delay: 0.4s; } #thought-bubble .cloud-puff:nth-child(3) { content: ""; position: absolute; background-color: white; border-radius: 50%; width: 140px; height: 140px; top: -30px; left: 110px; /* Adjust as needed */ animation-delay: 0.6s; } #thought-bubble .cloud-puff:nth-child(4) { content: ""; position: absolute; background-color: white; border-radius: 50%; width: 140px; height: 140px; top: 20px; left: 70px; /* Adjust as needed */ animation-delay: 0.8s; } #thought-bubble .cloud-puff:nth-child(5) { content: ""; position: absolute; background-color: white; border-radius: 50%; width: 140px; height: 140px; top: 25px; left: -20px; /* Adjust as needed */ animation-delay: 1s; } #thought-bubble .cloud-puff:nth-child(6) { content: ""; position: absolute; background-color: white; border-radius: 50%; width: 40px; height: 40px; top: 135px; left: -60px; /* Adjust as needed */ } @keyframes float { 0%, 100% { transform: translate(-50%, -50%) scale(1); } 50% { transform: translate(-47%, -53%) scale(1.05); } } @keyframes gentleRotation { 0% { transform: translate(-50%, -50%) rotate(0deg); } 50% { transform: translate(-47%, -53%) rotate(-3deg); } 100% { transform: translate(-50%, -50%) rotate(0deg); } } /* Modify the puffMove animation for a bobbing effect */ @keyframes puffMove { 0%, 100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-10px) scale(1.07); } } @keyframes colorChange { 0% { background: white; } 100% { background: #daf1f1; /* Light grey for a subtle change */ } } .content { display: flex; justify-content: center; /* Centers horizontally */ align-items: flex-end; /* Aligns vertically to the bottom */ height: 85vh; /* Takes up 85% of the viewport height */ padding-bottom: 10vh; /* Adds some space at the bottom */ } .mic-checkbox { display: none; } .mic-checkbox:checked + .mic-button { transform: rotateY(180deg); } .button-container { perspective: 500px; -moz-perspective: 500px; -webkit-perspective: 500px; bottom: 40px; } .mic-button { display: flex; align-items: center; justify-content: center; height: 100px; width: 100px; border-radius: 100%; transition: transform 0.4s; border: 2px solid #fff; transform-style: preserve-3d; -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; position: relative; } .button-message, .mic { backface-visibility: hidden; -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; } .button-message { position: absolute; width: 50px; color: #fff; font-family: "Montserrat", sans-serif; font-weight: bold; text-align: center; line-height: 20px; z-index: 2; transform: rotateY(0deg); pointer-events: none; left: 23px; top: 20px; } .mic-button-loader { position: absolute; height: 102px; width: 100px; background-color: transparent; transform: rotateY(180deg); top: -31px; left: -50px; } .mic-checkbox:checked + .mic-button > .mic > .mic-button-loader { border-top: 3px solid var(--color-shadow); border-radius: 100%; animation: borderLoader 1.3s 0.2s ease-in-out infinite; } .mic { position: relative; top: -11px; border: 10px solid #fff; height: 20px; width: 0; border-radius: 10px; transform: rotateY(180deg); } .mic:after, .mic:before, .mic-base { position: absolute; } .mic:after { content: ""; top: 7px; left: -17px; height: 26px; width: 26px; background-color: transparent; border: 4px solid #fff; border-bottom-left-radius: 110px; border-bottom-right-radius: 110px; border-top: 0; } .mic:before { content: ""; top: 33px; left: -2px; border-bottom: 18px solid #fff; border-left: 2px solid #fff; border-right: 2px solid #fff; } .mic-base { top: 46px; left: -10px; border-bottom: 5px solid #fff; border-left: 10px solid #fff; border-right: 10px solid #fff; } @keyframes borderLoader { from { transform: rotate(0deg); } to { transform: rotate(359deg); } } /* Just to fix the cover. Not really needed. .mic-checkbox + .mic-button > .mic, .mic:after, .mic:before, .mic-base { display: none; } .mic-checkbox:checked + .mic-button > .mic, .mic:after, .mic:before, .mic-base { display: block; } */ .credits { font-weight: bold; font-size: 18px; color: #fff; font-family: "Montserrat", sans-serif; } .disabled { pointer-events: none; opacity: 0.5; } .blob-container { display: none; justify-content: space-around; align-items: center; height: 200px; /* Set as needed */ } .blob { background: var(--color-shadow); border-radius: 50%; width: 50px; height: 50px; opacity: 0.5; transform: scale(1); transition: transform 0.1s, height 0.1s; /* Smooth transition for scaling */ }