UNPKG

roobie

Version:

A collection of CSS classes to keep you writing business logic in your HTML. Easily build maintainable web & mobile applications with 100s of pre-built CSS classes at your fingertips.

2,834 lines (2,455 loc) 81.7 kB
.aln-cnt-center { align-content: center; } .aln-cnt-between { align-content: space-between; } .aln-cnt-around { align-content: space-around; } .aln-cnt-start { align-content: flex-start; } .aln-cnt-end { align-content: flex-end; } .aln-cnt-base { align-content: baseline; } .aln-cnt-stretch { align-content: stretch; }.aln-center { align-items: center; } .aln-between { align-items: space-between; } .aln-around { align-items: space-around; } .aln-start { align-items: flex-start; } .aln-end { align-items: flex-end; } .aln-base { align-items: baseline; } .aln-stretch { align-items: stretch; }.aln-self-center { align-self: center; } .aln-self-between { align-self: space-between; } .aln-self-around { align-self: space-around; } .aln-self-start { align-self: flex-start; } .aln-self-end { align-self: flex-end; } .aln-self-base { align-self: baseline; } .aln-self-stretch { align-self: stretch; }.center { justify-content: center; align-items: center; }.diva, .div10, .div20, .div25, .div33, .div40, .div50, .div60, .div66, .div75, .div80, .div90, .div100 { height: auto !important; padding: var(--pad2); } .diva { width: auto !important; } .div10 { width: 10% !important; } .div20 { width: 20% !important; } .div25 { width: 25% !important; } .div33 { width: 33.33% !important; } .div40 { width: 40% !important; } .div50 { width: 50% !important; } .div60 { width: 60% !important; } .div66 { width: 66.66% !important; } .div75 { width: 75% !important; } .div80 { width: 80% !important; } .div90 { width: 90% !important; } .div100 { width: 100% !important; } .div { width: 100% !important; height: auto !important; }/* Column */ .col { display: flex; flex-direction: column; } .colr { display: flex; flex-direction: column-reverse; } /* Row */ .row { display: flex; flex-direction: row; } .rowr { display: flex; flex-direction: row-reverse; } .show { display: inline-flex; } .hide { display: none; } /* Base */ .flx { display: flex; } .grid { display: grid; } .blk { display: block; } .inl { display: inline; } .inl-blk { display: inline-block; } .inl-flx { display: inline-flex; }.wrp { flex-wrap: wrap; } .wrpr { flex-wrap: wrap-reverse; } .wrp0 { flex-wrap: nowrap; }.fltl { float: left; } .fltr { float: right; } .flt0 { float: none; } .flti { float: inherit; }.hta { height: auto !important; } .ht10 { height: 10% !important; } .ht20 { height: 20% !important; } .ht25 { height: 25% !important; } .ht33 { height: 33.33% !important; } .ht40 { height: 40% !important; } .ht50 { height: 50% !important; } .ht60 { height: 60% !important; } .ht66 { height: 66.66% !important; } .ht75 { height: 75% !important; } .ht80 { height: 80% !important; } .ht90 { height: 90% !important; } .ht100, .ht { height: 100% !important; }.jst-center { justify-content: center; } .jst-between { justify-content: space-between; } .jst-around { justify-content: space-around; } .jst-start { justify-content: flex-start; } .jst-end { justify-content: flex-end; } .jst-base { justify-content: baseline; } .jst-stretch { justify-content: stretch; }.order-first { order: -1; }.sticky { position: sticky; } .fixed { position: fixed; } .relative { position: relative; } .absolute { position: absolute; } .static { position: static; }.accordion { width: 100%; background-color: var(--bg1); } /* Header that triggers hidden content */ .accordion-header { background-color: transparent; color: var(--t2); cursor: pointer; padding: var(--pad5); width: 100%; border: var(--bdr1); outline: none; text-align: left; font-size: var(--fnts3); transition: 0.3s ease-in-out; } .accordion-header:hover { background-color: rgba(114, 114, 114, 0.05); } /* Icon in header */ .accordion-header:after { content: "\003E"; float: right; font-family: var(--fntf1); font-size: var(--fnts4); margin-top: -5px; color: var(--t2); transition: 0.3s ease-in-out; transform: scale(1, 1.5); } .accordion-header.accordion-active { background-color: var(--bg1); border: var(--bdr1); } .accordion-header.accordion-active:after { content: "\003E"; transform: rotate(90deg) scale(1, 1.5); } /* Hidden content */ .accordion-panel { background-color: var(--bg2); display: none; padding: var(--pad4); overflow: hidden; animation-name: fade; animation-duration: 0.3s; box-shadow: var(--in1); }.alert { display: flex; align-items: center; justify-content: space-between; border-radius: var(--br3); padding: var(--pad4); margin: var(--mrg1); background-color: var(--bg2); } .alert:after { align-self: flex-end; content: "\2715"; color: var(--t1); font-family: var(--fntf1); font-size: var(--fnts4); cursor: pointer; } /* Modifiers */ .alert-primary { background-color: var(--primary); } .alert-secondary { background-color: var(--secondary); } .alert-outline { border: var(--bdr1); } .alert-success { background-color: var(--success); color: var(--black); } .alert-warning { background-color: var(--warning); color: var(--black); } .alert-danger { background-color: var(--danger); color: var(--black); } .alert-info { background-color: var(--info); color: var(--black); }.btn { width: auto; height: auto; padding: var(--pad3); text-decoration: none; border-radius: var(--br2); margin: var(--mrg1); cursor: pointer; color: var(--t2); display: inline-flex; justify-content: center; align-items: center; border: none; font-size: var(--fnts3); font-family: var(--fntf1); background-color: var(--bg1); } .btn:hover { background-color: currentBackgroundColor; filter: brightness(95%); } /* Modifiers */ .btn-primary { background-color: var(--primary); } .btn-secondary { background-color: var(--secondary); } .btn-outline { border: var(--bdr1); } .btn-success { background-color: var(--success); color: var(--black); } .btn-warning { background-color: var(--warning); color: var(--black); } .btn-danger { background-color: var(--danger); color: var(--black); } .btn-info { background-color: var(--info); color: var(--black); }.card { display: flex; flex-flow: column nowrap; border-radius: var(--br2); border: var(--bdr1); padding: var(--pad4); margin: var(--mrg2); } .card-title {} .card-subtitle {} .card-content { margin: var(--mrg2) 0; width: 100%; flex: 1; } .card-actions { display: flex; flex-flow: row wrap; justify-content: flex-end; }.carousel { position: relative; display: flex; flex-flow: column nowrap; margin: var(--mrg2); text-align: center; border-radius: var(--br2); } .carousel-slide { display: none; background-color: var(--bg3); animation-name: fade; animation-duration: var(--animation-duration); height: 100%; } .carousel-active { background-color: var(--bg1) !important; border: var(--bdr1); } .carousel-previous, .carousel-next { cursor: pointer; position: absolute; top: 50%; transform: translate(0, -50%); padding: var(--pad3); color: var(--t1); background-color: var(--bg1); font-weight: bold; font-size: var(--fnts4); transition: 0.6s ease; border-radius: 0 var(--br2) var(--br2) 0; user-select: none; } .carousel-next { right: 0; border-radius: var(--br2) 0 0 var(--br2); } .carousel-previous:hover, .carousel-next:hover { background-color: var(--bg3); opacity: 90%; } /* Caption text */ .carousel-info { color: var(--t2); font-size: var(--fnts4); position: absolute; bottom: 20px; width: 100%; text-align: center; } /* Indicators of active slide */ .carousel-indicators { position: absolute; bottom: 0; width: 100%; } .carousel-indicators span { cursor: pointer; height: 10px; width: 50px; margin: 0 2px; background-color: var(--bg2); transition: background-color 0.6s ease; display: inline-block; box-shadow: var(--in); } .carousel-indicators span:hover { background-color: var(--bg6); } @media screen and (max-width: 800px) { .carousel, .carousel-slide { width: 100% !important; } }.chip, .chiph { display: inline-flex; width: auto; height: auto; border: 1px solid transparent; padding: 1px var(--pad3); border: var(--bdr1); border-radius: var(--br6); margin: var(--mrg1); font-size: var(--fnts3); color: var(--t3); background-color: var(--bg2); } .chiph:hover { box-shadow: var(--box1); cursor: default; opacity: 90%; }.drp { font-size: var(--fnts3); position: relative; } .drp:focus .drp-cnt, .drp:hover .drp-cnt { display: block; animation-name: fade; animation-duration: .5s; } .drp-btn { width: auto; height: auto; padding: var(--pad2); text-decoration: none; border-radius: var(--br3); margin: var(--mrg1); cursor: pointer; color: var(--t2); } .drp-btn:hover { opacity: 90%; } .drp-cnt { display: none; position: absolute; top: 100%; left: 0; background-color: var(--bg1); min-width: var(--drp-min-width); width: auto; box-shadow: var(--box2); border-radius: var(--br2); font-size: var(--fnts3); z-index: 10; } .drp-title { margin: 0; padding: var(--pad2); color: var(--t1); } .drp-cnt p { margin-top: 0; font-size: var(--fnts2); color: var(--t5); } .drp-cnt a { padding: var(--pad3); color: var(--t1); display: block; margin: 0; border-radius: var(--br2); } .drp-cnt a:hover { background-color: var(--bg2); cursor: pointer; }.emphasis { background-color: var(--bg2); color: var(--t2); border-radius: var(--br2); padding: var(--pad3); margin: var(--mrg1); border-left: 5px solid var(--bg3); } /* Modifiers */ .emphasis-primary { border-color: var(--primary); } .emphasis-secondary { border-color: var(--secondary); } .emphasis-success { border-color: var(--success); } .emphasis-warning { border-color: var(--warning); } .emphasis-danger { border-color: var(--danger); } .emphasis-info { border-color: var(--info); }.icon { width: 20px; height: 20px; } .icon-trash { content: url(icons/trash.svg) } .icon-plus { content: url(icons/plus.svg) } .icon-minus { content: url(icons/minus.svg) } .icon-heart-empty { content: url(icons/heart-empty.svg) } .icon-heart { content: url(icons/heart.svg); } .icon-mail { content: url(icons/mail.svg) } .icon-search { content: url(icons/search.svg) } .icon-star-empty { content: url(icons/star-empty.svg) } .icon-star { content: url(icons/star.svg) } .icon-user { content: url(icons/user.svg) } .icon-phone { content: url(icons/phone.svg) } .icon-attach { content: url(icons/attach.svg) } .icon-right { content: url(icons/right.svg) } .icon-left { content: url(icons/left.svg) } .icon-cog-2 { content: url(icons/cog.svg) } .icon-help { content: url(icons/help.svg) } .icon-facebook { content: url(icons/facebook.svg) } .icon-linkedin { content: url(icons/linkedin.svg) } .icon-left-open { content: url(icons/left-open.svg) } .icon-ok { content: url(icons/ok.svg) } .icon-cancel { content: url(icons/cancel.svg) } .icon-right-open { content: url(icons/right-open.svg) } .icon-up-open { content: url(icons/up-open.svg) } .icon-down-open { content: url(icons/down-open.svg) } .icon-pause { content: url(icons/pause.svg) } .icon-stop { content: url(icons/stop.svg) } .icon-play { content: url(icons/play.svg) } .icon-cw { content: url(icons/cw.svg) } .icon-up { content: url(icons/up.svg) } .icon-down { content: url(icons/down.svg) } .icon-zoom-in { content: url(icons/zoom-in.svg) } .icon-zoom-out { content: url(icons/zoom-out.svg) } .icon-eject { content: url(icons/eject.svg) } .icon-align-right { content: url(icons/align-right.svg) } .icon-align-center { content: url(icons/align-center.svg); } .icon-align-left { content: url(icons/align-left.svg) } .icon-align-justify { content: url(icons/align-justify.svg) } .icon-github-text { content: url(icons/github-text.svg) } .icon-github { content: url(icons/github.svg) } .icon-flag { content: url(icons/flag.svg) } .icon-location { content: url(icons/location.svg) } .icon-thumbs-down { content: url(icons/thumbs-down.svg) } .icon-thumbs-up { content: url(icons/thumbs-up.svg) } .icon-bell { content: url(icons/bell.svg) } .icon-comment { content: url(icons/comment.svg) } .icon-apps { content: url(icons/apps.svg) } .icon-list { content: url(icons/list.svg) } .icon-menu { content: url(icons/menu.svg) } .icon-menu-outline { content: url(icons/menu-outline.svg) } .icon-camera { content: url(icons/camera.svg) }.input { display: inline-flex; width: 250px; padding: var(--pad3); background-color: var(--bg2); border-radius: var(--br4); margin: var(--mrg1); font-size: var(--fnts4); font: 500 var(--fnts3) var(--fntf1); border: none; color: var(--t2); transition: width 0.5s ease-in-out; } input:focus, textarea:focus, select:focus { outline-offset: 0px !important; outline: none !important; } .input-outline { border: var(--bdr2) !important; } .input-expand:focus { width: 500px; } /* Chrome, Firefox, Opera, Safari 10.1+ */ ::placeholder { color: var(--t5); opacity: 1; } /* Internet Explorer 10-11 */ :-ms-input-placeholder { color: var(--t5); } /* Microsoft Edge */ ::-ms-input-placeholder { color: var(--t5); } @media screen and (max-width: 800px) { .input { width: 100% !important; } }.ul, .ul-cnt { list-style-type: none; width: auto; padding-inline-start: 0; margin: var(--mrg2); padding: 0; border-radius: var(--br2); } .ul li { color: var(--t5); text-decoration: none; height: auto; padding: var(--pad3); background-color: var(--bg2); display: flex; flex-flow: column nowrap; cursor: pointer; } .ul-cnt li { color: var(--t5); text-decoration: none; height: auto; padding: var(--pad4); background-color: var(--bg2); display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: center; } .ul-cnt li a { margin: var(--mrg2) 0; } .ul li span { font-size: var(--fnts2); color: var(--t5); } .ul li+li, .ul-cnt li+li { border-top: var(--bdr2); } .ul li:hover, .ul-cnt li:hover { color: var(--t1); }nav { background-color: var(--bg1); } .nav-top { top: 0; left: 0; right: 0; height: auto; } .nav-row { width: 100%; height: auto; display: flex; flex-direction: row; align-items: center; } .nav-col { height: 100%; width: auto; display: flex; flex-direction: column; } .nav-title { margin: var(--mrg4); font-size: var(--fnts4); color: var(--t1); font-weight: bold; text-decoration: none; } .nav-heading { margin: var(--mrg2); margin-bottom: 0; font-size: var(--fnts3); color: var(--t1); } .nav-item { padding: var(--pad3); text-decoration: none; color: var(--t2); cursor: pointer; } .nav-item:hover { filter: opacity(80%); }.path { display: inline-flex; list-style-type: none; width: auto; padding-inline-start: 0; margin: var(--mrg2); } .path-item { color: var(--a1); } .path-item:hover { cursor: pointer; color: var(--t1); } .path-item+.path-item::before { content: var(--path-divider); margin: 0 var(--mrg2); color: var(--t5); cursor: text; }.select { position: relative; font-family: Arial; margin: var(--mrg1); width: 200px; font-family: var(--fntf1); } /* Hide original select box */ .select select { display: none; } .select-selected { background-color: var(--primary); border-radius: var(--br2); } .is-selected, .select-items div:hover { background-color: var(--primary); filter: brightness(120%); } /* Style the arrow inside the select element: */ .select-selected:after { position: absolute; content: ""; top: 16px; right: 10px; width: 0; height: 0; border: 5px solid transparent; border-color: var(--t1) transparent transparent transparent; } /* Point the arrow upwards when the select box is open (active): */ .select-selected.select-active:after { border-color: transparent transparent var(--t1) transparent; top: 10px; } /* style the items (options), including the select-selected item: */ .select-items div, .select-selected { color: var(--t1); padding: 8px 16px; border: 1px solid transparent; border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent; cursor: pointer; } /* Style items (options): */ .select-items { position: absolute; background-color: var(--primary); top: 100%; left: 0; right: 0; z-index: var(--z6); border-radius: var(--br2); }.table { width: auto !important; border: var(--bdr1); } .table th, .table tr, .table td { border: none; } .table th { color: var(--t1); background-color: var(--bg4); } .table td { color: var(--t3); } .table tr:nth-child(even) { background-color: var(--bg1); } .table tr:nth-child(odd) { background-color: var(--bg2); }/* The toggle - Area around the slider */ .toggle { position: relative; display: inline-block; width: 45px; } /* Hide default HTML checkbox */ .toggle input { opacity: 0; width: 0; height: 0; } /* The slider that moves back and forth */ .toggle .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: var(--bg5); transition: .4s; box-shadow: var(--in1); } .toggle .slider:before { position: absolute; content: ""; height: 22px; width: 22px; left: 0; bottom: -1px; background-color: var(--t1); transition: .4s; } /* Move and change color when checked */ .toggle input:checked+.slider { background-color: var(--primary); box-shadow: var(--in1); } .toggle input:checked+.slider:before { -webkit-transform: translateX(23px); -ms-transform: translateX(23px); transform: translateX(23px); } /* Rounded sliders */ .toggle .slider.round { border-radius: 34px; } .toggle .slider.round:before { border-radius: 50%; }.tooltip-text { visibility: hidden; min-width: 120px; background-color: var(--bg2); text-align: center; padding: var(--pad2) 0; border-radius: var(--br3); position: absolute; z-index: 1; pointer-events: none; } .tooltip-right { top: -10px; left: 105%; } .tooltip-left { top: -10px; right: 105%; } .tooltip-top { width: 120px; bottom: 100%; left: 50%; margin-left: -60px; } .tooltip-bottom { width: 120px; top: 100%; left: 50%; margin-left: -60px; } .tooltipt-top::after { content: " "; position: absolute; top: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: var(--bg2) transparent transparent transparent; } .tooltip-bottom::after { content: " "; position: absolute; bottom: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: transparent transparent var(--bg2) transparent; } .tooltip-left::after { content: " "; position: absolute; top: 50%; left: 100%; margin-top: -5px; border-width: 5px; border-style: solid; border-color: transparent transparent transparent var(--bg2); } .tooltip-right::after { content: " "; position: absolute; top: 50%; right: 100%; margin-top: -5px; border-width: 5px; border-style: solid; border-color: transparent var(--bg2) transparent transparent; }._inf { animation-iteration-count: infinite; }@keyframes backb { 0% { transform: translateY(1200px) scale(0.7); opacity: 0.7; } 80% { transform: translateY(0px) scale(0.7); opacity: 0.7; } 100% { transform: scale(1); opacity: 1; } } ._backb { animation-name: backb; animation-duration: var(--animation-duration); } @keyframes backoutb { 0% { transform: scale(1); opacity: 1; } 20% { transform: translateY(0px) scale(0.7); opacity: 0.7; } 100% { transform: translateY(700px) scale(0.7); opacity: 0.7; } } ._backoutb { animation-name: backoutb; animation-duration: var(--animation-duration); }@keyframes backl { 0% { transform: translateX(-2000px) scale(0.7); opacity: 0.7; } 80% { transform: translateX(0px) scale(0.7); opacity: 0.7; } 100% { transform: scale(1); opacity: 1; } } ._backl { animation-name: backl; animation-duration: var(--animation-duration); } @keyframes backoutl { 0% { transform: scale(1); opacity: 1; } 20% { transform: translateX(0px) scale(0.7); opacity: 0.7; } 100% { transform: translateX(-2000px) scale(0.7); opacity: 0.7; } } ._backoutl { animation-name: backoutl; animation-duration: var(--animation-duration); }@keyframes backr { 0% { transform: translateX(2000px) scale(0.7); opacity: 0.7; } 80% { transform: translateX(0px) scale(0.7); opacity: 0.7; } 100% { transform: scale(1); opacity: 1; } } ._backr { animation-name: backr; animation-duration: var(--animation-duration); } @keyframes backoutr { 0% { transform: scale(1); opacity: 1; } 20% { transform: translateX(0px) scale(0.7); opacity: 0.7; } 100% { transform: translateX(2000px) scale(0.7); opacity: 0.7; } } ._backoutr { animation-name: backoutr; animation-duration: var(--animation-duration); }@keyframes backt { 0% { transform: translateY(-1200px) scale(0.7); opacity: 0.7; } 80% { transform: translateY(0px) scale(0.7); opacity: 0.7; } 100% { transform: scale(1); opacity: 1; } } ._backt { animation-name: backt; animation-duration: var(--animation-duration); } @keyframes backoutt { 0% { transform: scale(1); opacity: 1; } 20% { transform: translateY(0px) scale(0.7); opacity: 0.7; } 100% { transform: translateY(-700px) scale(0.7); opacity: 0.7; } } ._backoutt { animation-name: backoutt; animation-duration: var(--animation-duration); }@keyframes bounceb { from, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } from { opacity: 0; transform: translate3d(0, 3000px, 0) scaleY(5); } 60% { opacity: 1; transform: translate3d(0, -20px, 0) scaleY(0.9); } 75% { transform: translate3d(0, 10px, 0) scaleY(0.95); } 90% { transform: translate3d(0, -5px, 0) scaleY(0.985); } to { transform: translate3d(0, 0, 0); } } ._bounceb { animation-name: bounceb; animation-duration: var(--animation-duration); } @keyframes bounceoutb { 20% { transform: translate3d(0, 10px, 0) scaleY(0.985); } 40%, 45% { opacity: 1; transform: translate3d(0, -20px, 0) scaleY(0.9); } to { opacity: 0; transform: translate3d(0, 2000px, 0) scaleY(3); } } ._bounceoutb { animation-name: bounceoutb; animation-duration: var(--animation-duration); }@keyframes bouncel { from, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } 0% { opacity: 0; transform: translate3d(-3000px, 0, 0) scaleX(3); } 60% { opacity: 1; transform: translate3d(25px, 0, 0) scaleX(1); } 75% { transform: translate3d(-10px, 0, 0) scaleX(0.98); } 90% { transform: translate3d(5px, 0, 0) scaleX(0.995); } to { transform: translate3d(0, 0, 0); } } ._bouncel { animation-name: bouncel; animation-duration: var(--animation-duration); } @keyframes bounceoutl { 20% { opacity: 1; transform: translate3d(20px, 0, 0) scaleX(0.9); } to { opacity: 0; transform: translate3d(-2000px, 0, 0) scaleX(2); } } ._bounceoutl { animation-name: bounceoutl; animation-duration: var(--animation-duration); }@keyframes bouncer { from, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } from { opacity: 0; transform: translate3d(3000px, 0, 0) scaleX(3); } 60% { opacity: 1; transform: translate3d(-25px, 0, 0) scaleX(1); } 75% { transform: translate3d(10px, 0, 0) scaleX(0.98); } 90% { transform: translate3d(-5px, 0, 0) scaleX(0.995); } to { transform: translate3d(0, 0, 0); } } ._bouncer { animation-name: bouncer; animation-duration: var(--animation-duration); } @keyframes bounceoutr { 20% { opacity: 1; transform: translate3d(-20px, 0, 0) scaleX(0.9); } to { opacity: 0; transform: translate3d(2000px, 0, 0) scaleX(2); } } ._bounceoutr { animation-name: bounceoutr; animation-duration: var(--animation-duration); }@keyframes bouncet { from, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } 0% { opacity: 0; transform: translate3d(0, -3000px, 0) scaleY(3); } 60% { opacity: 1; transform: translate3d(0, 25px, 0) scaleY(0.9); } 75% { transform: translate3d(0, -10px, 0) scaleY(0.95); } 90% { transform: translate3d(0, 5px, 0) scaleY(0.985); } to { transform: translate3d(0, 0, 0); } } ._bouncet { animation-name: bouncet; animation-duration: var(--animation-duration); } @keyframes bounceoutt { 20% { transform: translate3d(0, -10px, 0) scaleY(0.985); } 40%, 45% { opacity: 1; transform: translate3d(0, 20px, 0) scaleY(0.9); } to { opacity: 0; transform: translate3d(0, -2000px, 0) scaleY(3); } } ._bounceoutt { animation-name: bounceoutt; animation-duration: var(--animation-duration); }@keyframes bounce { from, 20%, 40%, 60%, 80%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } 0% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); } 20% { transform: scale3d(1.1, 1.1, 1.1); } 40% { transform: scale3d(0.9, 0.9, 0.9); } 60% { opacity: 1; transform: scale3d(1.03, 1.03, 1.03); } 80% { transform: scale3d(0.97, 0.97, 0.97); } to { opacity: 1; transform: scale3d(1, 1, 1); } } ._bounce { animation-duration: calc(var(--animation-duration) * 0.75); animation-name: bounce; } @keyframes bounceout { 20% { transform: scale3d(0.9, 0.9, 0.9); } 50%, 55% { opacity: 1; transform: scale3d(1.1, 1.1, 1.1); } to { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); } } ._bounceout { animation-duration: calc(var(--animation-duration) * 0.75); animation-name: bounceout; }@keyframes fadebl { from { opacity: 0; transform: translate3d(-100%, 100%, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } ._fadebl { animation-name: fadebl; animation-duration: var(--animation-duration); } @keyframes fadeoutbl { from { opacity: 1; transform: translate3d(0, 0, 0); } to { opacity: 0; transform: translate3d(-100%, 100%, 0); } } ._fadeoutbl { animation-name: fadeoutbl; animation-duration: var(--animation-duration); }@keyframes fadebplus { from { opacity: 0; transform: translate3d(0, 2000px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } ._fadebplus { animation-name: fadebplus; animation-duration: var(--animation-duration); } @keyframes fadeoutbplus { from { opacity: 1; } to { opacity: 0; transform: translate3d(0, -2000px, 0); } } ._fadeoutbplus { animation-name: fadeoutbplus; animation-duration: var(--animation-duration); }@keyframes fadebr { from { opacity: 0; transform: translate3d(100%, 100%, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } ._fadebr { animation-name: fadebr; animation-duration: var(--animation-duration); } @keyframes fadeoutbr { from { opacity: 1; transform: translate3d(0, 0, 0); } to { opacity: 0; transform: translate3d(100%, 100%, 0); } } ._fadeoutbr { animation-name: fadeoutbr; animation-duration: var(--animation-duration); }@keyframes fadeb { from { opacity: 0; transform: translate3d(0, 100%, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } ._fadeb { animation-name: fadeb; animation-duration: var(--animation-duration); } @keyframes fadeoutb { from { opacity: 1; } to { opacity: 0; transform: translate3d(0, -100%, 0); } } ._fadeoutb { animation-name: fadeoutb; animation-duration: var(--animation-duration); }@keyframes fadelplus { from { opacity: 0; transform: translate3d(-2000px, 0, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } ._fadelplus { animation-name: fadelplus; animation-duration: var(--animation-duration); } @keyframes fadeoutlplus { from { opacity: 1; } to { opacity: 0; transform: translate3d(-2000px, 0, 0); } } ._fadeoutlplus { animation-name: fadeoutlplus; animation-duration: var(--animation-duration); }@keyframes fadel { from { opacity: 0; transform: translate3d(-100%, 0, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } ._fadel { animation-name: fadel; animation-duration: var(--animation-duration); } @keyframes fadeoutl { from { opacity: 1; } to { opacity: 0; transform: translate3d(-100%, 0, 0); } } ._fadeoutl { animation-name: fadeoutl; animation-duration: var(--animation-duration); }@keyframes faderplus { from { opacity: 0; transform: translate3d(2000px, 0, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } ._faderplus { animation-name: faderplus; animation-duration: var(--animation-duration); } @keyframes fadeoutrplus { from { opacity: 1; } to { opacity: 0; transform: translate3d(2000px, 0, 0); } } ._fadeoutrplus { animation-name: fadeoutrplus; animation-duration: var(--animation-duration); }@keyframes fader { from { opacity: 0; transform: translate3d(100%, 0, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } ._fader { animation-name: fader; animation-duration: var(--animation-duration); } @keyframes fadeoutr { from { opacity: 1; } to { opacity: 0; transform: translate3d(100%, 0, 0); } } ._fadeoutr { animation-name: fadeoutr; animation-duration: var(--animation-duration); }@keyframes fadetl { from { opacity: 0; transform: translate3d(-100%, -100%, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } ._fadetl { animation-name: fadetl; animation-duration: var(--animation-duration); } @keyframes fadeouttl { from { opacity: 1; transform: translate3d(0, 0, 0); } to { opacity: 0; transform: translate3d(-100%, -100%, 0); } } ._fadeouttl { animation-name: fadeouttl; animation-duration: var(--animation-duration); }@keyframes fadetplus { from { opacity: 0; transform: translate3d(0, -2000px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } ._fadetplus { animation-name: fadetplus; animation-duration: var(--animation-duration); } @keyframes fadeouttplus { from { opacity: 1; } to { opacity: 0; transform: translate3d(0, 2000px, 0); } } ._fadeouttplus { animation-name: fadeouttplus; animation-duration: var(--animation-duration); }@keyframes fadetr { from { opacity: 0; transform: translate3d(100%, -100%, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } ._fadetr { animation-name: fadetr; animation-duration: var(--animation-duration); } @keyframes fadeouttr { from { opacity: 1; transform: translate3d(0, 0, 0); } to { opacity: 0; transform: translate3d(100%, -100%, 0); } } ._fadeouttr { animation-name: fadeouttr; animation-duration: var(--animation-duration); }@keyframes fadet { from { opacity: 0; transform: translate3d(0, -100%, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } ._fadet { animation-name: fadet; animation-duration: var(--animation-duration); } @keyframes fadeoutt { from { opacity: 1; } to { opacity: 0; transform: translate3d(0, 100%, 0); } } ._fadeoutt { animation-name: fadeoutt; animation-duration: var(--animation-duration); }@keyframes fade { from { opacity: 0; } to { opacity: 1; } } ._fade { animation-name: fade; animation-duration: var(--animation-duration); } @keyframes fadeout { from { opacity: 1; } to { opacity: 0; } } ._fadeout { animation-name: fadeout; animation-duration: var(--animation-duration); }@keyframes flip { from { transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg); animation-timing-function: ease-out; } 40% { transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); animation-timing-function: ease-out; } 50% { transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); animation-timing-function: ease-in; } 80% { transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); animation-timing-function: ease-in; } to { transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); animation-timing-function: ease-in; } } ._flip { backface-visibility: visible; animation-name: flip; animation-duration: var(--animation-duration); }@keyframes fliph { from { transform: perspective(400px) rotate3d(0, 1, 0, 90deg); animation-timing-function: ease-in; opacity: 0; } 40% { transform: perspective(400px) rotate3d(0, 1, 0, -20deg); animation-timing-function: ease-in; } 60% { transform: perspective(400px) rotate3d(0, 1, 0, 10deg); opacity: 1; } 80% { transform: perspective(400px) rotate3d(0, 1, 0, -5deg); } to { transform: perspective(400px); } } ._fliph { backface-visibility: visible !important; animation-name: fliph; animation-duration: var(--animation-duration); } @keyframes flipouth { from { transform: perspective(400px); } 30% { transform: perspective(400px) rotate3d(0, 1, 0, -15deg); opacity: 1; } to { transform: perspective(400px) rotate3d(0, 1, 0, 90deg); opacity: 0; } } ._flipouth { animation-duration: calc(var(--animation-duration) * 0.75); backface-visibility: visible !important; animation-name: flipouth; }@keyframes flipv { from { transform: perspective(400px) rotate3d(1, 0, 0, 90deg); animation-timing-function: ease-in; opacity: 0; } 40% { transform: perspective(400px) rotate3d(1, 0, 0, -20deg); animation-timing-function: ease-in; } 60% { transform: perspective(400px) rotate3d(1, 0, 0, 10deg); opacity: 1; } 80% { transform: perspective(400px) rotate3d(1, 0, 0, -5deg); } to { transform: perspective(400px); } } ._flipv { backface-visibility: visible !important; animation-name: flipv; animation-duration: var(--animation-duration); } @keyframes flipoutv { from { transform: perspective(400px); } 30% { transform: perspective(400px) rotate3d(1, 0, 0, -20deg); opacity: 1; } to { transform: perspective(400px) rotate3d(1, 0, 0, 90deg); opacity: 0; } } ._flipoutv { animation-duration: calc(var(--animation-duration) * 0.75); animation-name: flipoutv; backface-visibility: visible !important; }@keyframes hoverh { 0% { transform: translateX(0) } 25% { transform: translateX(-100px) } 50% { transform: translateX(0) } 75% { transform: translateX(100px) } 100% { transform: translateX(0) } } ._hoverh { animation: hoverh 30s linear infinite; } @keyframes hoverv { 0% { transform: translateY(0) } 25% { transform: translateY(-100px) } 50% { transform: translateY(0) } 75% { transform: translateY(100px) } 100% { transform: translateY(0) } } ._hoverv { animation: hoverv 30s linear infinite; }@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } ._spin { animation: spin 30s linear infinite; }@keyframes flash { from, 50%, to { opacity: 1; } 25%, 75% { opacity: 0; } } ._flash { animation-name: flash; animation-duration: var(--animation-duration); }@keyframes glow { 10% { opacity: .9; } 20% { opacity: .7; } 30% { opacity: .5; } 40% { opacity: .3; } 50% { opacity: 0; } 60% { opacity: .3; } 70% { opacity: .5; } 80% { opacity: .7; } 90% { opacity: .9; } 100% { opacity: 1; } } ._glow { animation-name: glow; animation-duration: var(--animation-duration); }@keyframes heartbeat { 0% { transform: scale(1); } 14% { transform: scale(1.3); } 28% { transform: scale(1); } 42% { transform: scale(1.3); } 70% { transform: scale(1); } } ._heartbeat { animation-name: heartbeat; animation-duration: calc(var(--animation-duration) * 1.3); animation-timing-function: ease-in-out; }@keyframes hinge { 0% { animation-timing-function: ease-in-out; } 20%, 60% { transform: rotate3d(0, 0, 1, 80deg); animation-timing-function: ease-in-out; } 40%, 80% { transform: rotate3d(0, 0, 1, 60deg); animation-timing-function: ease-in-out; opacity: 1; } to { transform: translate3d(0, 700px, 0); opacity: 0; } } ._hinge { animation-duration: calc(var(--animation-duration) * 2); animation-name: hinge; transform-origin: top left; }@keyframes jello { from, 11.1%, to { transform: translate3d(0, 0, 0); } 22.2% { transform: skewX(-12.5deg) skewY(-12.5deg); } 33.3% { transform: skewX(6.25deg) skewY(6.25deg); } 44.4% { transform: skewX(-3.125deg) skewY(-3.125deg); } 55.5% { transform: skewX(1.5625deg) skewY(1.5625deg); } 66.6% { transform: skewX(-0.78125deg) skewY(-0.78125deg); } 77.7% { transform: skewX(0.390625deg) skewY(0.390625deg); } 88.8% { transform: skewX(-0.1953125deg) skewY(-0.1953125deg); } } ._jello { animation-name: jello; transform-origin: center; animation-duration: var(--animation-duration); }@keyframes pop { from { transform: scale3d(1, 1, 1); } 10%, 20% { transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); } 30%, 50%, 70%, 90% { transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); } 40%, 60%, 80% { transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); } to { transform: scale3d(1, 1, 1); } } ._pop { animation-name: pop; animation-duration: var(--animation-duration); }@keyframes pulse { from { transform: scale3d(1, 1, 1); } 50% { transform: scale3d(1.05, 1.05, 1.05); } to { transform: scale3d(1, 1, 1); } } ._pulse { animation-name: pulse; animation-timing-function: ease-in-out; animation-duration: var(--animation-duration); }@keyframes rabid { from { opacity: 0; transform: scale(0.1) rotate(30deg); transform-origin: center bottom; } 50% { transform: rotate(-10deg); } 70% { transform: rotate(3deg); } to { opacity: 1; transform: scale(1); } } ._rabid { animation-name: rabid; animation-duration: var(--animation-duration); }@keyframes rollout { from { opacity: 1; } to { opacity: 0; transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } } ._rollout { animation-name: rollout; animation-duration: var(--animation-duration); }@keyframes roll { from { opacity: 0; transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); } to { opacity: 1; transform: translate3d(0, 0, 0); } } ._roll { animation-name: roll; animation-duration: var(--animation-duration); }@keyframes rotate { from { transform: rotate3d(0, 0, 1, -200deg); opacity: 0; } to { transform: translate3d(0, 0, 0); opacity: 1; } } ._rotate { animation-name: rotate; transform-origin: center; animation-duration: var(--animation-duration); } @keyframes rotateout { from { opacity: 1; } to { transform: rotate3d(0, 0, 1, 200deg); opacity: 0; } } ._rotateout { animation-name: rotateout; transform-origin: center; animation-duration: var(--animation-duration); }@keyframes shake { 0% { transform: translateX(0); } 6.5% { transform: translateX(-6px) rotateY(-9deg); } 18.5% { transform: translateX(5px) rotateY(7deg); } 31.5% { transform: translateX(-3px) rotateY(-5deg); } 43.5% { transform: translateX(2px) rotateY(3deg); } 50% { transform: translateX(0); } } ._shake { animation-timing-function: ease-in-out; animation-name: shake; animation-duration: var(--animation-duration); }@keyframes stretch { from { transform: scale3d(1, 1, 1); } 30% { transform: scale3d(1.25, 0.75, 1); } 40% { transform: scale3d(0.75, 1.25, 1); } 50% { transform: scale3d(1.15, 0.85, 1); } 65% { transform: scale3d(0.95, 1.05, 1); } 75% { transform: scale3d(1.05, 0.95, 1); } to { transform: scale3d(1, 1, 1); } } ._stretch { animation-name: stretch; animation-duration: var(--animation-duration); }@keyframes swing { 20% { transform: rotate3d(0, 0, 1, 15deg); } 40% { transform: rotate3d(0, 0, 1, -10deg); } 60% { transform: rotate3d(0, 0, 1, 5deg); } 80% { transform: rotate3d(0, 0, 1, -5deg); } to { transform: rotate3d(0, 0, 1, 0deg); } } ._swing { transform-origin: top center; animation-name: swing; animation-duration: var(--animation-duration); }@keyframes wobble { from { transform: translate3d(0, 0, 0); } 15% { transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); } 30% { transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); } 45% { transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); } 60% { transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); } 75% { transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); } to { transform: translate3d(0, 0, 0); } } ._wobble { animation-name: wobble; animation-duration: var(--animation-duration); }@keyframes slideb { from { transform: translate3d(0, 100%, 0); visibility: visible; } to { transform: translate3d(0, 0, 0); } } ._slideb { animation-name: slideb; animation-duration: var(--animation-duration); } @keyframes slideoutb { from { transform: translate3d(0, 0, 0); } to { visibility: hidden; transform: translate3d(0, 100%, 0); } } ._slideoutb { animation-name: slideoutb; animation-duration: var(--animation-duration); }@keyframes slidel { from { transform: translate3d(-100%, 0, 0); visibility: visible; } to { transform: translate3d(0, 0, 0); } } ._slidel { animation-name: slidel; animation-duration: var(--animation-duration); } @keyframes slideoutl { from { transform: translate3d(0, 0, 0); } to { visibility: hidden; transform: translate3d(-100%, 0, 0); } } ._slideoutl { animation-name: slideoutl; animation-duration: var(--animation-duration); }@keyframes slider { from { transform: translate3d(100%, 0, 0); visibility: visible; } to { transform: translate3d(0, 0, 0); } } ._slider { animation-name: slider; animation-duration: var(--animation-duration); } @keyframes slideoutr { from { transform: translate3d(0, 0, 0); } to { visibility: hidden; transform: translate3d(100%, 0, 0); } } ._slideoutr { animation-name: slideoutr; animation-duration: var(--animation-duration); }@keyframes slidet { from { transform: translate3d(0, -100%, 0); visibility: visible; } to { transform: translate3d(0, 0, 0); } } ._slidet { animation-name: slidet; animation-duration: var(--animation-duration); } @keyframes slideoutt { from { transform: translate3d(0, 0, 0); } to { visibility: hidden; transform: translate3d(0, -100%, 0); } } ._slideoutt { animation-name: slideoutt; animation-duration: var(--animation-duration); }@keyframes zoomb { from { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } 60% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } } ._zoomb { animation-name: zoomb; animation-duration: var(--animation-duration); } @keyframes zoomoutb { 40% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } to { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } } ._zoomoutb { animation-name: zoomoutb; transform-origin: center bottom; animation-duration: var(--animation-duration); }@keyframes zooml { from { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } 60% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } } ._zooml { animation-name: zooml; animation-duration: var(--animation-duration); } @keyframes zoomoutl { 40% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); } to { opacity: 0; transform: scale(0.1) translate3d(-2000px, 0, 0); } } ._zoomoutl { animation-name: zoom