.cb-cursor { position: fixed; top: 0; left: 0; z-index: 999; contain: layout style size; pointer-events: none; will-change: transform; -webkit-transition: opacity 0.3s, color 0.4s; -o-transition: opacity 0.3s, color 0.4s; -moz-transition: opacity 0.3s, color 0.4s; transition: opacity 0.3s, color 0.4s; } .cb-cursor:before { content: ""; position: absolute; top: -24px; left: -24px; display: block; width: 48px; height: 48px; -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); transform: scale(0); background: var(--color-primary); -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; -webkit-transition: opacity 0.1s, -webkit-transform 0.3s ease-in-out; transition: opacity 0.1s, -webkit-transform 0.3s ease-in-out; -o-transition: opacity 0.1s, -o-transform 0.3s ease-in-out; -moz-transition: transform 0.3s ease-in-out, opacity 0.1s, -moz-transform 0.3s ease-in-out; transition: transform 0.3s ease-in-out, opacity 0.1s; transition: transform 0.3s ease-in-out, opacity 0.1s, -webkit-transform 0.3s ease-in-out, -moz-transform 0.3s ease-in-out, -o-transform 0.3s ease-in-out; } .cb-cursor-text { position: absolute; top: -18px; left: -18px; width: 36px; height: 36px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-transform: scale(0) rotate(10deg); -moz-transform: scale(0) rotate(10deg); -ms-transform: scale(0) rotate(10deg); -o-transform: scale(0) rotate(10deg); transform: scale(0) rotate(10deg); opacity: 0; color: var(--bs-dark); font-size: 22px; font-weight: 500; line-height: 1; text-align: center; letter-spacing: -0.01em; -webkit-transition: opacity 0.4s, -webkit-transform 0.3s; transition: opacity 0.4s, -webkit-transform 0.3s; -o-transition: opacity 0.4s, -o-transform 0.3s; -moz-transition: opacity 0.4s, transform 0.3s, -moz-transform 0.3s; transition: opacity 0.4s, transform 0.3s; transition: opacity 0.4s, transform 0.3s, -webkit-transform 0.3s, -moz-transform 0.3s, -o-transform 0.3s; } @supports (mix-blend-mode: exclusion) { .cb-cursor.-exclusion, .cb-cursor.-opaque { mix-blend-mode: exclusion; } } @supports (mix-blend-mode: exclusion) { .cb-cursor.-exclusion:before, .cb-cursor.-opaque:before { background: white; } } .cb-cursor.-normal, .cb-cursor.-text { mix-blend-mode: normal; } .cb-cursor.-normal:before, .cb-cursor.-text:before { background: var(--bs-primary); } .cb-cursor.-inverse { color: white; } .cb-cursor.-visible:before { -webkit-transform: scale(0.3); -moz-transform: scale(0.3); -ms-transform: scale(0.3); -o-transform: scale(0.3); transform: scale(0.3); } .cb-cursor.-visible.-active:before { -webkit-transform: scale(0.23); -moz-transform: scale(0.23); -ms-transform: scale(0.23); -o-transform: scale(0.23); transform: scale(0.23); -webkit-transition-duration: 0.2s; -moz-transition-duration: 0.2s; -o-transition-duration: 0.2s; transition-duration: 0.2s; } .cb-cursor.-pointer:before { -webkit-transform: scale(0.15); -moz-transform: scale(0.15); -ms-transform: scale(0.15); -o-transform: scale(0.15); transform: scale(0.15); } .cb-cursor.-text:before { -webkit-transform: scale(2.5); -moz-transform: scale(2.5); -ms-transform: scale(2.5); -o-transform: scale(2.5); transform: scale(2.5); } .cb-cursor.-text .cb-cursor-text { opacity: 1; -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); } .cb-cursor.-text.-active:before { -webkit-transform: scale(1.6); -moz-transform: scale(1.6); -ms-transform: scale(1.6); -o-transform: scale(1.6); transform: scale(1.6); -webkit-transition-duration: 0.2s; -moz-transition-duration: 0.2s; -o-transition-duration: 0.2s; transition-duration: 0.2s; } .cb-cursor.-opaque:before { -webkit-transform: scale(1.32); -moz-transform: scale(1.32); -ms-transform: scale(1.32); -o-transform: scale(1.32); transform: scale(1.32); } .cb-cursor.-opaque.-active:before { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); -o-transform: scale(1.2); transform: scale(1.2); } .cb-cursor.-lg:before { -webkit-transform: scale(2); -moz-transform: scale(2); -ms-transform: scale(2); -o-transform: scale(2); transform: scale(2); } .cb-cursor.-hidden:before { -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); transform: scale(0); } .-cursor-default { color: var(--color-primary); } .cb-demo { background: var(--color-white); } .cb-demo-content { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; height: 100vh; } .cb-demo-container { padding: 0 20px; } @media (min-width: 1600px) { .cb-demo-container { padding: 0 120px; } } .cb-demo-row { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; text-align: center; margin: 30px 0; } @media (min-width: 1600px) { .cb-demo-row { margin: 60px 0; } } .cb-demo-item { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -moz-box-flex: 1; -ms-flex: 1; flex: 1; padding: 50px 30px; margin: 0 20px; color: #000; } @media (min-width: 1600px) { .cb-demo-item { padding: 90px 30px; margin: 0 30px; } } .cb-demo-item-title { position: relative; margin: 0 0 25px 0; font-size: 30px; font-weight: bold; } .cb-demo-item-text { position: relative; max-width: 70%; margin: 0 auto; color: rgba(0, 0, 0, 0.5); font-size: 16px; font-weight: 300; line-height: 150%; } .cb-demo-item:before { content: ""; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; -webkit-border-radius: 30px; -moz-border-radius: 30px; border-radius: 30px; background: #f8f8f8; -webkit-transition: -webkit-box-shadow 0.2s; transition: -webkit-box-shadow 0.2s; -o-transition: box-shadow 0.2s; -moz-transition: box-shadow 0.2s, -moz-box-shadow 0.2s; transition: box-shadow 0.2s; transition: box-shadow 0.2s, -webkit-box-shadow 0.2s, -moz-box-shadow 0.2s; }