diff --git a/css/plugins.css b/css/plugins.css new file mode 100644 index 0000000000000000000000000000000000000000..911751d147f41f1c5c2dbb5d6ff3104f7a49c3b1 --- /dev/null +++ b/css/plugins.css @@ -0,0 +1,1044 @@ +/* + List of plugins + + 1. Base CSS (made by SRBThemes) + +*/ + +/*------------------------------------------------------------------*/ + +/* 1. Base CSS +/*------------------------------------------------------------------*/ + +a, +abbr, +acronym, +address, +applet, +b, +big, +blockquote, +body, +caption, +center, +cite, +code, +dd, +del, +dfn, +div, +dl, +dt, +em, +fieldset, +font, +form, +h1, +h2, +h3, +h4, +h5, +h6, +html, +i, +iframe, +ins, +kbd, +label, +legend, +li, +object, +ol, +p, +pre, +q, +s, +samp, +small, +span, +strike, +strong, +sub, +sup, +table, +tbody, +td, +tfoot, +th, +thead, +tr, +tt, +u, +ul, +var { + background: 0 0; + border: 0; + margin: 0; + padding: 0; + vertical-align: baseline; + outline: 0 +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section { + display: block +} + +blockquote { + quotes: none +} + +blockquote:after, +blockquote:before { + content: ''; + content: none +} + +ol, +ul { + margin: 30px +} + +ol li, +ul li { + margin-bottom: 5px +} + +img { + vertical-align: middle; + max-width: 100% +} + +iframe { + max-width: 100% +} + +del { + text-decoration: line-through +} + +a, +i { + -webkit-transition: all .3s ease; + -moz-transition: all .3s ease; + -ms-transition: all .3s ease; + -o-transition: all .3s ease; + transition: all .3s ease; + border: none +} + +a:hover { + text-decoration: none +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: 400; + margin-bottom: 20px +} + +h1 { + font-size: 45px +} + +h2 { + font-size: 36px +} + +h3 { + font-size: 30px +} + +h4 { + font-size: 24px +} + +h5 { + font-size: 20px +} + +h6 { + font-size: 16px +} + +table { + width: 100%; + max-width: 100%; + text-align: left; + border-collapse: collapse; + border-spacing: 0px; + margin-bottom: 15px; + color: var(--techwave-body-color); + border: 1px solid var(--techwave-border-color) +} + +table tr { + border: 1px solid var(--techwave-border-color) +} + +table th { + vertical-align: top; + color: var(--techwave-heading-color); + background: 0 0; + font-size: 16px; + font-weight: 400; + padding: 15px 10px; + border: 1px solid var(--techwave-border-color) +} + +table td { + vertical-align: top; + padding: 10px; + border: 1px solid var(--techwave-border-color) +} + +code, +pre { + padding: 10px; + border-left: 3px solid var(--techwave-main-color); + border-bottom: 1px solid transparent; + background: var(--techwave-some-a-bg-color); + overflow-x: auto; +} + +pre { + display: block; + word-break: break-all; + word-wrap: break-word +} + +pre code { + white-space: pre-wrap +} + +textarea { + outline: none; + font-size: 16px; + color: var(--techwave-heading-color); + resize: vertical; + font-family: var(--techwave-heading-font-family); + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + line-height: 1.4; + padding: 10px; + width: 100%; + border-radius: 5px; + border: 2px solid var(--techwave-border-color); + -webkit-transition: all .3s ease; + -moz-transition: all .3s ease; + -ms-transition: all .3s ease; + -o-transition: all .3s ease; + transition: all .3s ease; + background-color: transparent; +} + +.uneditable-input, +input[type=color], +input[type=date], +input[type=datetime-local], +input[type=datetime], +input[type=email], +input[type=month], +input[type=number], +input[type=password], +input[type=search], +input[type=tel], +input[type=text], +input[type=time], +input[type=url], +input[type=week] { + font-size: 16px; + min-width: 220px; + color: var(--techwave-heading-color); + letter-spacing: .5px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + font-family: var(--techwave-heading-font-family); + line-height: 1.6; + padding: 10px 20px; + height: 40px; + vertical-align: middle; + border: 2px solid var(--techwave-border-color); + -webkit-transition: all .3s ease; + -moz-transition: all .3s ease; + -ms-transition: all .3s ease; + -o-transition: all .3s ease; + transition: all .3s ease; + background-color: transparent; + border-radius: 20px; + outline: none; +} + +.uneditable-input:focus, +input[type=color]:focus, +input[type=date]:focus, +input[type=datetime-local]:focus, +input[type=datetime]:focus, +input[type=email]:focus, +input[type=month]:focus, +input[type=number]:focus, +input[type=password]:focus, +input[type=search]:focus, +input[type=tel]:focus, +input[type=text]:focus, +input[type=time]:focus, +input[type=url]:focus, +input[type=week]:focus, +textarea:focus { + border-color: var(--techwave-main-color); +} + +input[type=submit] { + padding: 13px 15px; + height: 40px; + line-height: 1; + text-transform: uppercase; + font-size: 13px; + font-weight: 600; + text-decoration: none; + letter-spacing: .5px; + border: none; + cursor: pointer; + color: #fff; + background: #777; + -webkit-transition: all .3s ease; + -moz-transition: all .3s ease; + -ms-transition: all .3s ease; + -o-transition: all .3s ease; + transition: all .3s ease +} + +input[type=submit]:hover { + background: #444 +} + +select { + padding: 8px; + border: 2px solid var(--techwave-border-color) +} + +input[type=button] { + cursor: pointer; + -webkit-transition: all .3s ease; + -moz-transition: all .3s ease; + -ms-transition: all .3s ease; + -o-transition: all .3s ease; + transition: all .3s ease +} + +[class^="fn__space__"]:after, +[class^="fn__space__"]:before { + clear: both; + display: table; + content: ''; +} + +.fn__space__10 { + margin-bottom: 10px; +} + +.fn__space__20 { + margin-bottom: 20px; +} + +.fn__space__30 { + margin-bottom: 30px; +} + +.fn__space__40 { + margin-bottom: 40px; +} + +.fn__space__50 { + margin-bottom: 50px; +} + +.fn__space__60 { + margin-bottom: 60px; +} + +.fn__space__70 { + margin-bottom: 70px; +} + +.fn__space__80 { + margin-bottom: 80px; +} + +.fn__space__90 { + margin-bottom: 90px; +} + +.fn__space__100 { + margin-bottom: 100px; +} + +.fn__space__150 { + margin-bottom: 150px; +} + +.fn__space__200 { + margin-bottom: 200px; +} + +/* TOOLTIPSTER BUNDLE MIN */ + +.tooltipster-fall, +.tooltipster-grow.tooltipster-show { + -webkit-transition-timing-function: cubic-bezier(.175, .885, .32, 1); + -moz-transition-timing-function: cubic-bezier(.175, .885, .32, 1.15); + -ms-transition-timing-function: cubic-bezier(.175, .885, .32, 1.15); + -o-transition-timing-function: cubic-bezier(.175, .885, .32, 1.15) +} + +.tooltipster-base { + display: flex; + pointer-events: none; + position: absolute +} + +.tooltipster-box { + flex: 1 1 auto +} + +.tooltipster-content { + box-sizing: border-box; + max-height: 100%; + max-width: 100%; + overflow: auto +} + +.tooltipster-ruler { + bottom: 0; + left: 0; + overflow: hidden; + position: fixed; + right: 0; + top: 0; + visibility: hidden +} + +.tooltipster-fade { + opacity: 0; + -webkit-transition-property: opacity; + -moz-transition-property: opacity; + -o-transition-property: opacity; + -ms-transition-property: opacity; + transition-property: opacity +} + +.tooltipster-fade.tooltipster-show { + opacity: 1 +} + +.tooltipster-grow { + -webkit-transform: scale(0, 0); + -moz-transform: scale(0, 0); + -o-transform: scale(0, 0); + -ms-transform: scale(0, 0); + transform: scale(0, 0); + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + -o-transition-property: -o-transform; + -ms-transition-property: -ms-transform; + transition-property: transform; + -webkit-backface-visibility: hidden +} + +.tooltipster-grow.tooltipster-show { + -webkit-transform: scale(1, 1); + -moz-transform: scale(1, 1); + -o-transform: scale(1, 1); + -ms-transform: scale(1, 1); + transform: scale(1, 1); + -webkit-transition-timing-function: cubic-bezier(.175, .885, .32, 1.15); + transition-timing-function: cubic-bezier(.175, .885, .32, 1.15) +} + +.tooltipster-swing { + opacity: 0; + -webkit-transform: rotateZ(4deg); + -moz-transform: rotateZ(4deg); + -o-transform: rotateZ(4deg); + -ms-transform: rotateZ(4deg); + transform: rotateZ(4deg); + -webkit-transition-property: -webkit-transform, opacity; + -moz-transition-property: -moz-transform; + -o-transition-property: -o-transform; + -ms-transition-property: -ms-transform; + transition-property: transform +} + +.tooltipster-swing.tooltipster-show { + opacity: 1; + -webkit-transform: rotateZ(0); + -moz-transform: rotateZ(0); + -o-transform: rotateZ(0); + -ms-transform: rotateZ(0); + transform: rotateZ(0); + -webkit-transition-timing-function: cubic-bezier(.23, .635, .495, 1); + -webkit-transition-timing-function: cubic-bezier(.23, .635, .495, 2.4); + -moz-transition-timing-function: cubic-bezier(.23, .635, .495, 2.4); + -ms-transition-timing-function: cubic-bezier(.23, .635, .495, 2.4); + -o-transition-timing-function: cubic-bezier(.23, .635, .495, 2.4); + transition-timing-function: cubic-bezier(.23, .635, .495, 2.4) +} + +.tooltipster-fall { + -webkit-transition-property: top; + -moz-transition-property: top; + -o-transition-property: top; + -ms-transition-property: top; + transition-property: top; + -webkit-transition-timing-function: cubic-bezier(.175, .885, .32, 1.15); + transition-timing-function: cubic-bezier(.175, .885, .32, 1.15) +} + +.tooltipster-fall.tooltipster-initial { + top: 0 !important +} + +.tooltipster-fall.tooltipster-dying { + -webkit-transition-property: all; + -moz-transition-property: all; + -o-transition-property: all; + -ms-transition-property: all; + transition-property: all; + top: 0 !important; + opacity: 0 +} + +.tooltipster-slide { + -webkit-transition-property: left; + -moz-transition-property: left; + -o-transition-property: left; + -ms-transition-property: left; + transition-property: left; + -webkit-transition-timing-function: cubic-bezier(.175, .885, .32, 1); + -webkit-transition-timing-function: cubic-bezier(.175, .885, .32, 1.15); + -moz-transition-timing-function: cubic-bezier(.175, .885, .32, 1.15); + -ms-transition-timing-function: cubic-bezier(.175, .885, .32, 1.15); + -o-transition-timing-function: cubic-bezier(.175, .885, .32, 1.15); + transition-timing-function: cubic-bezier(.175, .885, .32, 1.15) +} + +.tooltipster-slide.tooltipster-initial { + left: -40px !important +} + +.tooltipster-slide.tooltipster-dying { + -webkit-transition-property: all; + -moz-transition-property: all; + -o-transition-property: all; + -ms-transition-property: all; + transition-property: all; + left: 0 !important; + opacity: 0 +} + +@keyframes tooltipster-fading { + 0% { + opacity: 0 + } + 100% { + opacity: 1 + } +} + +.tooltipster-update-fade { + animation: tooltipster-fading .4s +} + +@keyframes tooltipster-rotating { + 25% { + transform: rotate(-2deg) + } + 75% { + transform: rotate(2deg) + } + 100% { + transform: rotate(0) + } +} + +.tooltipster-update-rotate { + animation: tooltipster-rotating .6s +} + +@keyframes tooltipster-scaling { + 50% { + transform: scale(1.1) + } + 100% { + transform: scale(1) + } +} + +.tooltipster-update-scale { + animation: tooltipster-scaling .6s +} + +.tooltipster-sidetip .tooltipster-box { + background: #565656; + border: 2px solid #000; + border-radius: 4px +} + +.tooltipster-sidetip.tooltipster-bottom .tooltipster-box { + margin-top: 8px +} + +.tooltipster-sidetip.tooltipster-left .tooltipster-box { + margin-right: 8px +} + +.tooltipster-sidetip.tooltipster-right .tooltipster-box { + margin-left: 8px +} + +.tooltipster-sidetip.tooltipster-top .tooltipster-box { + margin-bottom: 8px +} + +.tooltipster-sidetip .tooltipster-content { + color: #fff; + line-height: 18px; + padding: 6px 14px +} + +.tooltipster-sidetip .tooltipster-arrow { + overflow: hidden; + position: absolute +} + +.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow { + height: 10px; + margin-left: -10px; + top: 0; + width: 20px +} + +.tooltipster-sidetip.tooltipster-left .tooltipster-arrow { + height: 20px; + margin-top: -10px; + right: 0; + top: 0; + width: 10px +} + +.tooltipster-sidetip.tooltipster-right .tooltipster-arrow { + height: 20px; + margin-top: -10px; + left: 0; + top: 0; + width: 10px +} + +.tooltipster-sidetip.tooltipster-top .tooltipster-arrow { + bottom: 0; + height: 10px; + margin-left: -10px; + width: 20px +} + +.tooltipster-sidetip .tooltipster-arrow-background, +.tooltipster-sidetip .tooltipster-arrow-border { + height: 0; + position: absolute; + width: 0 +} + +.tooltipster-sidetip .tooltipster-arrow-background { + border: 10px solid transparent +} + +.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-background { + border-bottom-color: #565656; + left: 0; + top: 3px +} + +.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-background { + border-left-color: #565656; + left: -3px; + top: 0 +} + +.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-background { + border-right-color: #565656; + left: 3px; + top: 0 +} + +.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background { + border-top-color: #565656; + left: 0; + top: -3px +} + +.tooltipster-sidetip .tooltipster-arrow-border { + border: 10px solid transparent; + left: 0; + top: 0 +} + +.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-border { + border-bottom-color: #000 +} + +.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-border { + border-left-color: #000 +} + +.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-border { + border-right-color: #000 +} + +.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-border { + border-top-color: #000 +} + +.tooltipster-sidetip .tooltipster-arrow-uncropped { + position: relative +} + +.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-uncropped { + top: -10px +} + +.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-uncropped { + left: -10px +} + +.tooltipster-sidetip.tooltipster-borderless .tooltipster-box { + border: none; + background: #1b1b1b; + background: rgba(10, 10, 10, .9) +} + +.tooltipster-sidetip.tooltipster-borderless.tooltipster-bottom .tooltipster-box { + margin-top: 8px +} + +.tooltipster-sidetip.tooltipster-borderless.tooltipster-left .tooltipster-box { + margin-right: 8px +} + +.tooltipster-sidetip.tooltipster-borderless.tooltipster-right .tooltipster-box { + margin-left: 8px +} + +.tooltipster-sidetip.tooltipster-borderless.tooltipster-top .tooltipster-box { + margin-bottom: 8px +} + +.tooltipster-sidetip.tooltipster-borderless .tooltipster-arrow { + height: 8px; + margin-left: -8px; + width: 16px +} + +.tooltipster-sidetip.tooltipster-borderless.tooltipster-left .tooltipster-arrow, +.tooltipster-sidetip.tooltipster-borderless.tooltipster-right .tooltipster-arrow { + height: 16px; + margin-left: 0; + margin-top: -8px; + width: 8px +} + +.tooltipster-sidetip.tooltipster-borderless .tooltipster-arrow-background { + display: none +} + +.tooltipster-sidetip.tooltipster-borderless .tooltipster-arrow-border { + border: 8px solid transparent +} + +.tooltipster-sidetip.tooltipster-borderless.tooltipster-bottom .tooltipster-arrow-border { + border-bottom-color: #1b1b1b; + border-bottom-color: rgba(10, 10, 10, .9) +} + +.tooltipster-sidetip.tooltipster-borderless.tooltipster-left .tooltipster-arrow-border { + border-left-color: #1b1b1b; + border-left-color: rgba(10, 10, 10, .9) +} + +.tooltipster-sidetip.tooltipster-borderless.tooltipster-right .tooltipster-arrow-border { + border-right-color: #1b1b1b; + border-right-color: rgba(10, 10, 10, .9) +} + +.tooltipster-sidetip.tooltipster-borderless.tooltipster-top .tooltipster-arrow-border { + border-top-color: #1b1b1b; + border-top-color: rgba(10, 10, 10, .9) +} + +.tooltipster-sidetip.tooltipster-borderless.tooltipster-bottom .tooltipster-arrow-uncropped { + top: -8px +} + +.tooltipster-sidetip.tooltipster-borderless.tooltipster-right .tooltipster-arrow-uncropped { + left: -8px +} + +.tooltipster-sidetip.tooltipster-light .tooltipster-box { + border-radius: 3px; + border: 1px solid #ccc; + background: #ededed +} + +.tooltipster-sidetip.tooltipster-light .tooltipster-content { + color: #666 +} + +.tooltipster-sidetip.tooltipster-light .tooltipster-arrow { + height: 9px; + margin-left: -9px; + width: 18px +} + +.tooltipster-sidetip.tooltipster-light.tooltipster-left .tooltipster-arrow, +.tooltipster-sidetip.tooltipster-light.tooltipster-right .tooltipster-arrow { + height: 18px; + margin-left: 0; + margin-top: -9px; + width: 9px +} + +.tooltipster-sidetip.tooltipster-light .tooltipster-arrow-background { + border: 9px solid transparent +} + +.tooltipster-sidetip.tooltipster-light.tooltipster-bottom .tooltipster-arrow-background { + border-bottom-color: #ededed; + top: 1px +} + +.tooltipster-sidetip.tooltipster-light.tooltipster-left .tooltipster-arrow-background { + border-left-color: #ededed; + left: -1px +} + +.tooltipster-sidetip.tooltipster-light.tooltipster-right .tooltipster-arrow-background { + border-right-color: #ededed; + left: 1px +} + +.tooltipster-sidetip.tooltipster-light.tooltipster-top .tooltipster-arrow-background { + border-top-color: #ededed; + top: -1px +} + +.tooltipster-sidetip.tooltipster-light .tooltipster-arrow-border { + border: 9px solid transparent +} + +.tooltipster-sidetip.tooltipster-light.tooltipster-bottom .tooltipster-arrow-border { + border-bottom-color: #ccc +} + +.tooltipster-sidetip.tooltipster-light.tooltipster-left .tooltipster-arrow-border { + border-left-color: #ccc +} + +.tooltipster-sidetip.tooltipster-light.tooltipster-right .tooltipster-arrow-border { + border-right-color: #ccc +} + +.tooltipster-sidetip.tooltipster-light.tooltipster-top .tooltipster-arrow-border { + border-top-color: #ccc +} + +.tooltipster-sidetip.tooltipster-light.tooltipster-bottom .tooltipster-arrow-uncropped { + top: -9px +} + +.tooltipster-sidetip.tooltipster-light.tooltipster-right .tooltipster-arrow-uncropped { + left: -9px +} + +.tooltipster-sidetip.tooltipster-noir .tooltipster-box { + border-radius: 0; + border: 3px solid #000; + background: #fff +} + +.tooltipster-sidetip.tooltipster-noir .tooltipster-content { + color: #000 +} + +.tooltipster-sidetip.tooltipster-noir .tooltipster-arrow { + height: 11px; + margin-left: -11px; + width: 22px +} + +.tooltipster-sidetip.tooltipster-noir.tooltipster-left .tooltipster-arrow, +.tooltipster-sidetip.tooltipster-noir.tooltipster-right .tooltipster-arrow { + height: 22px; + margin-left: 0; + margin-top: -11px; + width: 11px +} + +.tooltipster-sidetip.tooltipster-noir .tooltipster-arrow-background { + border: 11px solid transparent +} + +.tooltipster-sidetip.tooltipster-noir.tooltipster-bottom .tooltipster-arrow-background { + border-bottom-color: #fff; + top: 4px +} + +.tooltipster-sidetip.tooltipster-noir.tooltipster-left .tooltipster-arrow-background { + border-left-color: #fff; + left: -4px +} + +.tooltipster-sidetip.tooltipster-noir.tooltipster-right .tooltipster-arrow-background { + border-right-color: #fff; + left: 4px +} + +.tooltipster-sidetip.tooltipster-noir.tooltipster-top .tooltipster-arrow-background { + border-top-color: #fff; + top: -4px +} + +.tooltipster-sidetip.tooltipster-noir .tooltipster-arrow-border { + border-width: 11px +} + +.tooltipster-sidetip.tooltipster-noir.tooltipster-bottom .tooltipster-arrow-uncropped { + top: -11px +} + +.tooltipster-sidetip.tooltipster-noir.tooltipster-right .tooltipster-arrow-uncropped { + left: -11px +} + +.tooltipster-sidetip.tooltipster-punk .tooltipster-box { + border-radius: 5px; + border: none; + border-bottom: 3px solid var(--techwave-main-color); + background: #2a2a2a +} + +.tooltipster-sidetip.tooltipster-punk.tooltipster-top .tooltipster-box { + margin-bottom: 7px +} + +.tooltipster-sidetip.tooltipster-punk .tooltipster-content { + color: #fff; + padding: 8px 16px +} + +.tooltipster-sidetip.tooltipster-punk .tooltipster-arrow-background { + display: none +} + +.tooltipster-sidetip.tooltipster-punk.tooltipster-bottom .tooltipster-arrow-border { + border-bottom-color: #2a2a2a +} + +.tooltipster-sidetip.tooltipster-punk.tooltipster-left .tooltipster-arrow-border { + border-left-color: #2a2a2a +} + +.tooltipster-sidetip.tooltipster-punk.tooltipster-right .tooltipster-arrow-border { + border-right-color: #2a2a2a +} + +.tooltipster-sidetip.tooltipster-punk.tooltipster-top .tooltipster-arrow-border { + border-top-color: var(--techwave-main-color) +} + +.tooltipster-sidetip.tooltipster-shadow .tooltipster-box { + border: none; + border-radius: 5px; + background: #fff; + box-shadow: 0 0 10px 6px rgba(0, 0, 0, .1) +} + +.tooltipster-sidetip.tooltipster-shadow.tooltipster-bottom .tooltipster-box { + margin-top: 6px +} + +.tooltipster-sidetip.tooltipster-shadow.tooltipster-left .tooltipster-box { + margin-right: 6px +} + +.tooltipster-sidetip.tooltipster-shadow.tooltipster-right .tooltipster-box { + margin-left: 6px +} + +.tooltipster-sidetip.tooltipster-shadow.tooltipster-top .tooltipster-box { + margin-bottom: 6px +} + +.tooltipster-sidetip.tooltipster-shadow .tooltipster-content { + color: #8d8d8d +} + +.tooltipster-sidetip.tooltipster-shadow .tooltipster-arrow { + height: 6px; + margin-left: -6px; + width: 12px +} + +.tooltipster-sidetip.tooltipster-shadow.tooltipster-left .tooltipster-arrow, +.tooltipster-sidetip.tooltipster-shadow.tooltipster-right .tooltipster-arrow { + height: 12px; + margin-left: 0; + margin-top: -6px; + width: 6px +} + +.tooltipster-sidetip.tooltipster-shadow .tooltipster-arrow-background { + display: none +} + +.tooltipster-sidetip.tooltipster-shadow .tooltipster-arrow-border { + border: 6px solid transparent +} + +.tooltipster-sidetip.tooltipster-shadow.tooltipster-bottom .tooltipster-arrow-border { + border-bottom-color: #fff +} + +.tooltipster-sidetip.tooltipster-shadow.tooltipster-left .tooltipster-arrow-border { + border-left-color: #fff +} + +.tooltipster-sidetip.tooltipster-shadow.tooltipster-right .tooltipster-arrow-border { + border-right-color: #fff +} + +.tooltipster-sidetip.tooltipster-shadow.tooltipster-top .tooltipster-arrow-border { + border-top-color: #fff +} + +.tooltipster-sidetip.tooltipster-shadow.tooltipster-bottom .tooltipster-arrow-uncropped { + top: -6px +} + +.tooltipster-sidetip.tooltipster-shadow.tooltipster-right .tooltipster-arrow-uncropped { + left: -6px +} \ No newline at end of file diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000000000000000000000000000000000000..3c56ad54a463718806339980e15fd582bcddf046 --- /dev/null +++ b/css/style.css @@ -0,0 +1,8330 @@ +@charset "utf-8"; +/* +/* Copyright (c) 2024 SRBThemes +/* Author: SRBThemes +/* Item URL: https://themeforest.net/item/techwave-ai-html-dashboard-for-image-generation-chat-bot/46197058 +/* This file is made for CURRENT TEMPLATE +/* + + + List of CSS codes: + + 01) ROOT + 02) Base + 03) PRELOADER + 04) Container + 05) New tags and some custom codes + 06) Site Structure + 07) Main Button + 08) Left Panel + 09) Header + 10) Footer + 11) Page: Home (index) + 12) Shortcode: Title + 13) Shortcode: Interactive List + 14) Shortcode: Members + 15) Shortcode: Animated Title + 16) Page Title + 17) Page: Changelog + 18) Searchbar + 19) Shortcode: Accordion + 20) Page: Community Feed + 21) Tabs + 22) Page: Personal Feed + 23) Shortcode: Gallery Items + 24) Like Button + 25) Checkbox + 26) Image Lightbox + 27) Follow Button + 28) Icon Button + 29) Model Button (used in image lightbox) + 30) Prompt Details (used in image lightbox) + 31) Detailed list (used in image lightbox) + 32) Grid Items (used in image lightbox) + 33) Reportbox + 34) Ajax Loader (Loading) + 35) Page: Sign In and Sign Up + 36) Select Filter (personal feed page) + 37) Page: Notifications + 38) Back To button (notification single page) + 39) Page: Pricing + 40) Shortcode: Pricing Mobile + 41) Page: User Profile + 42) Shortcode: Options list (used in user profile page) + 43) Page: User Settings + 44) Upload Button + 45) Page: User Billing + 46) Page: AI Chat Bot + 47) Page: Documentation + 48) Page: Image Generation + 49) Icon Options (icon lightbox) + 50) Generation Item (used in image generation page) + 51) Generation List (used in image generation page) + 52) Input Toggle (custom) + 53) Select Model (used in image generation page) + 53) Page: Image Generation + 54) Input quantity (custom) + 55) Input Range (custom) + 56) Page: Privacy Policy + 57) Contact Form + 58) Page: Contact + 59) Page: Models + 60) Model Items (used in model page) + 61) Bookmark button + 62) Font Trigger (used in AI chat bot page) + 63) Font Trigger Lightbox + 64) Tooltipster custom theme named: tooltipster-techwave (it can be changed in init.js) + 65) Page: Intro + 66) Media Queries (Responsive) + + + + +/*------------------------------------------------------------------*/ + +/* 01) ROOT +/*------------------------------------------------------------------*/ + +:root { + color-scheme: dark; + --techwave-site-bg-color: #0f0e11; + --techwave-header-bg-color: #17151b; + --techwave-some-r-bg-color: #17151b; + --techwave-some-a-bg-color: #2b2830; + --techwave-main-color: #7c5fe3; + --techwave-main-color1: #8768f8; + --techwave-main-color2: #b7a4fb; + --techwave-heading-color: #c0bcca; + --techwave-body-color: #7e7a86; + --techwave-border-color: #312e37; + --techwave-button-bg-color: #1c1925; + --techwave-hover-color: #fff; + --techwave-heading-font-family: 'Heebo', sans-serif; + --techwave-body-font-family: 'Work Sans', sans-serif; + --techwave-left-panel-width: 300px; + --techwave-header-height: 100px; +} + +@media(min-width: 1041px) { + .panel-opened:root { + --techwave-left-panel-width: 76px; + } +} + +@media(max-width: 1040px) { + :root { + --techwave-header-height: 80px; + } +} + +[data-techwave-skin="light"]:root { + color-scheme: light; + --techwave-site-bg-color: #fff; + --techwave-header-bg-color: #f5f5f5; + --techwave-some-r-bg-color: #f5f5f5; + --techwave-some-a-bg-color: #e7e7e7; + --techwave-main-color: #7c5fe3; + --techwave-main-color1: #8768f8; + --techwave-main-color2: #b7a4fb; + --techwave-heading-color: #333; + --techwave-body-color: #444; + --techwave-border-color: #ddd; + --techwave-button-bg-color: #f5f5f5; + --techwave-hover-color: #000; +} + +/*------------------------------------------------------------------*/ + +/* 02) Base +/*------------------------------------------------------------------*/ + +html { + overflow-x: hidden; + padding: 0px; + margin: 0px; +} + +*:after, +*:before, +* { + box-sizing: border-box; +} + +body { + font-family: var(--techwave-body-font-family); + font-size: 16px; + letter-spacing: 0; + line-height: 1.5; + font-weight: 400; + color: var(--techwave-body-color); + position: relative; + word-break: break-word; + background-color: var(--techwave-site-bg-color); +} + +.fn__svg { + fill: currentcolor; + width: 18px; + height: 18px; +} + +.replaced-svg { + opacity: 1; +} + +p { + letter-spacing: 0; + margin-bottom: 20px; +} + +ol li { + margin-bottom: 17px; +} + +ol li:last-child { + margin-bottom: 0; +} + +.heading_color { + color: var(--techwave-heading-color); +} + +h1, +h2, +h3, +h4, +h5, +h6 { + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + line-height: 1.22; + letter-spacing: 0; +} + +h1>a, +h2>a, +h3>a, +h4>a, +h5>a, +h6>a { + text-decoration: none; + color: var(--techwave-heading-color); +} + +h1>a:hover, +h2>a:hover, +h3>a:hover, +h4>a:hover, +h5>a:hover, +h6>a:hover { + color: var(--techwave-main-color); +} + +select:focus { + border-color: var(--techwave-main-color); +} + +select { + display: block; + height: 40px; + width: 100%; + padding: 0 14px; + background-color: var(--techwave-some-a-bg-color); + border: 2px solid transparent; + border-radius: 5px; + outline: none; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + font-size: 16px; + position: relative; + line-height: 40px; +} + +hr { + outline: none; + border: none; + border-top: 1px solid var(--techwave-border-color); + margin: 0; + margin-bottom: 20px; +} + +hr[data-h="2"] { + border-top-width: 2px; +} + +hr[data-h="3"] { + border-top-width: 3px; +} + +hr[data-h="4"] { + border-top-width: 4px; +} + +hr[data-h="5"] { + border-top-width: 5px; +} + +hr[data-h="6"] { + border-top-width: 6px; +} + +hr[data-h="7"] { + border-top-width: 7px; +} + +hr[data-h="8"] { + border-top-width: 8px; +} + +hr[data-h="9"] { + border-top-width: 9px; +} + +hr[data-h="10"] { + border-top-width: 10px; +} + +/*------------------------------------------------------------------*/ + +/* 03) PRELOADER +/*------------------------------------------------------------------*/ + +.techwave_fn_preloader.fn_ready { + opacity: 0; + visibility: hidden; + pointer-events: none; +} + +.techwave_fn_preloader.enabled { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; +} + +.techwave_fn_preloader { + position: fixed; + padding: 0; + margin: 0; + z-index: 1000; + left: 0; + right: 0; + bottom: 0; + top: 0; + background-color: var(--techwave-site-bg-color); + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + display: none; + -ms-align-items: center; + align-items: center; + justify-content: center; + transition: all .3s ease; +} + +.techwave_fn_preloader svg { + width: 240px; + height: 240px; + border-radius: 100%; + position: relative; +} + +.techwave_fn_preloader .first_circle { + fill: none; + stroke-width: 10px; + stroke: #080808; +} + +.techwave_fn_preloader .second_circle { + fill: none; + stroke-width: 10px; + stroke-linecap: round; + transform: rotate(-90deg); + transform-origin: 50% 50%; + stroke-dasharray: 360; + stroke-dashoffset: 100; + stroke: var(--techwave-main-color); + animation: techwave_fn_preloader 10s infinite; + position: relative; + z-index: 1; +} + +@keyframes techwave_fn_preloader { + 0% { + stroke-dasharray: 360; + } + 50% { + stroke-dasharray: 1; + } + 100% { + stroke-dasharray: 360; + } +} + +/*------------------------------------------------------------------*/ + +/* 04) Container +/*------------------------------------------------------------------*/ + +.container { + width: 100%; + max-width: 1400px; + padding: 0 40px; + margin: 0 auto; +} + +.container.wide { + max-width: 1680px; +} + +.container.small { + max-width: 780px; +} + +.container.medium { + max-width: 980px; +} + +.container:after, +.clearfix:after, +.clearfix:before { + content: ''; + clear: both; + display: table; +} + +@media(max-width: 1040px) { + .container { + padding: 0 20px; + } +} + +@media(max-width: 480px) { + .container { + padding: 0 10px; + } +} + +/*------------------------------------------------------------------*/ + +/* 05) New tags and some custom codes +/*------------------------------------------------------------------*/ + +.fn__full_link { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +frenify_main { + color: var(--techwave-main-color); + -webkit-user-select: all; + -moz-user-select: all; + -ms-user-select: all; + -o-user-select: all; + user-select: all; +} + +frenify_uselect { + -webkit-user-select: all; + -moz-user-select: all; + -ms-user-select: all; + -o-user-select: all; + user-select: all; +} + +frenify_typing { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; +} + +frenify_typing h3 { + margin: 0; + font-size: 16px; + font-weight: 400; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; +} + +frenify_typing span { + color: var(--techwave-heading-color); + overflow: hidden; + border-right: 2px solid var(--techwave-main-color); + white-space: nowrap; + -webkit-animation: frenify_typing_animation 1s steps(150, end), frenify_blink_caret .5s step-end infinite; + animation: frenify_typing_animation 1s steps(150, end), frenify_blink_caret .5s step-end infinite; +} + +@keyframes frenify_typing_animation { + from { + width: 0 + } + to { + width: 100% + } +} + +@keyframes frenify_blink_caret { + from, + to { + border-color: transparent + } + 50% { + border-color: var(--techwave-main-color); + } +} + +/*------------------------------------------------------------------*/ + +/* 06) Site Structure +/*------------------------------------------------------------------*/ + +.techwave_fn_wrapper, +.techwave_fn_wrapper * { + box-sizing: border-box; +} + +.techwave_fn_wrapper:not(.fn__has_sidebar) .techwave_fn_image_generation_page .sidebar__trigger { + color: var(--techwave-main-color); +} + +.techwave_fn_wrapper.fn__has_sidebar .techwave_fn_content { + margin-right: 300px; +} + +.techwave_fn_content { + position: relative; + margin-left: var(--techwave-left-panel-width); + margin-top: var(--techwave-header-height); + min-height: calc(100vh - var(--techwave-header-height)); + transition: all .2s ease; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + -o-flex-direction: column; + flex-direction: column; +} + +/*------------------------------------------------------------------*/ + +/* 07) Main Button +/*------------------------------------------------------------------*/ + +.fn__submit { + display: block; + position: relative; + background-color: var(--techwave-button-bg-color); + border-radius: 20px; +} + +.fn__submit input, +.techwave_fn_button { + display: block; + width: fit-content; + max-width: 100%; + text-decoration: none; + font-weight: 500; + font-size: 14px; + letter-spacing: .5px; + font-family: var(--techwave-heading-font-family); + height: 40px; + line-height: 40px; + padding: 0 34px; + position: relative; + color: var(--techwave-heading-color); + text-transform: uppercase; + text-align: center; + white-space: nowrap; + background-color: var(--techwave-button-bg-color); + outline: none; + outline-color: transparent; + border-radius: 20px; + overflow: hidden; + text-overflow: ellipsis; +} + +.fn__submit input { + width: 100%; + background-color: transparent !important; +} + +.techwave_fn_button.medium { + padding: 0 97px; + height: 60px; + line-height: 60px; + border-radius: 30px; + font-size: 18px; +} + +.techwave_fn_button.medium:after, +.techwave_fn_button.medium:before { + border-radius: 30px; +} + +.techwave_fn_button.small__border:after, +.techwave_fn_button.small__border:before, +.techwave_fn_button.small__border { + border-radius: 5px; +} + +.techwave_fn_button.small__border { + background-color: var(--techwave-some-a-bg-color); + padding: 0 20px; +} + +.techwave_fn_button.has__icon { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; +} + +.techwave_fn_button.has__icon .fn__svg { + width: 16px; + height: 16px; + margin-right: 5px; +} + +.fn__submit input, +.techwave_fn_button span { + position: relative; + z-index: 5; +} + +.techwave_fn_button span { + top: 1px; +} + +.fn__submit:hover:after, +.techwave_fn_button:hover:after { + animation-duration: 2s; +} + +.fn__submit:hover, +.techwave_fn_button:hover { + color: var(--techwave-hover-color); +} + +.fn__submit:after, +.techwave_fn_button:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + border-radius: 20px; + border: 2px solid transparent; + background: -moz-linear-gradient(270deg, var(--techwave-main-color1), var(--techwave-main-color2), var(--techwave-main-color1), var(--techwave-main-color2)) border-box; + background: -webkit-linear-gradient(270deg, var(--techwave-main-color1), var(--techwave-main-color2), var(--techwave-main-color1), var(--techwave-main-color2)) border-box; + background: linear-gradient(270deg, var(--techwave-main-color1), var(--techwave-main-color2), var(--techwave-main-color1), var(--techwave-main-color2)) border-box; + -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0); + -webkit-mask-composite: destination-out; + -webkit-mask-composite: source-out; + mask-composite: exclude; + background-size: 300% 300%; + -webkit-animation: animatedgradient 4s ease alternate infinite; + animation: animatedgradient 4s ease alternate infinite; +} + +.fn__submit:before, +.techwave_fn_button:before { + right: 0; + bottom: 0; + top: 0; + left: 0; + position: absolute; + color: var(--techwave-main-color1); + content: ''; + opacity: .1; + border-radius: 20px; + box-shadow: 0px 5px 15px; +} + +.techwave_fn_button.enabled:after { + display: block; +} + +.techwave_fn_button.disabled { + background-color: var(--techwave-some-a-bg-color); +} + +.techwave_fn_button.disabled:after { + display: none; +} + +@keyframes animatedgradient { + 0% { + background-position: 0% 50%; + } + 50% { + background-position: 100% 50%; + } + 100% { + background-position: 0% 50%; + } +} + +/*------------------------------------------------------------------*/ + +/* 08) Left Panel +/*------------------------------------------------------------------*/ + +.short_logo { + display: none; +} + +.retina_logo { + display: none; +} + +@media (-webkit-min-device-pixel-ratio: 1.1), +(min-device-pixel-ratio: 1.1), +(min-resolution: 120dpi) { + .retina_logo { + display: block; + } + .desktop_logo { + display: none; + } +} + +.techwave_fn_leftpanel { + z-index: 101; + position: fixed; + background-color: var(--techwave-some-r-bg-color); + width: var(--techwave-left-panel-width); + left: 0; + top: 0; + bottom: 0; + border-right: 1px solid var(--techwave-border-color); + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + -o-flex-direction: column; + flex-direction: column; + transition: all .2s ease; +} + +.techwave_fn_leftpanel .leftpanel_logo { + min-height: var(--techwave-header-height); + height: var(--techwave-header-height); + border-bottom: 1px solid var(--techwave-border-color); + padding: 20px 70px 20px 30px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + position: relative; +} + +.techwave_fn_leftpanel .mobile_closer { + display: none; +} + +.techwave_fn_leftpanel .fn__icon_button { + position: absolute; + top: 50%; + margin-top: -15px; + right: 20px; + z-index: 4; +} + +.techwave_fn_leftpanel .fn__icon_button .fn__svg { + transform: rotate(180deg); +} + +.techwave_fn_leftpanel .leftpanel_content { + flex: 1 0 auto; + padding: 48px 20px; + overflow-y: auto; + height: calc(100% - var(--techwave-header-height)); +} + +.techwave_fn_leftpanel .leftpanel_content { + scrollbar-width: thin; + scrollbar-color: #999 #fff; +} + +.techwave_fn_leftpanel .leftpanel_content::-webkit-scrollbar { + width: 4px; +} + +.techwave_fn_leftpanel .leftpanel_content:-webkit-scrollbar-track { + background: var(--techwave-some-a-bg-color); +} + +.techwave_fn_leftpanel .leftpanel_content::-webkit-scrollbar-thumb { + background-color: var(--techwave-some-a-bg-color); + border-radius: 6px; +} + +.techwave_fn_leftpanel .nav_group { + margin-bottom: 38px; +} + +.techwave_fn_leftpanel .nav_group:last-child { + margin-bottom: 0; +} + +.techwave_fn_leftpanel .group__title { + margin: 0; + padding: 0 10px; + text-transform: uppercase; + font-weight: 500; + font-size: 11px; + letter-spacing: .5px; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); + margin-bottom: 12px; +} + +.techwave_fn_leftpanel .group__list { + margin: 0; + padding: 0; + list-style-type: none; +} + +.techwave_fn_leftpanel .group__list li { + margin-bottom: 4px; + position: relative; +} + +.techwave_fn_leftpanel .group__list li:last-child { + margin-bottom: 0px; +} + +.techwave_fn_leftpanel .group__list a { + font-weight: 400; + border-radius: 5px; + font-family: var(--techwave-heading-font-family); + color: var(--techwave-heading-color); + text-decoration: none; + min-height: 36px; + padding: 5px 10px 5px 42px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + position: relative; +} + +.techwave_fn_leftpanel .group__list .menu-item-has-children>a { + padding-right: 22px; +} + +.techwave_fn_leftpanel .group__list .hovered>a, +.techwave_fn_leftpanel .group__list a.active, +.techwave_fn_leftpanel .group__list a:hover { + background-color: var(--techwave-some-a-bg-color); +} + +.techwave_fn_leftpanel .group__list a.active .text { + color: var(--techwave-hover-color); +} + +.techwave_fn_leftpanel .group__list .icon { + position: absolute; + left: 10px; + top: 50%; + margin-top: -8px; + display: block; +} + +.techwave_fn_leftpanel .group__list .icon .fn__svg { + width: 16px; + height: 16px; + display: block; +} + +.techwave_fn_leftpanel .group__list .text { + line-height: 24px; + position: relative; + top: 1px; +} + +.techwave_fn_leftpanel .group__list .trigger { + right: 5px; + top: 50%; + margin-top: -6px; + position: absolute; + display: block; + color: var(--techwave-heading-color); + transform: rotate(90deg); + transition: all .2s ease; +} + +.techwave_fn_leftpanel .group__list .closed .trigger { + transform: rotate(-90deg); +} + +.techwave_fn_leftpanel .group__list .trigger .fn__svg { + width: 12px; + height: 12px; + display: block; +} + +.techwave_fn_leftpanel .group__list .count { + width: 24px; + margin-left: 10px; + display: inline-block; + height: 24px; + background-color: #ab0cdf; + color: #fff; + font-weight: 500; + line-height: 25px; + text-align: center; + font-size: 11px; + font-family: var(--techwave-heading-font-family); + border-radius: 100%; + vertical-align: top; +} + +.fn__sup { + color: var(--techwave-main-color); + vertical-align: super; + text-transform: uppercase; + font-weight: 500; + font-size: 11px; + letter-spacing: .5px; + margin-left: 2px; +} + +.techwave_fn_leftpanel .group__list ul { + margin: 0; + list-style-type: none; + padding: 0; + margin-left: 26px; + margin-top: 4px; + overflow: hidden; +} + +.techwave_fn_leftpanel .group__list ul a { + padding-left: 17px; +} + +.techwave_fn_leftpanel .group__list ul a:after { + width: 5px; + height: 2px; + background-color: var(--techwave-heading-color); + position: absolute; + left: 6px; + top: 50%; + margin-top: -1px; + content: ''; +} + +@media(min-width: 1041px) { + .panel-opened .techwave_fn_leftpanel .group__list .icon .fn__svg { + width: 18px; + height: 18px; + } + .panel-opened .techwave_fn_leftpanel .group__list a { + width: 36px; + padding: 0; + } + .panel-opened .techwave_fn_leftpanel .group__list .menu-item-has-children>a:after { + content: ''; + position: absolute; + width: 10px; + height: 10px; + background-color: #f1416c; + left: 50%; + bottom: 50%; + margin-left: 2px; + margin-bottom: 2px; + border-radius: 100%; + } + .panel-opened .techwave_fn_leftpanel .leftpanel_logo { + padding: 0; + justify-content: center; + } + .panel-opened .techwave_fn_leftpanel .short_logo { + display: block; + } + .panel-opened .techwave_fn_leftpanel .fn__closer { + right: -15px; + transform: rotate(180deg); + } + .panel-opened .techwave_fn_leftpanel .full_logo, + .panel-opened .techwave_fn_leftpanel .group__title, + .panel-opened .techwave_fn_leftpanel .group__list .trigger, + .panel-opened .techwave_fn_leftpanel .group__list .text { + display: none; + } + .panel-opened .techwave_fn_leftpanel .group__list ul { + display: none !important; + } +} + +/*------------------------------------------------------------------*/ + +/* 09) Header +/*------------------------------------------------------------------*/ + +.techwave_fn_header { + position: fixed; + top: 0; + left: var(--techwave-left-panel-width); + right: 0; + height: var(--techwave-header-height); + background-color: var(--techwave-header-bg-color); + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + justify-content: space-between; + -ms-align-items: center; + align-items: center; + padding: 0 40px; + z-index: 100; + transition: all .2s ease; +} + +.techwave_fn_header:after { + content: ''; + pointer-events: none; + position: absolute; + bottom: 0; + z-index: 1; + left: 0; + right: 0; + height: 1px; + background-color: var(--techwave-border-color); +} + +.fn__token_info { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + height: var(--techwave-header-height); + position: relative; +} + +.fn__token_info:hover .token__popup { + opacity: 1; + visibility: visible; + transform: translateY(0); +} + +.fn__token_info .token__popup { + opacity: 0; + visibility: hidden; + transform: translateY(20px); + width: 200px; + position: absolute; + left: 0; + top: 100%; + background-color: var(--techwave-header-bg-color); + padding: 12px 15px; + border-radius: 0 0 5px 5px; + border: 1px solid var(--techwave-border-color); + ; + margin-top: -1px; + font-family: var(--techwave-heading-font-family); + font-size: 12px; + letter-spacing: .5px; + transition: all .2s ease; +} + +.fn__token_info .token__popup span { + color: var(--techwave-heading-color); +} + +.fn__token_info .token_summary { + border-radius: 5px; + background-color: var(--techwave-some-a-bg-color); + font-family: var(--techwave-heading-font-family); + line-height: 16px; + height: 40px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + padding: 5px 12px; + margin-right: 20px; +} + +.fn__token_info .count { + font-weight: 600; + font-size: 18px; + color: var(--techwave-heading-color); + padding-right: 25px; + position: relative; +} + +.fn__token_info .text { + line-height: 16px; + font-size: 12px; +} + +.fn__token_info .count:after { + content: ''; + position: absolute; + right: 12px; + top: 50%; + margin-top: -15px; + height: 30px; + background-color: #413e45; + width: 1px; +} + +.fn__nav_bar { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; +} + +.fn__nav_bar .bar__item { + height: var(--techwave-header-height); + position: relative; + margin-right: 10px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; +} + +.fn__nav_bar .bar__item:last-child { + margin-right: 0; +} + +.fn__nav_bar .item_opener { + width: 50px; + height: 50px; + text-decoration: none; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; + background-color: var(--techwave-some-a-bg-color); + border-radius: 100%; + color: var(--techwave-heading-color); + position: relative; +} + +.fn__nav_bar .item_opener:hover { + opacity: 0.8; +} + +.fn__nav_bar .item_opener.full_screen .f_screen { + opacity: 0; + transform: scale(0.7); +} + +.fn__nav_bar .item_opener.full_screen .s_screen { + opacity: 1; + transform: scale(1); +} + +.fn__nav_bar .item_opener .fn__svg { + width: 24px; + height: 24px; + transition: all .3s ease; +} + +.fn__nav_bar .item_opener .dark_mode { + opacity: 0; + position: absolute; + left: 50%; + top: 50%; + margin: -12px 0 0 -12px; + transform: scale(0.7) rotate(-90deg); +} + +[data-techwave-skin="light"] .fn__nav_bar .item_opener .dark_mode { + opacity: 1; + transform: scale(1) rotate(0deg); +} + +[data-techwave-skin="light"] .fn__nav_bar .item_opener .light_mode { + opacity: 0; + transform: scale(0.7) rotate(90deg); +} + +[data-techwave-skin="dark"] .fn__nav_bar .item_opener .light_mode { + opacity: 1; + transform: scale(1) rotate(0deg); +} + +[data-techwave-skin="dark"] .fn__nav_bar .item_opener .dark_mode { + opacity: 0; + transform: scale(0.7) rotate(-90deg); +} + +.fn__nav_bar .item_opener .s_screen { + opacity: 0; + position: absolute; + left: 50%; + top: 50%; + margin: -9px 0 0 -9px; + transform: scale(0.7); + width: 18px; + height: 18px; +} + +.fn__nav_bar .bar__item_user { + margin-left: 10px; +} + +.fn__nav_bar .user_opener { + width: 60px; + height: 60px; + border: 2px solid var(--techwave-border-color); + border-radius: 5px; + overflow: hidden; +} + +.fn__nav_bar .user_opener img { + width: 100%; + height: 100%; + object-fit: cover; + aspect-ratio: 1 / 1; + border-radius: 3px; +} + +.fn__nav_bar .item_popup { + position: absolute; + right: 0; + top: 100%; + background-color: var(--techwave-header-bg-color); + border: 1px solid var(--techwave-border-color); + border-radius: 0 0 5px 5px; + opacity: 0; + visibility: hidden; + transform: translateY(20px); + transition: all .2s ease; + margin-top: -1px; +} + +.fn__nav_bar .item_popup[data-position="left"] { + right: auto; + left: 0; +} + +.fn__nav_bar .bar__item_user .item_popup { + padding: 20px; + width: 300px; + max-width: calc(100vw - 80px); +} + +.fn__nav_bar .bar__item_user.opened .item_popup { + opacity: 1; + visibility: visible; + transform: translateY(0); +} + +.fn__nav_bar .bar__item_user:hover .user_opener, +.fn__nav_bar .bar__item_user.opened .user_opener { + border-color: var(--techwave-main-color); +} + +.fn__nav_bar .bar__item_user .user_profile { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + padding: 0 10px 20px 10px; + border-bottom: 1px solid var(--techwave-border-color); + -ms-align-items: center; + align-items: center; +} + +.fn__nav_bar .bar__item_user .user_img { + margin-right: 15px; + width: 60px; + min-width: 60px; +} + +.fn__nav_bar .bar__item_user .user_img img { + width: 100%; + object-fit: cover; + aspect-ratio: 1 / 1; + border: 2px solid var(--techwave-border-color); + border-radius: 5px; +} + +.fn__nav_bar .bar__item_user .user_name { + margin: 0; + padding: 0; + font-weight: 400; + font-size: 16px; +} + +.fn__nav_bar .bar__item_user .user_name span { + height: 16px; + line-height: 16px; + display: inline-block; + padding: 0 5px; + border-radius: 5px; + background-color: #ab0cdf; + color: #fff; + font-weight: 500; + font-size: 11px; + text-transform: uppercase; + font-family: var(--techwave-heading-font-family); + margin-left: 10px; + vertical-align: middle; + position: relative; + top: -2px; +} + +.fn__nav_bar .bar__item_user .user_profile p { + margin: 0; + padding: 0; + font-family: var(--techwave-heading-font-family); + font-size: 12px; + letter-spacing: 0; +} + +.fn__nav_bar .bar__item_user .user_profile a { + text-decoration: none; + color: var(--techwave-heading-color); +} + +.fn__nav_bar .bar__item_user .user_profile a:hover { + color: var(--techwave-main-color); +} + +.fn__nav_bar .bar__item_user .user_nav { + padding-top: 20px; +} + +.fn__nav_bar .bar__item_user .user_nav li { + margin-bottom: 4px; +} + +.fn__nav_bar .bar__item_user .user_nav li:last-child { + margin-bottom: 0px; +} + +.fn__nav_bar .bar__item_user .user_nav ul { + list-style-type: none; + margin: 0; + padding: 0; +} + +.fn__nav_bar .bar__item_user .user_nav a { + font-weight: 400; + border-radius: 5px; + font-family: var(--techwave-heading-font-family); + color: var(--techwave-heading-color); + text-decoration: none; + height: 36px; + padding: 0 10px 0 42px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + position: relative; +} + +.fn__nav_bar .bar__item_user .user_nav .icon { + position: absolute; + left: 10px; + top: 50%; + margin-top: -8px; + display: block; +} + +.fn__nav_bar .bar__item_user .user_nav .icon .fn__svg { + width: 16px; + height: 16px; + display: block; +} + +.fn__nav_bar .bar__item_user .user_nav a.active, +.fn__nav_bar .bar__item_user .user_nav a:hover { + background-color: var(--techwave-some-a-bg-color); +} + +.fn__nav_bar .bar__item_user .user_nav .text { + position: relative; + top: 1px; +} + +.fn__nav_bar .bar__item_language.opened .item_popup { + opacity: 1; + visibility: visible; + transform: translateY(0); +} + +.fn__nav_bar .bar__item_language.opened .item_opener { + color: var(--techwave-main-color); +} + +.fn__nav_bar .bar__item_language .item_popup { + padding: 20px; + width: 200px; + max-width: calc(100vw - 80px); +} + +.fn__nav_bar .bar__item_language .item_popup li { + margin-bottom: 4px; +} + +.fn__nav_bar .bar__item_language .item_popup li:last-child { + margin-bottom: 0px; +} + +.fn__nav_bar .bar__item_language .item_popup ul { + margin: 0; + padding: 0; + list-style-type: none; +} + +.fn__nav_bar .bar__item_language .item_popup span, +.fn__nav_bar .bar__item_language .item_popup a { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + height: 36px; + padding: 0 15px; + border-radius: 5px; + text-decoration: none; + font-size: 16px; + letter-spacing: 0; + font-family: var(--techwave-heading-font-family); + color: var(--techwave-heading-color); + transition: all .3s ease; +} + +.fn__nav_bar .bar__item_language .item_popup a:hover, +.fn__nav_bar .bar__item_language .item_popup .active { + background-color: var(--techwave-some-a-bg-color); + color: var(--techwave-hover-color); +} + +.fn__nav_bar .bar__item_notification .item_opener:after { + content: ''; + position: absolute; + width: 12px; + height: 12px; + background-color: #f1416c; + border-radius: 100%; + top: 9px; + right: 10px; + opacity: 0; + visibility: hidden; +} + +.fn__nav_bar .bar__item_notification.has_notification .item_opener:after { + opacity: 1; + visibility: visible; +} + +.fn__nav_bar .bar__item_notification .item_popup { + width: 340px; + padding: 20px; + max-width: calc(100vw - 80px); +} + +.fn__nav_bar .bar__item_notification.opened .item_popup { + opacity: 1; + visibility: visible; + transform: translateY(0); +} + +.fn__nav_bar .bar__item_notification .ntfc_header { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: space-between; + column-gap: 20px; + padding: 1px 15px 20px; + border-bottom: 1px solid var(--techwave-border-color); +} + +.fn__nav_bar .bar__item_notification .ntfc_title { + font-size: 12px; + font-weight: 500; + margin: 0; + letter-spacing: .5px; + text-transform: uppercase; + font-family: var(--techwave-heading-font-family); + color: var(--techwave-body-color); +} + +.fn__nav_bar .bar__item_notification .ntfc_header a { + text-decoration: none; + font-size: 12px; + font-weight: 400; + font-family: var(--techwave-heading-font-family); + color: var(--techwave-body-color); +} + +.fn__nav_bar .bar__item_notification .ntfc_header a:hover { + color: var(--techwave-main-color); +} + +.fn__nav_bar .bar__item_notification .ntfc_list { + padding: 25px 15px 0; +} + +.fn__nav_bar .bar__item_notification .ntfc_list ul { + margin: 0; + padding: 0; + list-style-type: none; +} + +.fn__nav_bar .bar__item_notification .ntfc_list li { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + -o-flex-direction: column; + flex-direction: column; + margin-bottom: 20px; +} + +.fn__nav_bar .bar__item_notification .ntfc_list li:last-child { + margin-bottom: 0; +} + +.fn__nav_bar .bar__item_notification .ntfc_list p { + margin: 0; + padding: 0; + font-size: 16px; + font-weight: 400; + font-family: var(--techwave-heading-font-family); + color: var(--techwave-heading-color); +} + +.fn__nav_bar .bar__item_notification .ntfc_list p a { + color: var(--techwave-heading-color); + text-decoration: none; +} + +.fn__nav_bar .bar__item_notification .ntfc_list p a:hover { + color: var(--techwave-main-color); +} + +.fn__nav_bar .bar__item_notification .ntfc_list span { + font-size: 12px; + font-weight: 400; + font-family: var(--techwave-heading-font-family); + color: var(--techwave-body-color); + margin-top: -1px; +} + +.fn__nav_bar .bar__item_search .item_popup { + width: 200px; + padding: 20px; + max-width: calc(100vw - 80px); +} + +.techwave_fn_fixedsub { + opacity: 0; + visibility: hidden; + position: fixed; + left: var(--techwave-left-panel-width); + top: var(--techwave-header-height); + z-index: 101; + display: none; + background-color: var(--techwave-some-r-bg-color); + border: 1px solid var(--techwave-border-color); + border-left: none; + margin-top: calc(var(--techwave-header-height) - 21px); + /* 20px = padding-top and 1px = border-top */ + padding: 20px; + transition: all .2s ease; +} + +.panel-opened .techwave_fn_fixedsub { + display: block; +} + +.techwave_fn_fixedsub.opened { + opacity: 1; + visibility: visible; +} + +.techwave_fn_fixedsub ul { + margin: 0; + padding: 0; + list-style-type: none; +} + +.techwave_fn_fixedsub li { + margin-bottom: 4px; + position: relative; +} + +.techwave_fn_fixedsub li:last-child { + margin-bottom: 0; +} + +.techwave_fn_fixedsub a { + font-weight: 400; + border-radius: 5px; + font-family: var(--techwave-heading-font-family); + color: var(--techwave-heading-color); + text-decoration: none; + min-height: 36px; + padding: 5px 10px 5px 17px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + position: relative; +} + +.techwave_fn_fixedsub a:after { + width: 5px; + height: 2px; + background-color: var(--techwave-heading-color); + position: absolute; + left: 6px; + top: 50%; + margin-top: -1px; + content: ''; +} + +.techwave_fn_fixedsub a.active, +.techwave_fn_fixedsub a:hover { + background-color: var(--techwave-some-a-bg-color); +} + +/*------------------------------------------------------------------*/ + +/* 10) Footer +/*------------------------------------------------------------------*/ + +.techwave_fn_footer { + margin-top: auto; + min-height: 71px; + padding: 18px 40px; + border-top: 1px solid var(--techwave-border-color); +} + +.techwave_fn_footer_content { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + justify-content: space-between; + -ms-align-items: center; + align-items: center; +} + +.techwave_fn_footer .copyright p { + margin: 0; + padding: 0; + font-size: 14px; + letter-spacing: .5px; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_footer .menu_items ul { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-wrap: wrap; + margin: 0; + padding: 0; + list-style-type: none; + margin-left: -30px; +} + +.techwave_fn_footer .menu_items li { + margin: 5px 0 5px 30px; +} + +.techwave_fn_footer .menu_items a { + text-decoration: none; + font-size: 14px; + letter-spacing: .5px; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_footer .menu_items a:hover { + color: var(--techwave-main-color); +} + +/*------------------------------------------------------------------*/ + +/* 11) Page: Home (index) +/*------------------------------------------------------------------*/ + +.section_home { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + min-height: calc(100vh - var(--techwave-header-height) - 71px); +} + +.section_home .section_left { + padding: 93px 40px 80px; + border-right: 1px solid var(--techwave-border-color); + width: 60%; +} + +.section_home .section_right { + width: 40%; + padding: 155px 40px; +} + +.section_home .company_info { + margin: 0 auto; + max-width: 350px; +} + +.section_home .company_info hr { + margin-bottom: 24px; +} + +.section_home .company_info p { + margin-bottom: 23px; +} + +.section_home .company_info img { + margin-bottom: 25px; +} + +.section_home .techwave_fn_title_holder { + margin-bottom: 43px; +} + +/*------------------------------------------------------------------*/ + +/* 12) Shortcode: Title +/*------------------------------------------------------------------*/ + +.techwave_fn_title_holder { + text-align: center; +} + +.techwave_fn_title_holder .title { + margin: 0; + padding: 0; + font-family: var(--techwave-heading-font-family); + color: var(--techwave-heading-color); + margin-bottom: -1px; + font-size: 40px; +} + +.techwave_fn_title_holder .desc { + margin: 0; + padding: 0; + font-size: 18px; + font-weight: 400; + font-family: var(--techwave-body-font-family); + color: var(--techwave-body-color); +} + +/*------------------------------------------------------------------*/ + +/* 13) Shortcode: Interactive List +/*------------------------------------------------------------------*/ + +.techwave_fn_interactive_list ul { + margin: 0; + padding: 0; + list-style-type: none; + margin-left: -20px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + justify-content: center; + flex-wrap: wrap; +} + +.techwave_fn_interactive_list li { + width: 360px; + max-width: 50%; + padding-left: 20px; + margin-bottom: 20px; +} + +.techwave_fn_interactive_list .item { + border: 2px solid var(--techwave-border-color); + border-radius: 5px; + background-color: var(--techwave-some-r-bg-color); + min-height: 100%; + text-align: center; + transition: all .2s ease; +} + +.techwave_fn_interactive_list .item:hover { + background-color: var(--techwave-some-a-bg-color); + border-color: var(--techwave-main-color); +} + +.techwave_fn_interactive_list a { + text-decoration: none; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + -o-flex-direction: column; + flex-direction: column; + justify-content: center; + -ms-align-items: center; + align-items: center; + padding: 48px 30px; + min-height: 100%; +} + +.techwave_fn_interactive_list .icon { + width: 120px; + height: 120px; + border-radius: 100%; + background-color: var(--techwave-main-color); + position: relative; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; + color: #fff; + margin-bottom: 26px; +} + +.techwave_fn_interactive_list .icon .fn__svg { + width: 50px; + height: 50px; + display: block; +} + +.techwave_fn_interactive_list .title { + margin: 0; + padding: 0; + font-family: var(--techwave-heading-font-family); + color: var(--techwave-heading-color); + font-weight: 400; + font-size: 24px; + margin-bottom: 20px; +} + +.techwave_fn_interactive_list .desc { + margin: 0; + padding: 0; + font-family: var(--techwave-body-font-family); + color: var(--techwave-body-color); + font-weight: 400; + font-size: 16px; + line-height: 20px; + margin-bottom: 22px; +} + +.techwave_fn_interactive_list .arrow { + display: block; + width: 50px; + height: 14px; + color: var(--techwave-heading-color); + position: relative; +} + +.techwave_fn_interactive_list .arrow:after { + position: absolute; + content: ''; + height: 2px; + top: 50%; + margin-top: -1px; + background-color: var(--techwave-heading-color); + transition: all .3s ease; + right: 100%; + left: 0%; + margin-right: 0 +} + +.techwave_fn_interactive_list .item:hover .arrow:after { + right: 0; + margin-right: 4px; + left: 0; +} + +.techwave_fn_interactive_list .item:hover .arrow .fn__svg { + right: 0; + margin-right: 0; +} + +.techwave_fn_interactive_list .arrow .fn__svg { + width: 14px; + height: 14px; + display: block; + position: absolute; + right: 50%; + margin-right: -7px; + transition: all .3s ease; +} + +.techwave_fn_interactive_list.modern { + max-width: 700px; + margin: 0 auto; +} + +.techwave_fn_interactive_list.modern li { + width: 100%; + max-width: 100%; +} + +.techwave_fn_interactive_list.modern a { + -webkit-flex-direction: row; + -moz-flex-direction: row; + -ms-flex-direction: row; + -o-flex-direction: row; + flex-direction: row; + justify-content: flex-start; + padding: 18px 38px; +} + +.techwave_fn_interactive_list.modern .desc { + display: none; +} + +.techwave_fn_interactive_list.modern .icon { + margin-bottom: 0; + margin-right: 20px; + min-width: 60px; + width: 60px; + height: 60px; +} + +.techwave_fn_interactive_list.modern .icon .fn__svg { + width: 24px; + height: 24px; +} + +.techwave_fn_interactive_list.modern .title { + margin-bottom: 0; + margin-right: 20px; + font-size: 20px; +} + +.techwave_fn_interactive_list.modern .arrow { + margin-left: auto; +} + +/*------------------------------------------------------------------*/ + +/* 14) Shortcode: Members +/*------------------------------------------------------------------*/ + +.fn__members .item { + position: relative; + padding-left: 22px; + font-size: 16px; + line-height: 24px; + min-height: 24px; +} + +.fn__members .item { + margin-bottom: 8px; +} + +.fn__members .item:last-child { + margin-bottom: 0; +} + +.fn__members .circle { + width: 12px; + height: 12px; + border-radius: 100%; + display: block; + background-color: var(--techwave-body-color); + position: absolute; + top: 6px; + left: 0; +} + +.fn__members .active .circle { + background-color: #45c569; +} + +/*------------------------------------------------------------------*/ + +/* 15) Shortcode: Animated Title +/*------------------------------------------------------------------*/ + +.fn__animated_text { + opacity: 0; +} + +.fn__animated_text.ready { + opacity: 1; +} + +.fn__animated_text span { + animation: fn__animated_text 0.8s both; +} + +.fn__animated_text em { + opacity: 0; +} + +@keyframes fn__animated_text { + 0% { + opacity: 0; + } + 65% { + opacity: 1; + text-shadow: 0 0 25px white; + } + 75% { + opacity: 0.7; + } + 100% { + opacity: 1 + } +} + +/*------------------------------------------------------------------*/ + +/* 16) Page Title +/*------------------------------------------------------------------*/ + +.techwave_fn_pagetitle { + padding: 34px 40px; + border-bottom: 1px solid var(--techwave-border-color); +} + +.techwave_fn_pagetitle .title { + margin: 0; + padding: 0; + font-size: 22px; + line-height: 1.364; + font-weight: 600; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_pagetitle span { + color: var(--techwave-body-color); +} + +/*------------------------------------------------------------------*/ + +/* 17) Page: Changelog +/*------------------------------------------------------------------*/ + +.change_log { + padding: 40px 0; +} + +.faq { + padding: 40px 0; +} + +.techwave_fn_changelog .changelog__item { + border-radius: 5px; + border: 1px solid var(--techwave-border-color); + background-color: var(--techwave-some-r-bg-color); + margin-bottom: 40px; +} + +.techwave_fn_changelog .changelog__item:last-child { + margin-bottom: 0; +} + +.techwave_fn_changelog .item__header { + padding: 24px 30px; + border-bottom: 1px solid var(--techwave-border-color); + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + column-gap: 20px; + justify-content: space-between; + -ms-align-items: center; + align-items: center; +} + +.techwave_fn_changelog .item__ver { + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + font-size: 20px; + font-weight: 400; +} + +.techwave_fn_changelog .item__date { + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); + font-size: 11px; + font-weight: 500; + text-transform: uppercase; +} + +.techwave_fn_changelog .item__content { + padding: 40px 30px 34px; +} + +.techwave_fn_changelog .item__group { + margin-bottom: 34px; +} + +.techwave_fn_changelog .item__group:last-child { + margin-bottom: 0px; +} + +.techwave_fn_changelog .item__title { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + margin-bottom: 15px; +} + +.techwave_fn_changelog .item__title span { + height: 18px; + line-height: 18px; + padding: 0 10px; + border-radius: 9px; + font-weight: 500; + max-width: 100%; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + text-align: center; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + text-transform: uppercase; + font-size: 11px; + background-color: var(--techwave-some-a-bg-color); + padding-top: 1px; +} + +.techwave_fn_changelog .item__list { + margin: 0; + padding: 0; + list-style-type: none; +} + +.techwave_fn_changelog .item__list li { + position: relative; + min-height: 24px; + line-height: 24px; + font-size: 18px; + color: var(--techwave-body-color); + font-weight: 400; + padding-left: 15px; + margin-bottom: 8px; +} + +.techwave_fn_changelog .item__list li:last-child { + margin-bottom: 0; +} + +.techwave_fn_changelog .item__list li:after { + content: ''; + position: absolute; + left: 0; + top: 11px; + height: 2px; + background-color: var(--techwave-body-color); + width: 5px; +} + +/*------------------------------------------------------------------*/ + +/* 18) Searchbar +/*------------------------------------------------------------------*/ + +.techwave_fn_searchbar { + opacity: 0; + visibility: hidden; + transform: translateX(100px); + position: fixed; + top: 0; + left: var(--techwave-left-panel-width); + right: 0; + height: var(--techwave-header-height); + background-color: var(--techwave-header-bg-color); + padding: 0 40px; + z-index: 102; + transition: all .3s ease; + border-bottom: 1px solid var(--techwave-border-color); +} + +.techwave_fn_searchbar.opened { + opacity: 1; + visibility: visible; + transform: translateX(0); +} + +.techwave_fn_searchbar .search__results { + opacity: 0; + visibility: hidden; + transform: translateY(20px); + position: absolute; + top: 100%; + left: 0; + right: 0; + border-bottom: 1px solid var(--techwave-border-color); + background-color: var(--techwave-header-bg-color); + margin-top: 1px; + padding: 46px 40px; + transition: all .2s ease; +} + +.techwave_fn_searchbar .search__results.opened { + opacity: 1; + visibility: visible; + transform: translateY(0); +} + +.techwave_fn_searchbar .search__input { + height: var(--techwave-header-height); + padding: 0 50px 0 45px; + display: block; + width: 100%; + background-color: transparent !important; + border: none !important; + font-size: 16px; + font-weight: 400; + letter-spacing: 0; + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_searchbar .results__title { + font-weight: 500; + text-transform: uppercase; + font-size: 11px; + margin: 0; + margin-bottom: 19px; +} + +.techwave_fn_searchbar .search__icon { + width: 24px; + height: 24px; + display: block; + position: absolute; + top: 50%; + margin-top: -12px; + left: 40px; + pointer-events: none; +} + +.techwave_fn_searchbar .search__closer { + text-decoration: none; + width: 30px; + height: 30px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; + border-radius: 5px; + background-color: var(--techwave-some-a-bg-color); + position: absolute; + right: 40px; + top: 50%; + margin-top: -15px; + color: var(--techwave-heading-color); +} + +.techwave_fn_searchbar .search__closer .fn__svg { + width: 12px; + height: 12px; +} + +.techwave_fn_searchbar .search__results ul { + margin: 0; + padding: 0; + list-style-type: none; +} + +.techwave_fn_searchbar .search__results li { + font-weight: 400; + font-family: var(--techwave-heading-font-family); + font-size: 16px; + letter-spacing: 0; + color: var(--techwave-heading-color); + margin-bottom: 13px; +} + +.techwave_fn_searchbar .search__results li:last-child { + margin-bottom: 0; +} + +.techwave_fn_searchbar .search__results a { + text-decoration: none; + color: var(--techwave-heading-color); +} + +.techwave_fn_searchbar .search__results a:hover { + color: var(--techwave-main-color); +} + +/*------------------------------------------------------------------*/ + +/* 19) Shortcode: Accordion +/*------------------------------------------------------------------*/ + +.techwave_fn_accordion.small .acc__item { + border-width: 1px; +} + +.techwave_fn_accordion.small .acc__header { + padding: 15px 20px; +} + +.techwave_fn_accordion.small .acc__icon:after { + width: 11px; + height: 1px; + right: 20px; + margin-top: -1px; +} + +.techwave_fn_accordion.small .acc__icon:before { + width: 1px; + height: 11px; + right: 25px; + margin-top: -6px; +} + +.techwave_fn_accordion.small .acc__title { + font-size: 14px; + text-transform: uppercase; + line-height: 20px; +} + +.techwave_fn_accordion.small .acc__content { + padding: 14px 20px; +} + +.techwave_fn_accordion .acc__item { + border: 2px solid var(--techwave-border-color); + background-color: var(--techwave-some-r-bg-color); + border-radius: 5px; + margin-bottom: 10px; +} + +.techwave_fn_accordion .acc__item.opened .acc__header, +.techwave_fn_accordion .acc__item .acc__header:hover { + background-color: var(--techwave-some-a-bg-color); +} + +.techwave_fn_accordion .acc__item:last-child { + margin-bottom: 0; +} + +.techwave_fn_accordion .acc__header { + padding: 26px 30px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + column-gap: 20px; + justify-content: space-between; + -ms-align-items: center; + align-items: center; + position: relative; + cursor: pointer; + transition: all .3s ease; +} + +.techwave_fn_accordion .acc__title { + margin: 0; + padding: 0; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + font-size: 20px; + font-weight: 400; + line-height: 1.25; + padding-right: 23px; + top: 1px; +} + +.techwave_fn_accordion .acc__icon:after { + width: 18px; + height: 2px; + background-color: var(--techwave-heading-color); + content: ''; + position: absolute; + right: 30px; + top: 50%; + margin-top: -1px; +} + +.techwave_fn_accordion .opened .acc__icon:before { + transform: scale(0) rotate(90deg); +} + +.techwave_fn_accordion .acc__icon:before { + width: 2px; + height: 18px; + background-color: var(--techwave-heading-color); + content: ''; + position: absolute; + right: 38px; + top: 50%; + margin-top: -9px; + transition: all .3s ease; +} + +.techwave_fn_accordion .acc__content { + padding: 24px 30px; + display: none; + overflow: hidden; + border-top: 1px solid var(--techwave-border-color); +} + +.techwave_fn_accordion .acc__content p { + margin-bottom: 18px; +} + +.techwave_fn_accordion .acc__content>*:last-child { + margin-bottom: 0; +} + +/*------------------------------------------------------------------*/ + +/* 20) Page: Community Feed +/*------------------------------------------------------------------*/ + +.techwave_fn_community_page { + padding: 36px 0 40px 0; +} + +.techwave_fn_community_page .fn__title_holder { + margin-bottom: 28px; +} + +.fn__title_holder .title { + margin: 0; + padding: 0; + font-size: 22px; + font-weight: 600; +} + +/*------------------------------------------------------------------*/ + +/* 21) Tabs +/*------------------------------------------------------------------*/ + +.fn__tabs { + border-bottom: 1px solid var(--techwave-border-color); + margin-bottom: 30px; +} + +.fn__tabs .tab_in { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + width: 100%; + flex-wrap: wrap; +} + +.fn__tabs a { + text-decoration: none; + font-size: 14px; + font-weight: 500; + letter-spacing: .5px; + text-transform: uppercase; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + margin-right: 30px; + line-height: 40px; + position: relative; +} + +.fn__tabs a:after { + content: ''; + opacity: 0; + position: absolute; + left: 50%; + bottom: -1px; + height: 2px; + background-color: var(--techwave-main-color); + right: 50%; + transition: all .3s ease; +} + +.fn__tabs a.active:after { + left: 0; + right: 0; + opacity: 1; +} + +/*------------------------------------------------------------------*/ + +/* 22) Page: Personal Feed +/*------------------------------------------------------------------*/ + +.techwave_fn_feed .feed__filter { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + justify-content: space-between; + column-gap: 50px; + margin-bottom: 30px; + position: relative; + -ms-align-items: center; + align-items: center; + flex-wrap: wrap; +} + +.techwave_fn_feed .filter__left { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + margin: 5px 0; + flex-wrap: wrap; +} + +.techwave_fn_feed .filter__upscaled { + margin: 5px 0; +} + +.techwave_fn_feed .filter__left>* { + margin-right: 30px; +} + +.techwave_fn_feed .filter__left>*:last-child { + margin-right: 0; +} + +.techwave_fn_feed .filter__search { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-wrap: wrap; +} + +.techwave_fn_feed .filter__search a { + margin: 5px 0; +} + +.techwave_fn_feed .filter__search input { + margin: 5px 10px 5px 0; +} + +.techwave_fn_feed .filter__sorting { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + margin-left: -10px; +} + +.techwave_fn_feed .filter__sorting a { + margin: 5px 0 5px 10px; +} + +.fn__selection_box { + display: none; + border-top: 1px solid var(--techwave-border-color); + border-bottom: 1px solid var(--techwave-border-color); + padding: 25px 0; + margin-bottom: 30px; + position: sticky; + top: var(--techwave-header-height); + z-index: 5; + background: var(--techwave-site-bg-color); +} + +.fn__selection_box .desc { + margin: 0; + padding: 0; +} + +.fn__selection_box .selection_in { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + justify-content: space-between; + -ms-align-items: center; + align-items: center; +} + +.fn__selection_box .actions { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; +} + +.fn__selection_box .actions a { + margin: 5px 0 5px 10px; +} + +.techwave_fn_feed .feed__results { + margin-bottom: 60px; + position: relative; +} + +.techwave_fn_feed .feed__results.loading .fn__gallery_items { + opacity: 0; + visibility: hidden; +} + +.techwave_fn_feed .feed__results.loading .fn__preloader { + opacity: 1; + visibility: visible; +} + +.techwave_fn_feed .feed__more { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + justify-content: center; +} + +/*------------------------------------------------------------------*/ + +/* 23) Shortcode: Gallery Items +/*------------------------------------------------------------------*/ + +.fn__gallery_items { + margin: 0; + padding: 0; + list-style-type: none; + margin-left: -20px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-wrap: wrap; +} + +.fn__gallery_items .item.select__ready .item__info { + display: none; +} + +.fn__gallery_items .item.select__ready .fn__selectable_item { + opacity: 1; + visibility: visible; + pointer-events: all; +} + +.fn__selectable_item { + opacity: 0; + visibility: hidden; + pointer-events: none; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; + z-index: 3; + color: var(--techwave-hover-color); + border: 2px solid transparent; + border-radius: 5px; + cursor: pointer; +} + +.fn__selectable_item.selected { + border-color: var(--techwave-main-color); +} + +.fn__selectable_item.selected .icon { + background-color: var(--techwave-main-color); +} + +.fn__selectable_item.selected:after { + opacity: 0.1; +} + +.fn__selectable_item:after { + background-color: var(--techwave-site-bg-color); + opacity: .6; + position: absolute; + top: -2px; + left: -2px; + right: -2px; + bottom: -2px; + content: ''; +} + +.fn__selectable_item .icon { + width: 50px; + height: 50px; + background-color: var(--techwave-some-a-bg-color); + border-radius: 100%; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + justify-content: center; + -ms-align-items: center; + align-items: center; +} + +.fn__selectable_item .fn__svg { + position: relative; + z-index: 3; +} + +.fn__gallery_item { + margin: 0; + padding: 0; + padding-left: 20px; + width: 25%; + margin-bottom: 20px; +} + +.fn__gallery_items .item { + position: relative; + width: 100%; + overflow: hidden; + cursor: pointer; +} + +.fn__gallery_items .img img { + border-radius: 5px; + width: 100%; + height: 100%; +} + +.fn__gallery_items .item:hover .item__info { + opacity: 1; + visibility: visible; + transform: translateY(0); +} + +.fn__gallery_items .item__info { + opacity: 0; + visibility: hidden; + transform: translateY(20px); + position: absolute; + bottom: 10px; + left: 10px; + right: 10px; + border-radius: 5px; + background-color: var(--techwave-some-r-bg-color); + padding: 20px 15px 19px; + transition: all .3s ease; +} + +.fn__gallery_items .info__header { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + justify-content: space-between; + margin-bottom: 14px; + -ms-align-items: center; + align-items: center; + column-gap: 15px; +} + +.fn__gallery_items .user__info { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + max-width: 60%; +} + +.fn__gallery_items .author_name { + margin: 0; + padding: 0; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + font-size: 14px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.fn__gallery_items .user__info img { + width: 20px; + height: 20px; + object-fit: cover; + border-radius: 100%; + margin-right: 7px; +} + +.fn__gallery_items .item__info .desc { + margin: 0; + padding: 0; + font-size: 14px; + overflow: hidden; + display: -webkit-box; + -webkit-line-clamp: 3; + line-clamp: 3; + -webkit-box-orient: vertical; +} + +/*------------------------------------------------------------------*/ + +/* 24) Like Button +/*------------------------------------------------------------------*/ + +a.fn__like { + text-decoration: none; + font-size: 14px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + position: relative; + z-index: 25; + padding: 0 18px; + padding-right: 42px; + height: 40px; + border: 2px solid var(--techwave-some-a-bg-color); + border-radius: 20px; + line-height: 36px; +} + +a.fn__like .count { + position: relative; + top: 1px; +} + +a.fn__like .fn__svg { + position: absolute; + width: 18px; + height: 18px; + right: 18px; + top: 50%; + margin-top: -9px; + opacity: 0; +} + +a.fn__like .empty__like { + opacity: 1; +} + +a.fn__like.has__like .empty__like { + opacity: 0; +} + +a.fn__like.has__like .full__like { + opacity: 1; + color: var(--techwave-main-color); +} + +a.fn__like:hover { + opacity: .8; +} + +a.fn__like.has__like { + border-color: var(--techwave-main-color); +} + +a.fn__like.no_border { + border: none; + padding: 0 24px 0 0; + line-height: 16px; + border-radius: 0; + height: 16px; +} + +a.fn__like.no_border .fn__svg { + right: 0; +} + +/*------------------------------------------------------------------*/ + +/* 25) Checkbox +/*------------------------------------------------------------------*/ + +.fn__checkbox { + margin: 0; + padding: 0; + position: relative; + min-height: 20px; + line-height: 20px; + padding-left: 27px; + font-size: 16px; + font-weight: 400; + border: none; + outline: none; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; +} + +.fn__checkbox .fn__svg { + opacity: 0; + width: 12px; + height: 12px; + position: absolute; + left: 4px; + top: 50%; + margin-top: -6px; + border-color: var(--techwave-main-color); +} + +.fn__checkbox input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +.fn__checkbox input:checked~.fn__svg { + opacity: 1; +} + +.fn__checkbox input:checked~.checkmark { + border-color: var(--techwave-main-color); +} + +.fn__checkbox .checkmark { + width: 20px; + height: 20px; + display: block; + position: absolute; + top: 50%; + margin-top: -10px; + left: 0; + border: 2px solid var(--techwave-border-color); + border-radius: 3px; +} + +/*------------------------------------------------------------------*/ + +/* 26) Image Lightbox +/*------------------------------------------------------------------*/ + +.techwave_fn_img_lightbox { + opacity: 0; + visibility: hidden; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 105; + background-color: var(--techwave-site-bg-color); + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + -o-flex-direction: column; + flex-direction: column; + overflow-y: auto; + pointer-events: none; + transition: all .3s ease; +} + +.techwave_fn_img_lightbox.opened { + opacity: 1; + visibility: visible; + pointer-events: all; +} + +.techwave_fn_img_lightbox .lightbox__top { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + border-bottom: 1px solid var(--techwave-border-color); +} + +.techwave_fn_img_lightbox .lightbox__tl { + width: 70%; + width: calc(100% - 440px); +} + +.techwave_fn_img_lightbox .lightbox__tr { + width: 30%; + width: 440px; + border-left: 1px solid var(--techwave-border-color); +} + +.techwave_fn_img_lightbox .lightbox__tlbar { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + justify-content: space-between; + padding: 20px; + -ms-align-items: center; + align-items: center; +} + +.techwave_fn_img_lightbox .lightbox__tlbar_left { + flex: 3; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-wrap: wrap; +} + +.techwave_fn_img_lightbox .lightbox__tlbar_left .item { + margin: 2.5px 5px 2.5px 0; +} + +.techwave_fn_img_lightbox .lightbox__tlbar_center { + flex: 2; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; + column-gap: 5px; +} + +.techwave_fn_img_lightbox .lightbox__tlbar_right { + flex: 3; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + justify-content: flex-end; +} + +.techwave_fn_img_lightbox .img_nav { + text-decoration: none; + width: 40px; + height: 40px; + border: 2px solid var(--techwave-some-a-bg-color); + border-radius: 100%; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; + color: var(--techwave-heading-color); +} + +.techwave_fn_img_lightbox .img_nav:hover { + border-color: var(--techwave-main-color); +} + +.techwave_fn_img_lightbox .img_nav .fn__svg { + width: 12px; + height: 12px; +} + +.techwave_fn_img_lightbox .img_nav.nav_prev .fn__svg { + transform: rotate(180deg); +} + +.techwave_fn_img_lightbox .lightbox__tlimg { + padding: 0 40px 60px; + text-align: center; +} + +.techwave_fn_img_lightbox .user__profile { + padding: 20px 70px 20px 20px; + position: relative; + position: sticky; + top: 0; + background-color: var(--techwave-site-bg-color); + z-index: 2; + border-bottom: 1px solid var(--techwave-border-color); + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + width: 100%; +} + +.techwave_fn_img_lightbox .user__profile .profile_link { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + text-decoration: none; + -ms-align-items: center; + align-items: center; + margin-right: 10px; + max-width: 55%; +} + +.techwave_fn_img_lightbox .user__profile .profile_link .user_name { + margin: 0; + padding: 0; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + font-size: 16px; +} + +.techwave_fn_img_lightbox .user__profile .profile_link img { + min-width: 40px; + width: 40px; + height: 40px; + border-radius: 100%; + margin-right: 10px; + object-fit: cover; +} + +.techwave_fn_img_lightbox .fn__closer { + position: absolute; + right: 20px; + top: 50%; + margin-top: -15px; +} + +.techwave_fn_img_lightbox .item__details { + padding: 20px; + border-bottom: 1px solid var(--techwave-border-color); +} + +.techwave_fn_img_lightbox .item__details>* { + margin-bottom: 10px; +} + +.techwave_fn_img_lightbox .item__details>*:last-child { + margin-bottom: 0px; +} + +.techwave_fn_img_lightbox .lightbox__related { + padding: 36px 40px 20px; +} + +.techwave_fn_img_lightbox .lightbox__related .fn__title_holder { + margin-bottom: 33px; +} + +/*------------------------------------------------------------------*/ + +/* 27) Follow Button +/*------------------------------------------------------------------*/ + +.fn__follow { + padding: 0 10px; + position: relative; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + height: 24px; + white-space: nowrap; + max-width: 100%; + text-decoration: none; + background-color: var(--techwave-some-a-bg-color); + font-family: var(--techwave-heading-font-family); + font-size: 11px; + letter-spacing: .5px; + text-transform: uppercase; + border-radius: 12px; + line-height: 24px; + color: var(--techwave-body-color); + font-weight: 400; +} + +.fn__follow:hover { + opacity: .8; +} + +.fn__follow.has__follow { + background-color: #f1416c; + color: #fff; +} + +/*------------------------------------------------------------------*/ + +/* 28) Icon Button +/*------------------------------------------------------------------*/ + +.fn__icon_button { + width: 30px; + height: 30px; + border-radius: 5px; + background-color: var(--techwave-some-a-bg-color); + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; + color: var(--techwave-heading-color); +} + +.fn__icon_button .dots { + display: block; + position: relative; + width: 15px; + height: 3px; + border-left: 3px solid var(--techwave-heading-color); + border-right: 3px solid var(--techwave-heading-color); +} + +.fn__icon_button .dots:after { + width: 3px; + top: 0; + bottom: 0; + left: 3px; + content: ''; + position: absolute; + background-color: var(--techwave-heading-color); +} + +.fn__icon_button:hover { + opacity: .8; +} + +.fn__icon_button .fn__svg { + width: 12px; + height: 12px; +} + +/*------------------------------------------------------------------*/ + +/* 29) Model Button (used in image lightbox) +/*------------------------------------------------------------------*/ + +.fn__model { + position: relative; + background-color: var(--techwave-some-r-bg-color); + border: 1px solid var(--techwave-border-color); + border-radius: 5px; + padding: 10px 70px 10px 20px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; +} + +.fn__model .fn__icon_button { + position: absolute; + right: 20px; + top: 50%; + margin-top: -15px; +} + +.fn__model .model_img img { + width: 60px; + height: 60px; + object-fit: cover; + border-radius: 5px; + margin-right: 15px; +} + +.fn__model .model_subtitle { + margin: 0; + padding: 0; + font-weight: 500; + letter-spacing: .5px; + font-size: 11px; + text-transform: uppercase; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + margin-bottom: 5px; +} + +.fn__model .model_title { + margin: 0; + padding: 0; + font-weight: 400; + letter-spacing: 0px; + font-size: 16px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +/*------------------------------------------------------------------*/ + +/* 30) Prompt Details (used in image lightbox) +/*------------------------------------------------------------------*/ + +.fn__prompt_details { + position: relative; + background-color: var(--techwave-some-r-bg-color); + border: 1px solid var(--techwave-border-color); + border-radius: 5px; +} + +.fn__prompt_details .prompt__content { + padding: 0 20px 15px 20px; +} + +.fn__prompt_details .prompt__content p { + margin: 0; + font-size: 16px; + line-height: 20px; +} + +.fn__prompt_details .prompt__text { + margin: 0; + padding: 0; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + font-size: 14px; + font-weight: 400; + line-height: 20px; + text-transform: uppercase; +} + +.fn__prompt_details .prompt__options:hover .prompt__popup { + opacity: 1; + visibility: visible; + transform: translateY(0); +} + +.fn__prompt_details .prompt__popup { + right: 0; + position: absolute; + top: 100%; + padding-top: 5px; + opacity: 0; + visibility: hidden; + transform: translateY(20px); + transition: all .3s ease; +} + +.fn__prompt_details .prompt__popup ul { + width: 180px; + list-style-type: none; + background-color: var(--techwave-some-a-bg-color); + border-radius: 5px; + margin: 0; + padding: 15px 20px; +} + +.fn__prompt_details .prompt__popup a { + font-size: 16px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + text-decoration: none; + overflow: hidden; +} + +.fn__prompt_details .prompt__popup a:hover { + color: var(--techwave-main-color); +} + +.fn__prompt_details .prompt__popup li { + margin: 0; + margin-bottom: 3px; + font-size: 16px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +.fn__prompt_details .prompt__popup li:last-child { + margin-bottom: 0; +} + +.fn__prompt_details .prompt__options { + position: absolute; + top: 50%; + right: 20px; + margin-top: -15px; +} + +.fn__prompt_details .prompt__header { + position: relative; + padding: 15px 70px 10px 20px; +} + +/*------------------------------------------------------------------*/ + +/* 31) Detailed list (used in image lightbox) +/*------------------------------------------------------------------*/ + +.fn__details_list { + padding: 27px 30px 3px; +} + +.fn__details_list ul { + margin: 0; + padding: 0; + list-style-type: none; + margin-left: -30px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-wrap: wrap; +} + +.fn__details_list li { + padding-left: 30px; + margin-bottom: 20px; + width: 50%; +} + +.fn__details_list .sub_title { + margin: 0; + padding: 0; + font-weight: 500; + letter-spacing: .5px; + font-size: 11px; + text-transform: uppercase; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + margin-bottom: 1px; +} + +.fn__details_list .title { + margin: 0; + padding: 0; + font-weight: 400; + letter-spacing: 0px; + font-size: 16px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +/*------------------------------------------------------------------*/ + +/* 32) Grid Items (used in image lightbox) +/*------------------------------------------------------------------*/ + +.fn__grid_items ul { + margin: 0; + padding: 0; + list-style-type: none; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-wrap: wrap; + margin-left: -20px; +} + +.fn__grid_items li { + padding-left: 20px; + margin-bottom: 20px; + width: 16.6666%; +} + +.fn__grid_items img { + border-radius: 5px; + display: block; + width: 100%; + height: 100%; + aspect-ratio: 1 / 1; + object-fit: cover; + transition: all .3s ease; +} + +.fn__grid_items img:hover { + -webkit-filter: brightness(.5); + filter: brightness(.5); +} + +/*------------------------------------------------------------------*/ + +/* 33) Reportbox +/*------------------------------------------------------------------*/ + +.techwave_fn_report { + pointer-events: none; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 110; + opacity: 0; + visibility: hidden; + background-color: var(--techwave-site-bg-color); + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; + overflow-y: auto; + padding: 40px; +} + +.techwave_fn_report.opened { + pointer-events: all; + opacity: 1; + visibility: visible; +} + +.techwave_fn_report .report__closer { + z-index: 1; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +.techwave_fn_report .report__content { + width: 600px; + max-width: 100%; + border-radius: 5px; + background-color: var(--techwave-some-r-bg-color); + padding: 30px; + padding-bottom: 25px; + position: relative; + border: 1px solid var(--techwave-border-color); + z-index: 3; +} + +.techwave_fn_report .fn__closer { + position: absolute; + right: 30px; + top: 30px; + z-index: 2; +} + +.techwave_fn_report .title { + text-align: center; + margin: 0; + padding: 0; + font-weight: 500; + font-size: 24px; + letter-spacing: 0; + margin-bottom: 4px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_report .subtitle { + display: block; + margin: 0; + padding: 0; + font-size: 16px; + font-weight: 400; + line-height: 40px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_report .reason_field { + display: block; + width: 100%; + margin-bottom: 15px; + height: 50px; + border-radius: 5px; +} + +.techwave_fn_report .btns { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; +} + +.techwave_fn_report .btns .cancel { + opacity: .6; +} + +.techwave_fn_report .btns a { + margin: 5px 10px 5px 0; +} + +/*------------------------------------------------------------------*/ + +/* 34) Ajax Loader (Loading) +/*------------------------------------------------------------------*/ + +.fn__preloader { + opacity: 0; + visibility: hidden; + position: absolute; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + -o-flex-direction: column; + flex-direction: column; + -ms-align-items: center; + align-items: center; + justify-content: center; + width: 100%; + height: 150px; + border: 2px solid var(--techwave-border-color); + top: 0; + left: 0; + z-index: 1; +} + +.fn__preloader .text { + display: block; + font-size: 18px; + letter-spacing: .25px; + text-transform: uppercase; + font-family: var(--techwave-heading-font-family); + font-weight: 600; + color: var(--techwave-heading-color); +} + +.fn__preloader .icon { + width: 60px; + height: 60px; + display: block; + border: 4px solid transparent; + border-top-color: var(--techwave-hover-color); + border-right-color: var(--techwave-hover-color); + border-bottom-color: var(--techwave-hover-color); + border-radius: 100%; + animation: techwave_spin 1s linear infinite; + margin-bottom: 15px; +} + +.fn__preloader.loading { + opacity: 1; + visibility: visible; +} + +@keyframes techwave_spin { + 0% { + -webkit-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +/*------------------------------------------------------------------*/ + +/* 35) Page: Sign In and Sign Up +/*------------------------------------------------------------------*/ + +.techwave_fn_sign { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 110; + background-color: var(--techwave-site-bg-color); + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; + overflow-y: auto; + padding: 50px 40px; +} + +.techwave_fn_sign .logo { + background-image: none, url(../img/logo-desktop-full.png); + background-size: 141px; + background-position: center top; + background-repeat: no-repeat; + color: #3c434a; + height: 17px; + font-size: 20px; + font-weight: 400; + line-height: 1.3; + margin: 0 auto 50px; + padding: 0; + text-decoration: none; + width: 141px; + text-indent: -9999px; + outline: 0; + overflow: hidden; + display: block; +} + +.techwave_fn_sign .sign__desc p { + margin: 0; + margin-top: 25px; + text-align: center; + font-size: 14px; + line-height: 18px; + letter-spacing: 0; + font-family: var(--techwave-body-font-family); + color: var(--techwave-body-color); +} + +.techwave_fn_sign .sign__desc p a { + text-decoration: none; + color: var(--techwave-heading-color); +} + +.techwave_fn_sign .sign__desc p a:hover { + text-decoration: underline; +} + +.techwave_fn_sign .sign__content { + width: 500px; + max-width: 100%; +} + +.techwave_fn_sign .form__content { + width: 100%; + border-radius: 5px; + background-color: var(--techwave-some-r-bg-color); + padding: 36px 50px 40px 50px; + position: relative; + border: 1px solid var(--techwave-border-color); +} + +.techwave_fn_sign .form__email, +.techwave_fn_sign .form__name, +.techwave_fn_sign .form__username { + margin-bottom: 17px; +} + +.techwave_fn_sign .pass_lab { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: space-between; +} + +.techwave_fn_sign .pass_lab a { + font-size: 16px; + text-decoration: none; + font-family: var(--techwave-body-font-family); + color: var(--techwave-main-color); + line-height: 40px; +} + +.techwave_fn_sign .pass_lab a:hover { + text-decoration: underline; +} + +.techwave_fn_sign .form__title { + text-align: center; + font-size: 24px; + margin: 0; + font-weight: 500; + font-family: var(--techwave-body-font-family); + color: var(--techwave-heading-color); + line-height: 1; + margin-bottom: 3px; +} + +.techwave_fn_sign label { + display: block; + font-size: 16px; + font-weight: 400; + font-family: var(--techwave-body-font-family); + color: var(--techwave-heading-color); + line-height: 40px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.techwave_fn_sign input[type="text"], +.techwave_fn_sign input[type="password"] { + display: block; + width: 100%; + border-radius: 5px; + height: 60px; + min-width: 100%; +} + +.techwave_fn_sign .fn__lined_text { + margin-bottom: 14px; +} + +.fn__lined_text { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + width: 100%; +} + +.fn__lined_text .line { + width: 50%; + height: 1px; + background-color: var(--techwave-border-color); +} + +.fn__lined_text .text { + white-space: nowrap; + font-size: 14px; + text-transform: uppercase; + margin: 0; + color: var(--techwave-body-color); + font-family: var(--techwave-body-font-family); + padding: 0 10px; +} + +.techwave_fn_sign .form__alternative a { + width: 100%; +} + +.techwave_fn_sign .form__submit { + margin-bottom: 14px; +} + +.techwave_fn_sign .form__pass { + margin-bottom: 30px; +} + +/*------------------------------------------------------------------*/ + +/* 36) Select Filter (personal feed page) +/*------------------------------------------------------------------*/ + +.filter__select { + position: relative; + z-index: 5; +} + +.filter__select .item__popup { + opacity: 0; + visibility: hidden; + transform: translateY(20px); + position: absolute; + right: 0; + top: 100%; + width: 140px; + margin: 0; + padding: 0; + padding-top: 5px; + transition: all .3s ease; +} + +.filter__select:hover .item__popup { + opacity: 1; + visibility: visible; + transform: translateY(0); +} + +.filter__select .item__popup ul { + list-style-type: none; + background-color: var(--techwave-some-a-bg-color); + border-radius: 5px; + margin: 0; + padding: 15px 20px; +} + +.filter__select .item__popup li:last-child { + margin-bottom: 0; +} + +.filter__select .item__popup li { + margin: 0; + margin-bottom: 3px; + font-size: 16px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +.filter__select .item__popup a { + font-size: 16px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + text-decoration: none; + overflow: hidden; +} + +.filter__select .item__popup a:hover { + color: var(--techwave-main-color); + opacity: .9; +} + +/*------------------------------------------------------------------*/ + +/* 37) Page: Notifications +/*------------------------------------------------------------------*/ + +.techwave_fn_notifications_content { + padding: 40px 0; +} + +.techwave_fn_notifications_list .notification__item:last-child { + margin-bottom: 0; +} + +.techwave_fn_notifications_list .notification__item { + padding: 24px 30px; + border-radius: 5px; + border: 1px solid var(--techwave-border-color); + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + column-gap: 20px; + justify-content: space-between; + -ms-align-items: center; + align-items: center; + background-color: var(--techwave-some-r-bg-color); + margin-bottom: 10px; + position: relative; + transition: all .3s ease; +} + +.techwave_fn_notifications_list .notification__item:hover { + background-color: var(--techwave-some-a-bg-color); +} + +.techwave_fn_notifications_list .item__title { + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + font-size: 20px; + font-weight: 400; + margin: 0; + padding: 0; +} + +.techwave_fn_notifications_list .item__date { + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); + font-size: 11px; + font-weight: 500; + text-transform: uppercase; +} + +.techwave_fn_notification_single_content { + padding: 40px 0; +} + +/*------------------------------------------------------------------*/ + +/* 38) Back To button (notification single page) +/*------------------------------------------------------------------*/ + +.fn__backto { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; +} + +.fn__backto a { + text-decoration: none; + height: 30px; + line-height: 30px; + position: relative; + padding-left: 30px; + padding-right: 13px; + border-radius: 5px; + font-size: 16px; + letter-spacing: 0; + font-family: var(--techwave-heading-font-family); + color: var(--techwave-heading-color); + font-weight: 400; + display: block; + background-color: var(--techwave-some-a-bg-color); +} + +.fn__backto a:hover { + color: var(--techwave-main-color); +} + +.fn__backto a .text { + position: relative; + top: 1px; +} + +.fn__backto a .fn__svg { + transform: rotate(180deg); + width: 12px; + height: 12px; + left: 10px; + top: 50%; + margin-top: -6px; + position: absolute; +} + +/*------------------------------------------------------------------*/ + +/* 39) Page: Pricing +/*------------------------------------------------------------------*/ + +.techwave_fn_pricing_page { + padding: 93px 0px 100px; +} + +.techwave_fn_pricing_page .techwave_fn_title_holder { + margin-bottom: 43px; +} + +.techwave_fn_pricing_page .techwave_fn_pricing { + margin-bottom: 111px; +} + +.techwave_fn_pricing .pricing__tab { + display: none; +} + +.techwave_fn_pricing .pricing__tab.active { + display: block; +} + +.techwave_fn_pricing .pricing__toggle { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; + margin-bottom: 40px; +} + +.techwave_fn_pricing .pricing__toggle .bg { + position: absolute; + height: 40px; + top: 9px; + left: 50%; + border-radius: 20px; + background-color: var(--techwave-some-a-bg-color); + z-index: 1; + transition: all .3s ease; + width: 0; +} + +.techwave_fn_pricing .pricing__toggle .toggle_in { + border: 1px solid var(--techwave-border-color); + border-radius: 60px; + padding: 9px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + position: relative; +} + +.techwave_fn_pricing .pricing__toggle a { + text-decoration: none; + height: 40px; + line-height: 40px; + padding: 0 35px; + font-size: 14px; + margin: 0; + font-weight: 500; + text-transform: uppercase; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + position: relative; + z-index: 2; +} + +.techwave_fn_pricing .pricing__toggle a:hover { + color: var(--techwave-main-color); +} + +.techwave_fn_pricing .pricing__content { + border: 1px solid var(--techwave-border-color); + border-radius: 5px; + background-color: var(--techwave-some-r-bg-color); +} + +.techwave_fn_pricing .popular { + position: absolute; + top: 0; + margin-top: -16px; + background-color: #ab0cdf; + height: 30px; + border-radius: 15px; + font-weight: 500; + color: #fff; + letter-spacing: 0; + text-transform: uppercase; + font-family: var(--techwave-heading-font-family); + padding: 0 18px; + font-size: 14px; + line-height: 30px; + left: 50%; + transform: translateX(-50%); + text-align: center; + z-index: 3; +} + +.techwave_fn_pricing .popular * { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + max-width: 100%; + display: block; +} + +.techwave_fn_pricing .popular:after { + content: ''; + left: 50%; + margin-left: -6px; + top: 100%; + width: 0; + height: 0; + border-style: solid; + border-width: 4px 6px 0 6px; + border-color: #ab0cdf transparent transparent transparent; + position: absolute; +} + +.techwave_fn_pricing .item_row { + margin-left: -1px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + text-align: center; +} + +.techwave_fn_pricing .item_row .item_col:nth-child(1) { + width: 31%; + max-width: 31%; + text-align: left; + justify-content: flex-start; +} + +.techwave_fn_pricing .item_row .item_col { + width: 23%; + max-width: 23%; + border-left: 1px solid var(--techwave-border-color); + position: relative; +} + +.techwave_fn_pricing .pricing__header .title { + margin: 0; + padding: 0; + font-size: 24px; + letter-spacing: 0; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + margin-bottom: 10px; +} + +.techwave_fn_pricing .pricing__header .price { + margin: 0; + padding: 0; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + font-size: 14px; + font-weight: 500; + margin-bottom: 11px; +} + +.techwave_fn_pricing .pricing__header .price span { + font-size: 36px; + font-weight: 500; +} + +.techwave_fn_pricing .pricing__header .desc { + margin: 0; + padding: 0; + font-size: 14px; + letter-spacing: 0; + line-height: 20px; + font-weight: 400; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); + margin-bottom: 24px; +} + +.techwave_fn_pricing .pricing__header .desc span { + color: var(--techwave-heading-color); +} + +.techwave_fn_pricing .pricing__header .purchase { + padding: 0; + margin: 0; +} + +.techwave_fn_pricing .pricing__header .purchase a { + width: 100%; +} + +.techwave_fn_pricing .pricing__header .item_col { + padding: 35px 30px 40px 30px; +} + +.techwave_fn_pricing .pricing__heading { + background-color: var(--techwave-some-a-bg-color); + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + margin: 0 -1px; +} + +.techwave_fn_pricing .pricing__heading .item.wide { + width: 69%; + max-width: 69%; +} + +.techwave_fn_pricing .pricing__heading .item { + height: 54px; + position: relative; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + padding: 0 30px; +} + +.techwave_fn_pricing .pricing__heading .item { + width: 31%; + max-width: 31%; +} + +.techwave_fn_pricing .pricing__heading .title { + font-size: 14px; + margin: 0; + padding: 0; + font-weight: 500; + letter-spacing: .5px; + text-transform: uppercase; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_pricing .pricing__heading .item_col:first-child { + padding: 0 40px; +} + +.techwave_fn_pricing .pricing__heading .item.wide:after { + content: ''; + left: 30px; + right: 30px; + position: absolute; + height: 4px; + border-radius: 5px; + top: 50%; + margin-top: -2px; + background-color: var(--techwave-site-bg-color); +} + +.techwave_fn_pricing .pricing__fields .item_row:nth-child(1) .item_col { + padding-top: 35px; +} + +.techwave_fn_pricing .pricing__fields .item_row:last-child .item_col { + padding-bottom: 24px; +} + +.techwave_fn_pricing .pricing__fields .item_col { + padding: 9px 30px; + line-height: 24px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; +} + +.techwave_fn_pricing .pricing__fields .option_text { + font-size: 16px; + margin: 0; + padding: 0; + letter-spacing: .5px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_pricing .pricing__fields .heading_text { + font-size: 16px; + margin: 0; + padding: 0; + letter-spacing: .5px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_pricing .pricing__footer { + border-top: 1px solid var(--techwave-border-color); +} + +.techwave_fn_pricing .pricing__footer .item_col { + padding: 40px 30px; +} + +.techwave_fn_pricing .pricing__footer a { + width: 100%; +} + +/*------------------------------------------------------------------*/ + +/* 40) Shortcode: Pricing Mobile +/*------------------------------------------------------------------*/ + +.fn__mobile_pricing { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + display: none; + flex-wrap: wrap; + margin-left: -20px; + text-align: center; +} + +.fn__mobile_pricing .pricing__item { + width: 33.3333%; + padding-left: 20px; + margin-bottom: 20px; +} + +.fn__mobile_pricing .pricing__item_holder { + width: 100%; + background-color: var(--techwave-some-r-bg-color); + border: 1px solid var(--techwave-border-color); + border-radius: 5px; + position: relative; +} + +.fn__mobile_pricing .pricing__item__header { + padding: 35px 10px 40px 10px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + -o-flex-direction: column; + flex-direction: column; + justify-content: center; + -ms-align-items: center; + align-items: center; +} + +.fn__mobile_pricing .pricing__item__header .title { + margin: 0; + padding: 0; + font-size: 24px; + letter-spacing: 0; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + margin-bottom: 10px; +} + +.fn__mobile_pricing .pricing__item__header .price { + margin: 0; + padding: 0; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + font-size: 14px; + font-weight: 500; + margin-bottom: 11px; +} + +.fn__mobile_pricing .pricing__item__header .price span { + font-size: 36px; + font-weight: 500; +} + +.fn__mobile_pricing .pricing__item__header .desc { + margin: 0; + padding: 0; + font-size: 14px; + letter-spacing: 0; + line-height: 20px; + font-weight: 400; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); + margin-bottom: 24px; +} + +.fn__mobile_pricing .pricing__item__header .desc span { + color: var(--techwave-heading-color); +} + +.fn__mobile_pricing .pricing__item__header .purchase { + padding: 0; + margin: 0; +} + +.fn__mobile_pricing .pricing__item__header .purchase a { + width: 100%; +} + +.fn__mobile_pricing .pricing__item__heading { + background-color: var(--techwave-some-a-bg-color); + padding: 0 10px; + text-align: center; + height: 40px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; +} + +.fn__mobile_pricing .pricing__item__heading .title { + font-size: 14px; + margin: 0; + padding: 0; + font-weight: 500; + letter-spacing: .5px; + text-transform: uppercase; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +.fn__mobile_pricing .pricing__item_list { + padding: 10px 0px; +} + +.fn__mobile_pricing .pricing__item_list_item { + padding: 7px 10px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: space-between; + column-gap: 20px; +} + +.fn__mobile_pricing .pricing__item_list .title { + font-size: 14px; + margin: 0; + padding: 0; + letter-spacing: .5px; + font-weight: 400; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); + text-align: left; +} + +.fn__mobile_pricing .pricing__item_list .desc { + font-size: 16px; + margin: 0; + padding: 0; + letter-spacing: .5px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + text-align: right; + white-space: nowrap; +} + +.fn__mobile_pricing .pricing__item_footer { + padding: 30px 10px; + border-top: 1px solid var(--techwave-border-color); + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; +} + +/*------------------------------------------------------------------*/ + +/* 41) Page: User Profile +/*------------------------------------------------------------------*/ + +.techwave_fn_user_profile { + padding: 40px 0; +} + +.techwave_fn_user_profile .user__profile { + border-radius: 5px; + background-color: var(--techwave-some-r-bg-color); + border: 1px solid var(--techwave-border-color); + position: relative; + padding: 30px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + margin-bottom: 10px; +} + +.techwave_fn_user_profile .user__profile .user_edit { + position: absolute; + top: 30px; + right: 30px; +} + +.techwave_fn_user_profile .user__profile .user_edit .fn__svg { + width: 16px; + height: 16px; +} + +.techwave_fn_user_profile .user__profile .user_avatar { + width: 200px; + min-width: 200px; + margin-right: 30px; +} + +.techwave_fn_user_profile .user__profile .user_avatar img { + width: 100%; + height: 100%; + object-fit: cover; + aspect-ratio: 1 / 1; + border-radius: 5px; +} + +.techwave_fn_user_profile .user__profile .user_details ul { + margin: 0; + padding: 0; + list-style-type: none; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-wrap: wrap; + margin-left: -20px; +} + +.techwave_fn_user_profile .user__profile .user_details li { + margin: 11px 0; + padding: 0; + width: 50%; + padding-left: 20px; +} + +.techwave_fn_user_profile .user__profile .subtitle { + margin: 0; + padding: 0; + font-weight: 500; + letter-spacing: .5px; + font-size: 11px; + text-transform: uppercase; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + margin-bottom: 7px; +} + +.techwave_fn_user_profile .user__profile .title { + margin: 0; + padding: 0; + font-weight: 400; + letter-spacing: 0px; + font-size: 16px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_user_profile .user__plan { + border-radius: 5px; + background-color: var(--techwave-some-r-bg-color); + border: 1px solid var(--techwave-border-color); + position: relative; + padding: 38px 30px 33px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: space-between; + margin-bottom: 38px; + column-gap: 30px; +} + +.techwave_fn_user_profile .user__plan .subtitle { + margin: 0; + padding: 0; + font-weight: 500; + letter-spacing: .5px; + font-size: 11px; + text-transform: uppercase; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + margin-bottom: 4px; +} + +.techwave_fn_user_profile .user__plan .info { + margin: 0; + padding: 0; + font-weight: 400; + letter-spacing: 0px; + font-size: 16px; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_user_profile .user__plan .info span { + color: var(--techwave-heading-color); +} + +.techwave_fn_user_profile .user__interests .title { + margin: 0; + padding: 0; + font-weight: 400; + letter-spacing: 0px; + font-size: 16px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + margin-bottom: 14px; +} + +/*------------------------------------------------------------------*/ + +/* 42) Shortcode: Options list (used in user profile page) +/*------------------------------------------------------------------*/ + +.fn__options_list ul { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-wrap: wrap; + margin: 0; + padding: 0; + list-style-type: none; + margin-left: -10px; +} + +.fn__options_list li { + padding-left: 10px; + margin-bottom: 10px; +} + +/*------------------------------------------------------------------*/ + +/* 43) Page: User Settings +/*------------------------------------------------------------------*/ + +.techwave_fn_user_settings { + padding: 40px 0; +} + +.techwave_fn_user_settings .user__settings { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + column-gap: 40px; +} + +.techwave_fn_user_settings .settings_left { + width: 300px; + max-width: 50%; +} + +.techwave_fn_user_settings .settings_right { + flex: auto; + max-width: 50%; +} + +.techwave_fn_user_settings .input_label { + display: block; + font-size: 16px; + font-weight: 400; + font-family: var(--techwave-body-font-family); + color: var(--techwave-heading-color); + line-height: 40px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.techwave_fn_user_settings .input_item { + position: relative; +} + +.techwave_fn_user_settings .input_item .email { + margin: 0; + padding: 0; + position: absolute; + top: 50%; + margin-top: -15px; + border-radius: 5px; + display: block; + width: 30px; + height: 30px; + background-color: var(--techwave-some-a-bg-color); + left: 12px; + color: var(--techwave-main-color); + line-height: 30px; + text-align: center; + font-size: 16px; + font-family: var(--techwave-body-font-family); + pointer-events: none; +} + +.techwave_fn_user_settings .input { + display: block; + width: 100%; + border-radius: 5px; + height: 60px; +} + +.techwave_fn_user_settings .settings_right .fn__checkbox { + margin: 30px 0; + display: block; + width: fit-content; + max-width: 100%; +} + +.techwave_fn_user_settings .settings_right .item { + margin-bottom: 17px; +} + +.techwave_fn_user_settings .settings_right .item:last-child { + margin-bottom: 0; +} + +.techwave_fn_user_settings #username { + padding-left: 50px; +} + +/*------------------------------------------------------------------*/ + +/* 44) Upload Button +/*------------------------------------------------------------------*/ + +.fn__upload { + cursor: pointer; + text-align: center; + width: 100%; + aspect-ratio: 1 / 1; + border: 2px dashed var(--techwave-border-color); + border-radius: 5px; + background-color: var(--techwave-some-r-bg-color); + padding: 46px; + transition: all .3s ease; + position: relative; + display: block; + overflow: hidden; +} + +.fn__upload .upload_content { + width: 100%; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + -o-flex-direction: column; + flex-direction: column; + justify-content: center; + -ms-align-items: center; + align-items: center; + min-height: 100%; +} + +.fn__upload.has_img { + border-color: var(--techwave-main-color); +} + +.fn__upload.has_img .upload_content { + opacity: 0; +} + +.fn__upload .upload_preview { + opacity: 0; + visibility: hidden; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + -ms-align-items: center; + align-items: center; + justify-content: center; +} + +.fn__upload.has_img .upload_preview { + opacity: 1; + visibility: visible; +} + +.fn__upload:hover { + opacity: .8; +} + +.fn__upload .preview_img { + object-fit: cover; +} + +.fn__upload .preview_img[src="#"] { + opacity: 0; +} + +.fn__upload input[type="file"] { + z-index: 2; + position: absolute; + top: 0; + left: 0; + opacity: 0; + width: 100%; + height: 100%; + display: block; + cursor: pointer; +} + +.fn__upload .upload_content .fn__svg { + width: 70px; + height: auto; + color: var(--techwave-heading-color); + margin-bottom: 15px; +} + +.fn__upload .upload_content .fn__lined_text { + margin-bottom: 4px; +} + +.fn__upload .upload_content .title { + margin: 0; + padding: 0; + font-weight: 400; + letter-spacing: 0px; + font-size: 16px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + margin-bottom: 3px; +} + +.fn__upload .upload_content .desc { + margin: 0; + padding: 0; + padding-top: 6px; + font-size: 12px; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); +} + +.fn__upload .fn__closer { + position: absolute; + right: 10px; + top: 10px; + z-index: 3; +} + +/*------------------------------------------------------------------*/ + +/* 45) Page: User Billing +/*------------------------------------------------------------------*/ + +.techwave_fn_user_billing { + padding: 40px 0; +} + +.techwave_fn_user_billing .billing__plan { + border-radius: 5px; + background-color: var(--techwave-some-r-bg-color); + border: 1px solid var(--techwave-border-color); + position: relative; + padding: 28px 30px 23px; + margin-bottom: 10px; +} + +.techwave_fn_user_billing .billing__plan .title { + margin: 0; + padding: 0; + font-weight: 400; + letter-spacing: 0px; + font-size: 16px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + margin-bottom: 4px; +} + +.techwave_fn_user_billing .billing__plan .desc { + margin: 0; + padding: 0; + font-weight: 400; + letter-spacing: 0px; + font-size: 16px; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_user_billing .billing__plan .plan { + position: absolute; + left: 30px; + top: -10px; + display: block; + height: 20px; + padding: 0 15px; + background-color: var(--techwave-main-color); + color: #fff; + font-family: var(--techwave-heading-font-family); + font-weight: 500; + font-size: 11px; + letter-spacing: .5px; + text-transform: uppercase; + line-height: 20px; + border-radius: 10px; +} + +.techwave_fn_user_billing .billing__plan .plan * { + position: relative; + top: 1px; +} + +.techwave_fn_user_billing .billing__activation { + margin-bottom: 39px; +} + +.techwave_fn_user_billing .billing__activation .activation_status .title { + margin: 0; + padding: 0; + font-weight: 400; + letter-spacing: 0px; + font-size: 16px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + margin-bottom: 5px; +} + +.techwave_fn_user_billing .billing__activation .activation_status .desc { + margin: 0; + padding: 0; + font-weight: 400; + letter-spacing: 0px; + font-size: 16px; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_user_billing .billing__activation .activation_status { + border-radius: 5px; + background-color: var(--techwave-some-r-bg-color); + border: 1px solid var(--techwave-border-color); + position: relative; + padding: 28px 30px 23px; + margin-bottom: 15px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + justify-content: space-between; + column-gap: 30px; +} + +.techwave_fn_user_billing .billing__activation .status_right { + width: 150px; + max-width: 50%; + text-align: right; +} + +.techwave_fn_user_billing .billing__activation .status_right .info { + display: block; + font-size: 11px; + letter-spacing: .5px; + text-transform: uppercase; + font-weight: 500; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); + line-height: 1; + margin-bottom: 6px; +} + +.techwave_fn_user_billing .billing__activation .status_right .progress { + display: block; + width: 100%; + height: 4px; + background-color: var(--techwave-some-a-bg-color); + border-radius: 4px; + position: relative; +} + +.techwave_fn_user_billing .billing__activation .status_right .progress.active:after { + width: var(--frenify-progress); +} + +.techwave_fn_user_billing .billing__activation .status_right .progress:after { + right: 0; + top: 0; + position: absolute; + bottom: 0; + background-color: var(--techwave-main-color); + border-radius: 4px; + width: 0; + transition: all .3s ease; + content: ''; +} + +.techwave_fn_user_billing .billing__activation .activation_actions { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-wrap: wrap; +} + +.techwave_fn_user_billing .billing__activation .activation_actions a { + margin: 5px 10px 5px 0; +} + +.techwave_fn_user_billing .payment__methods .title { + margin: 0; + padding: 0; + font-size: 22px; + line-height: 1.364; + font-weight: 600; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + margin-bottom: 22px; +} + +.techwave_fn_user_billing .payment__methods .payment__list { + margin: 0; + list-style-type: none; + padding: 0; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-wrap: wrap; + margin-left: -20px; +} + +.techwave_fn_user_billing .payment__methods .payment__list_item { + margin: 0; + padding: 0; + width: 50%; + padding-left: 20px; + margin-bottom: 20px; +} + +.techwave_fn_user_billing .payment__methods .ready .item { + border-radius: 5px; + background-color: var(--techwave-some-r-bg-color); + border: 1px solid var(--techwave-border-color); + position: relative; +} + +.techwave_fn_user_billing .payment__methods .ready .item_header { + padding: 17px 15px 13px; + border-bottom: 1px solid var(--techwave-border-color); +} + +.techwave_fn_user_billing .payment__methods .ready .title { + margin: 0; + padding: 0; + font-weight: 400; + letter-spacing: 0px; + font-size: 16px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + margin-bottom: 3px; +} + +.techwave_fn_user_billing .payment__methods .ready .subtitle { + margin: 0; + padding: 0; + font-weight: 400; + letter-spacing: 0px; + font-size: 16px; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_user_billing .payment__methods .ready .action { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + width: 100%; + justify-content: space-between; + height: 40px; + padding: 0 15px; + -ms-align-items: center; + align-items: center; +} + +.techwave_fn_user_billing .payment__methods .ready .edit_wrapper { + position: relative; +} + +.techwave_fn_user_billing .payment__methods .ready .edit_wrapper .options { + width: 30px; + height: 30px; + border-radius: 30px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; +} + +.techwave_fn_user_billing .payment__methods .ready .edit_wrapper .dots { + display: block; + position: relative; + width: 15px; + height: 3px; + border-left: 3px solid var(--techwave-heading-color); + border-right: 3px solid var(--techwave-heading-color); +} + +.techwave_fn_user_billing .payment__methods .ready .edit_wrapper .dots:after { + width: 3px; + top: 0; + bottom: 0; + left: 3px; + content: ''; + position: absolute; + background-color: var(--techwave-heading-color); +} + +.techwave_fn_user_billing .payment__methods .ready .edit_wrapper:hover .edit__popup { + opacity: 1; + visibility: visible; + transform: translateY(0px); +} + +.techwave_fn_user_billing .payment__methods .ready .edit_wrapper .edit__popup { + position: absolute; + left: 100%; + bottom: 0; + width: 140px; + opacity: 0; + visibility: hidden; + transition: all .3s ease; + transform: translateY(-20px); +} + +.techwave_fn_user_billing .payment__methods .ready .edit_wrapper .edit__popup a { + font-size: 16px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + text-decoration: none; + overflow: hidden; +} + +.techwave_fn_user_billing .payment__methods .ready .edit_wrapper .edit__popup a:hover { + color: var(--techwave-main-color); +} + +.techwave_fn_user_billing .payment__methods .ready .edit_wrapper .edit__popup ul { + list-style-type: none; + background-color: var(--techwave-some-a-bg-color); + border-radius: 5px; + margin: 0; + padding: 15px 20px; +} + +.techwave_fn_user_billing .payment__methods .ready .edit_wrapper .edit__popup li { + margin: 0; + margin-bottom: 3px; + font-size: 16px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_user_billing .payment__methods .ready .edit_wrapper .edit__popup li:last-child { + margin-bottom: 0; +} + +.techwave_fn_user_billing .payment__methods .ready .primary { + display: block; + height: 20px; + padding: 0 15px; + background-color: var(--techwave-main-color); + color: #fff; + font-family: var(--techwave-heading-font-family); + font-weight: 500; + font-size: 11px; + letter-spacing: .5px; + text-transform: uppercase; + line-height: 20px; + border-radius: 15px; +} + +.techwave_fn_user_billing .payment__methods .ready .primary span { + position: relative; + top: 1px; +} + +.techwave_fn_user_billing .payment__methods .new .item { + border-radius: 5px; + background-color: var(--techwave-some-r-bg-color); + border: 1px solid var(--techwave-border-color); + position: relative; + padding: 30px 15px 27px; + text-align: center; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + -o-flex-direction: column; + flex-direction: column; + -ms-align-items: center; + align-items: center; + justify-content: center; +} + +.techwave_fn_user_billing .payment__methods .new .item a { + z-index: 2; +} + +.techwave_fn_user_billing .payment__methods .new .add { + height: 40px; + width: 40px; + position: relative; + margin-bottom: 9px; +} + +.techwave_fn_user_billing .payment__methods .new .add:after { + width: 2px; + height: 40px; + position: absolute; + content: ''; + left: 50%; + margin-left: -1px; + background-color: var(--techwave-border-color); + top: 50%; + margin-top: -20px; +} + +.techwave_fn_user_billing .payment__methods .new .add:before { + width: 40px; + height: 2px; + position: absolute; + content: ''; + top: 50%; + left: 50%; + margin-left: -20px; + margin-top: -1px; + background-color: var(--techwave-border-color); +} + +.techwave_fn_user_billing .payment__methods .new .text { + font-weight: 500; + font-size: 14px; + line-height: 1; + text-transform: uppercase; + letter-spacing: .5px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +/*------------------------------------------------------------------*/ + +/* 46) Page: AI Chat Bot +/*------------------------------------------------------------------*/ + +.techwave_fn_aichatbot_page { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + min-height: calc(100vh - var(--techwave-header-height) - 71px); +} + +.techwave_fn_aichatbot_page .chat__page { + width: 100%; + padding-top: 38px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + -o-flex-direction: column; + flex-direction: column; + position: relative; + z-index: 3; +} + +.techwave_fn_image_generation_page .generation__sidebar, +.techwave_fn_doc_page .docsidebar, +.techwave_fn_aichatbot_page .chat__sidebar { + width: 300px; + min-width: 300px; + border-left: 1px solid var(--techwave-border-color); + background-color: var(--techwave-header-bg-color); + top: var(--techwave-header-height); + position: fixed; + z-index: 1; + right: 0; + bottom: 0; + transform: translateX(105%); + transition: all .2s ease; +} + +.techwave_fn_wrapper.fn__has_sidebar .techwave_fn_image_generation_page .generation__sidebar, +.techwave_fn_wrapper.fn__has_sidebar .techwave_fn_doc_page .docsidebar, +.techwave_fn_wrapper.fn__has_sidebar .techwave_fn_aichatbot_page .chat__sidebar { + transform: translateX(0); +} + +.techwave_fn_aichatbot_page .chat__sidebar .sidebar_header { + padding: 20px; + border-bottom: 1px solid var(--techwave-border-color); +} + +.techwave_fn_aichatbot_page .chat__sidebar .sidebar_content { + padding: 20px; +} + +.techwave_fn_aichatbot_page .chat__sidebar .sidebar_content ul { + margin: 0; + padding: 0; + list-style-type: none; +} + +.fn__chat_link { + text-decoration: none; + display: block; + height: 40px; + line-height: 40px; + padding: 0 20px; + padding-right: 40px; + border: 1px solid var(--techwave-border-color); + border-radius: 5px; + font-size: 16px; + font-weight: 400; + letter-spacing: 0; + font-family: var(--techwave-heading-font-family); + color: var(--techwave-body-color); + position: relative; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; +} + +.fn__chat_link:hover { + border-color: var(--techwave-body-color); +} + +.fn__chat_link.active { + border-color: var(--techwave-main-color); + color: var(--techwave-heading-color); +} + +.fn__chat_link a:hover { + border-color: var(--techwave-main-color); +} + +.fn__chat_link .text { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +.fn__chat_link .options { + position: absolute; + right: 0; + top: 0; + bottom: 0; + display: block; +} + +.fn__chat_link.opened .trigger span:after { + background-color: var(--techwave-heading-color); +} + +.fn__chat_link.opened .trigger span { + border-left-color: var(--techwave-heading-color); + border-right-color: var(--techwave-heading-color); +} + +.fn__chat_link.opened .trigger { + background-color: var(--techwave-some-a-bg-color); +} + +.fn__chat_link .trigger { + background-color: transparent; + padding: 0; + margin: 0; + outline: none; + border: none; + width: 38px; + height: 38px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; + cursor: pointer; + border-radius: 0 4px 4px 0; +} + +.fn__chat_link .trigger:hover { + background-color: var(--techwave-some-a-bg-color); +} + +.fn__chat_link .trigger span { + display: block; + position: relative; + width: 15px; + height: 3px; + border-left: 3px solid var(--techwave-body-color); + border-right: 3px solid var(--techwave-body-color); +} + +.fn__chat_link .trigger span:after { + width: 3px; + top: 0; + bottom: 0; + left: 3px; + content: ''; + position: absolute; + background-color: var(--techwave-body-color); +} + +.fn__chat_link.opened { + z-index: 10; +} + +.fn__chat_link.opened .options__popup { + opacity: 1; + visibility: visible; + transform: translateY(0); +} + +.fn__chat_link .options__popup { + position: absolute; + top: 100%; + right: -1px; + width: 140px; + transition: all .3s ease; + padding-top: 6px; + opacity: 0; + visibility: hidden; + transform: translateY(20px); +} + +.fn__chat_link .options__list { + list-style-type: none; + background-color: var(--techwave-some-a-bg-color); + border-radius: 5px; + margin: 0; + padding: 15px 20px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + -o-flex-direction: column; + flex-direction: column; +} + +.fn__chat_link .options__list button:last-child { + margin-bottom: 0; +} + +.fn__chat_link .options__list button:hover { + color: var(--techwave-main-color); +} + +.fn__chat_link .options__list button { + background-color: transparent; + outline: none; + border: none; + padding: 0; + margin: 0; + text-align: left; + cursor: pointer; + font-size: 16px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + text-decoration: none; + overflow: hidden; + margin-bottom: 3px; + transition: all .3s ease; +} + +.fn__chat_link.live_edit .save_options, +.fn__chat_link.live_edit input { + opacity: 1; + visibility: visible; +} + +.fn__chat_link.live_edit .options, +.fn__chat_link.live_edit .text { + opacity: 0; + visibility: hidden; +} + +.fn__chat_link input { + position: absolute; + height: 24px; + left: 12px; + right: 63px; + margin: 0; + padding: 0 7px; + top: 50%; + margin-top: -11px; + font-size: 16px; + font-weight: 400; + letter-spacing: 0; + font-family: var(--techwave-heading-font-family); + color: var(--techwave-body-color); + background-color: transparent; + outline: none; + opacity: 0; + visibility: hidden; + min-width: inherit; + border: 1px solid var(--techwave-border-color); + border-radius: 5px; +} + +.fn__chat_link .save_options { + position: absolute; + right: 0; + top: 0; + bottom: 0; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + opacity: 0; + visibility: hidden; +} + +.fn__chat_link .save_options button { + width: 24px; + height: 24px; + border: none; + cursor: pointer; + outline: none; + border-radius: 5px; + background-color: var(--techwave-some-a-bg-color); + margin-right: 5px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; + color: var(--techwave-heading-color); +} + +.fn__chat_link .save_options button:hover { + background-color: var(--techwave-main-color); + color: #fff; +} + +.fn__chat_link .save_options .fn__svg { + width: 10px; + height: 10px; +} + +.techwave_fn_aichatbot_page .chat__sidebar .group__title { + margin: 0; + padding: 0 10px; + text-transform: uppercase; + font-weight: 500; + font-size: 11px; + letter-spacing: .5px; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); + margin-bottom: 12px; +} + +.techwave_fn_aichatbot_page .chat__comment { + margin-top: auto; + position: sticky; + bottom: 0; + padding: 20px 0; + background-color: var(--techwave-site-bg-color) +} + +.fn__chat_comment { + position: relative; +} + +.fn__chat_comment .new__chat { + position: absolute; + width: 500px; + max-width: 100%; + bottom: 100%; + margin-bottom: 53px; + left: 50%; + background-color: var(--techwave-some-r-bg-color); + border: 1px solid var(--techwave-border-color); + border-radius: 5px; + padding: 35px 40px 33px; + text-align: center; + transform: translateY(-20px) translateX(-50%) translateZ(0); + opacity: 0; + visibility: hidden; + pointer-events: none; + transition: all .3s ease; +} + +.fn__chat_comment.neww .new__chat { + transform: translateY(0px) translateX(-50%) translateZ(0); + opacity: 1; + visibility: visible; +} + +.fn__chat_comment .new__chat:after { + position: absolute; + left: 50%; + margin-left: -19px; + top: 100%; + margin-top: -1px; + width: 0; + height: 0; + border-style: solid; + border-width: 14px 19px 0 19px; + border-color: var(--techwave-some-r-bg-color) transparent transparent transparent; + content: ''; + filter: drop-shadow(0px 1px var(--techwave-border-color)); +} + +.fn__chat_comment .new__chat * { + margin: 0; + padding: 0; + font-size: 16px; + line-height: 1.5; + letter-spacing: .5px; + font-weight: 500; + text-transform: uppercase; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); +} + +.fn__hidden_textarea { + position: absolute; + top: 0; + left: 0; + right: 0; + max-height: inherit; + opacity: 0; + pointer-events: none; + overflow-y: scroll; +} + +.fn__chat_comment textarea { + border: 2px solid var(--techwave-border-color); + background-color: transparent; + border-radius: 5px; + outline: none; + display: block; + width: 100%; + padding: 18px 20px 16px; + padding-right: 72px; + font-size: 16px; + font-weight: 400; + line-height: 22px; + max-height: 170px; + font-family: var(--techwave-heading-font-family); + resize: none; + overflow-y: hidden; + color: var(--techwave-heading-color); +} + +#fn__chat_textarea::-webkit-scrollbar { + width: 0; +} + +.fn__chat_comment textarea:focus { + border-color: var(--techwave-main-color); +} + +.fn__chat_comment button { + position: absolute; + width: 60px; + height: 44px; + bottom: 8px; + right: 8px; + padding: 0; + margin: 0; + border-radius: 5px; + outline: none; + cursor: pointer; + border: none; + background-color: var(--techwave-some-a-bg-color); + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; + color: var(--techwave-heading-color); + transition: all .3s ease; +} + +.fn__chat_comment button.disabled { + cursor: not-allowed; + opacity: .5; +} + +.fn__chat_comment button:hover { + opacity: .8; +} + +.fn__chat_comment .fn__svg { + width: 21px; + height: 21px; +} + +.fn__new_chat_link { + text-decoration: none; + display: block; + width: 100%; + height: 40px; + line-height: 40px; + padding: 0 10px 0 44px; + position: relative; + font-weight: 500; + text-transform: uppercase; + font-size: 14px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + background-color: var(--techwave-some-a-bg-color); + border-radius: 5px; +} + +.fn__new_chat_link:hover { + opacity: .8; +} + +.fn__new_chat_link .text { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + position: relative; + top: 1px; +} + +.fn__new_chat_link .icon { + position: absolute; + width: 24px; + height: 24px; + display: block; + border-radius: 100%; + background-color: #454449; + left: 10px; + top: 50%; + margin-top: -12px; +} + +.fn__new_chat_link .icon:before { + content: ''; + position: absolute; + width: 2px; + height: 8px; + background-color: #b3aac7; + top: 50%; + left: 50%; + margin: -4px 0 0 -1px; +} + +.fn__new_chat_link .icon:after { + content: ''; + position: absolute; + width: 8px; + height: 2px; + background-color: #b3aac7; + top: 50%; + left: 50%; + margin: -1px 0 0 -4px; +} + +.techwave_fn_aichatbot_page .fn__title_holder { + margin-bottom: 23px; +} + +.techwave_fn_aichatbot_page .chat__item { + display: none; +} + +.techwave_fn_aichatbot_page .chat__item.active { + display: block; +} + +.fn__chatbot .chat__box { + position: relative; + margin-bottom: 20px; +} + +.fn__chatbot .chat__box:last-child { + margin-bottom: 0; +} + +.fn__chatbot .author { + position: absolute; + left: 30px; + top: -10px; + display: block; + height: 20px; + padding: 0 15px; + background-color: var(--techwave-main-color); + color: #fff; + font-family: var(--techwave-heading-font-family); + font-weight: 500; + font-size: 11px; + letter-spacing: .5px; + text-transform: uppercase; + line-height: 20px; + border-radius: 10px; +} + +.fn__chatbot .author * { + position: relative; + top: 1px; +} + +.fn__chatbot .chat { + padding: 30px; + border-radius: 5px; + font-size: 16px; + font-weight: 400; + line-height: 1.375; + font-family: var(--techwave-heading-font-family); +} + +.fn__chatbot .chat a { + text-decoration: underline; + color: var(--techwave-main-color); +} + +.fn__chatbot .chat a:hover { + text-decoration: none; +} + +.fn__chatbot .your__chat .chat { + background-color: var(--techwave-some-a-bg-color); + color: var(--techwave-heading-color); +} + +.fn__chatbot .bot__chat .author { + background-color: var(--techwave-some-a-bg-color); + color: var(--techwave-body-color); +} + +.fn__chatbot .bot__chat .chat { + background-color: var(--techwave-some-r-bg-color); + border: 1px solid var(--techwave-border-color); +} + +.fn__chatbot .chat>*:last-child:not(ul) { + margin-bottom: 0; +} + +/*------------------------------------------------------------------*/ + +/* 47) Page: Documentation +/*------------------------------------------------------------------*/ + +.techwave_fn_doc_page .doccontent { + padding: 40px 0; +} + +.techwave_fn_doc_page .doccontent * { + margin-bottom: 20px; +} + +.rounded { + border-radius: 5px; +} + +.techwave_fn_doc_page .docsidebar { + padding: 20px; +} + +.techwave_fn_doc_page .docsidebar .trigger { + right: 5px; + top: 50%; + margin-top: -6px; + position: absolute; + display: block; + color: var(--techwave-heading-color); + transform: rotate(90deg); + transition: all .2s ease; +} + +.techwave_fn_doc_page .docsidebar ul ul { + margin: 0; + list-style-type: none; + padding: 0; + margin-left: 26px; + margin-top: 4px; + overflow: hidden; +} + +.techwave_fn_doc_page .docsidebar .trigger .fn__svg { + width: 12px; + height: 12px; + display: block; +} + +.techwave_fn_doc_page .docsidebar li { + position: relative; + margin-bottom: 4px; +} + +.techwave_fn_doc_page .docsidebar ul { + margin: 0; + padding: 0; + list-style-type: none; +} + +.techwave_fn_doc_page .docsidebar ul ul a { + padding-left: 17px; +} + +.techwave_fn_doc_page .docsidebar ul ul a:after { + width: 5px; + height: 2px; + background-color: var(--techwave-heading-color); + position: absolute; + left: 6px; + top: 50%; + margin-top: -1px; + content: ''; +} + +.techwave_fn_doc_page .docsidebar li:hover>a, +.techwave_fn_doc_page .docsidebar .current>a { + background-color: var(--techwave-some-a-bg-color); +} + +.techwave_fn_doc_page .docsidebar a { + font-weight: 400; + border-radius: 5px; + font-family: var(--techwave-heading-font-family); + color: var(--techwave-heading-color); + text-decoration: none; + min-height: 36px; + padding: 5px 20px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + position: relative; +} + +/*------------------------------------------------------------------*/ + +/* 48) Page: Image Generation +/*------------------------------------------------------------------*/ + +.techwave_fn_image_generation_page .generation__page { + position: relative; + z-index: 2; +} + +.techwave_fn_image_generation_page .generation_more { + padding: 60px 40px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; +} + +.techwave_fn_image_generation_page .generation_more .techwave_fn_button { + padding: 0 57px; +} + +.techwave_fn_image_generation_page .generation_header { + padding: 40px; + border-bottom: 1px solid var(--techwave-border-color); +} + +.techwave_fn_image_generation_page .generation_header .title { + margin: 0; + padding: 0; + font-size: 22px; + font-weight: 600; +} + +.techwave_fn_image_generation_page .generation_header .header_top { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + justify-content: space-between; + column-gap: 20px; + -ms-align-items: center; + align-items: center; + margin-bottom: 25px; +} + +.techwave_fn_image_generation_page .generation_header .setup { + -ms-align-items: center; + align-items: center; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + column-gap: 15px; +} + +.techwave_fn_image_generation_page .generation_header .info { + margin: 0; + padding: 0; + font-size: 12px; + font-weight: 400; + letter-spacing: 0; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_image_generation_page .sidebar__trigger { + min-width: 50px; + width: 50px; + height: 50px; + text-decoration: none; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; + background-color: var(--techwave-some-a-bg-color); + border-radius: 100%; + color: var(--techwave-heading-color); + position: relative; +} + +.techwave_fn_image_generation_page .sidebar__trigger .fn__svg { + width: 24px; + height: 24px; + transition: all .3s ease; +} + +.techwave_fn_image_generation_page .header_bottom textarea { + border: 2px solid var(--techwave-border-color); + background-color: transparent; + border-radius: 5px; + outline: none; + display: block; + width: 100%; + padding: 18px 20px 16px; + font-size: 16px; + font-weight: 400; + line-height: 22px; + max-height: 170px; + font-family: var(--techwave-heading-font-family); + resize: none; + overflow-y: hidden; + color: var(--techwave-heading-color); +} + +.techwave_fn_image_generation_page .header_bottom textarea:focus { + border-color: var(--techwave-main-color); +} + +.techwave_fn_image_generation_page .include_area { + margin-bottom: 10px; + position: relative; +} + +.techwave_fn_image_generation_page .exclude_area { + position: relative; + overflow: hidden; +} + +.techwave_fn_image_generation_page .generate_section { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: flex-end; +} + +.techwave_fn_image_generation_page .generate_section #generate_it { + margin: 10px 0 10px 20px; +} + +.techwave_fn_image_generation_page .generation__sidebar .sidebar_details { + padding: 20px; +} + +.techwave_fn_image_generation_page .generation__sidebar .sidebar_details .title { + margin: 0; + padding: 0; + font-size: 16px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; +} + +.techwave_fn_image_generation_page .generation__sidebar .sidebar_details .title .fn__tooltip { + margin-left: 8px; +} + +.techwave_fn_image_generation_page .generation__sidebar .sidebar_details .title .fn__svg { + display: block; + width: 14px; + height: 14px; + color: var(--techwave-body-color); +} + +.techwave_fn_image_generation_page .generation__sidebar .sidebar_model { + padding: 30px 20px; + border-bottom: 1px solid var(--techwave-border-color); + position: relative; + z-index: 5; +} + +.techwave_fn_image_generation_page .generation__sidebar .contrast_switcher, +.techwave_fn_image_generation_page .generation__sidebar .prompt_magic_switcher { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + justify-content: space-between; + -ms-align-items: center; + align-items: center; +} + +.techwave_fn_image_generation_page .generation__sidebar .number_of_images { + margin-bottom: 29px; +} + +.techwave_fn_image_generation_page .generation__sidebar .number_of_images .title { + margin-bottom: 9px; +} + +.techwave_fn_image_generation_page .generation__sidebar .img_sizes { + margin-bottom: 28px; +} + +.techwave_fn_image_generation_page .generation__sidebar .img_sizes .title { + margin-bottom: 10px; +} + +.techwave_fn_image_generation_page .generation__sidebar .guidance_scale .title { + margin-bottom: 4px; +} + +.techwave_fn_image_generation_page .generation__sidebar .guidance_scale { + margin-bottom: 23px; +} + +.techwave_fn_image_generation_page .generation__sidebar .prompt_magic_switcher { + margin-bottom: 30px; +} + +/*------------------------------------------------------------------*/ + +/* 49) Icon Options (icon lightbox) +/*------------------------------------------------------------------*/ + +.fn__icon_options { + position: relative; +} + +.fn__icon_options.align_right .fn__icon_popup { + left: auto; + right: 0; +} + +.fn__icon_options .fn__icon_popup { + opacity: 0; + visibility: hidden; + transform: translateY(20px); + position: absolute; + left: 0; + top: 100%; + width: 240px; + margin: 0; + padding: 0; + padding-top: 5px; + transition: all .3s ease; + pointer-events: none; +} + +.fn__icon_options.medium_size .fn__icon_button { + width: 40px; + height: 40px; +} + +.fn__icon_options.medium_size .fn__icon_button .fn__svg { + width: 16px; + height: 16px; +} + +.fn__icon_options:hover .fn__icon_popup { + opacity: 1; + visibility: visible; + transform: translateY(0); + pointer-events: all; +} + +.fn__icon_options .fn__icon_popup ul { + list-style-type: none; + background-color: var(--techwave-some-a-bg-color); + border-radius: 5px; + margin: 0; + padding: 15px 20px; +} + +.fn__icon_options .fn__icon_popup li:last-child { + margin-bottom: 0; +} + +.fn__icon_options .fn__icon_popup li { + margin: 0; + margin-bottom: 3px; + font-size: 16px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +.fn__icon_options .fn__icon_popup a { + font-size: 16px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + text-decoration: none; + overflow: hidden; +} + +.fn__icon_options .fn__icon_popup a:hover { + color: var(--techwave-main-color); + opacity: .9; +} + +.fn__icon_options .fn__icon_popup .high_priorety a { + color: #f1416c; +} + +/*------------------------------------------------------------------*/ + +/* 50) Generation Item (used in image generation page) +/*------------------------------------------------------------------*/ + +.fn__generation_item { + padding: 31px 40px 10px; + border-bottom: 1px solid var(--techwave-border-color); + position: relative; +} + +.fn__generation_item:hover { + z-index: 10; +} + +.fn__generation_item .item_header { + padding: 0 0 20px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + justify-content: space-between; + column-gap: 20px; + -ms-align-items: center; + align-items: center; + width: 100%; + position: relative; + z-index: 1; +} + +.fn__generation_item .item_header .item_options { + width: 100%; + width: auto; + -webkit-box-pack: end; + justify-content: flex-end; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + column-gap: 5px; +} + +.fn__generation_item .item_header .title_holder { + width: 100%; +} + +.fn__generation_item .item_header .prompt_title { + margin: 0; + padding: 0; + font-size: 16px; + line-height: 22px; + font-weight: 400; + letter-spacing: 0; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + align-self: flex-end; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 1; + --chakra-line-clamp: 1; +} + +.fn__generation_item .item_header .negative_prompt_title { + margin: 0; + padding: 0; + font-size: 14px; + line-height: 22px; + font-weight: 400; + letter-spacing: 0; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); + align-self: flex-end; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 1; + --chakra-line-clamp: 1; +} + +/*------------------------------------------------------------------*/ + +/* 51) Generation List (used in image generation page) +/*------------------------------------------------------------------*/ + +.fn__generation_list { + margin: 0; + padding: 0; + list-style-type: none; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-wrap: wrap; + margin-left: -20px; +} + +.fn__generation_list .fn__gl_item { + margin: 0; + padding: 0; + padding-left: 20px; + width: 25%; + margin-bottom: 20px; +} + +.fn__generation_list .fn__gl__item { + width: 100%; + position: relative; +} + +.fn__generation_list .fn__gl__item:before { + content: ""; + height: 0px; + display: block; + padding-bottom: 100%; +} + +.fn__generation_list .abs_item { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; +} + +.fn__generation_list .abs_item img { + width: 100%; + height: 100%; + object-fit: cover; + border-radius: 5px; +} + +.fn__generation_list .fn__gl__item:hover .all_options { + transform: translateY(0); + opacity: 1; + visibility: visible; + pointer-events: all; +} + +.fn__generation_list .all_options { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + position: absolute; + bottom: 5px; + left: 10px; + right: 10px; + flex-wrap: wrap; + transform: translateY(20px); + opacity: 0; + visibility: hidden; + pointer-events: none; + transition: all .3s ease; +} + +.fn__generation_list .all_options .fn__icon_options { + margin: 0 5px 5px 0; +} + +/*------------------------------------------------------------------*/ + +/* 52) Input Toggle (custom) +/*------------------------------------------------------------------*/ + +.fn__toggle { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + column-gap: 7px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; + font-size: 16px; + font-weight: 400; + letter-spacing: 0; + font-family: var(--techwave-heading-font-family); +} + +.fn__toggle .t_in { + position: relative; + width: 34px; + height: 20px; +} + +.fn__toggle .t_content:before { + right: 0; + bottom: 0; + top: 0; + left: 0; + position: absolute; + color: var(--techwave-main-color1); + content: ''; + opacity: .1; + border-radius: 20px; + box-shadow: 0px 5px 15px; +} + +.fn__toggle .t_content:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + border-radius: 20px; + border: 2px solid transparent; + -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0); + -webkit-mask-composite: destination-out; + -webkit-mask-composite: source-out; + mask-composite: exclude; + background-size: 300% 300%; + -webkit-animation: animatedgradient 4s ease alternate infinite; + animation: animatedgradient 4s ease alternate infinite; +} + +.fn__toggle input { + opacity: 0; + width: 0; + height: 0; +} + +.fn__toggle .t_slider { + position: absolute; + cursor: pointer; + width: 12px; + height: 12px; + background-color: var(--techwave-main-color); + left: 4px; + top: 50%; + margin-top: -6px; + border-radius: 100%; + -webkit-transition: .4s; + transition: .4s; +} + +.fn__toggle .t_content:after { + background: #454449; +} + +.fn__toggle .t_slider { + background-color: #454449; +} + +.fn__toggle input:checked+.t_slider { + -webkit-transform: translateX(14px); + -ms-transform: translateX(14px); + transform: translateX(14px); + background-color: var(--techwave-main-color); +} + +.fn__toggle input:checked~.t_content:after { + background: -moz-linear-gradient(270deg, var(--techwave-main-color1), var(--techwave-main-color2), var(--techwave-main-color1), var(--techwave-main-color2)) border-box; + background: -webkit-linear-gradient(270deg, var(--techwave-main-color1), var(--techwave-main-color2), var(--techwave-main-color1), var(--techwave-main-color2)) border-box; + background: linear-gradient(270deg, var(--techwave-main-color1), var(--techwave-main-color2), var(--techwave-main-color1), var(--techwave-main-color2)) border-box; +} + +.fn__toggle .t_in { + border-radius: 34px; +} + +.fn__toggle .t_in:before { + border-radius: 50%; +} + +/*------------------------------------------------------------------*/ + +/* 53) Select Model (used in image generation page) +/*------------------------------------------------------------------*/ + +.fn__select_model { + position: relative; +} + +.fn__select_model .all_models { + position: absolute; + width: 100%; + left: 0; + top: 100%; + right: 0; + padding-top: 5px; + opacity: 0; + visibility: hidden; + transform: translateY(20px); + transition: all .3s ease; + pointer-events: none; +} + +.fn__select_model.opened .all_models { + opacity: 1; + visibility: visible; + pointer-events: all; + transform: translateY(0); +} + +.fn__select_model .all_models ul { + list-style-type: none; + background-color: var(--techwave-some-a-bg-color); + border-radius: 5px; + margin: 0; + padding: 15px 20px; +} + +.fn__select_model .all_models li:last-child { + margin-bottom: 0; +} + +.fn__select_model .all_models li { + margin: 0; + margin-bottom: 3px; + font-size: 16px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +.fn__select_model .all_models a.selected { + color: var(--techwave-body-color); +} + +.fn__select_model .all_models a { + font-size: 16px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + text-decoration: none; + overflow: hidden; +} + +.fn__select_model .all_models a:hover { + color: var(--techwave-main-color); + opacity: .9; +} + +.fn__select_model .model_open { + text-decoration: none; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + padding-right: 50px; + position: relative; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; +} + +.fn__select_model .fn__icon_button { + position: absolute; + top: 50%; + margin-top: -15px; + right: 0; +} + +.fn__select_model .user_img { + margin-right: 15px; + width: 40px; + height: 40px; + border-radius: 5px; + object-fit: cover; +} + +.fn__select_model .subtitle { + margin: 0; + padding: 0; + font-weight: 500; + text-transform: uppercase; + letter-spacing: .5px; + font-size: 11px; + color: var(--techwave-body-color); + font-family: var(--techwave-heading-font-family); +} + +.fn__select_model .title { + margin: 0; + padding: 0; + font-weight: 400; + letter-spacing: 0px; + font-size: 16px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +/*------------------------------------------------------------------*/ + +/* 54) Input quantity (custom) +/*------------------------------------------------------------------*/ + +.fn__quantity { + width: 120px; + height: 40px; + position: relative; +} + +.fn__quantity a { + display: block; + position: absolute; + width: 24px; + height: 24px; + text-decoration: none; + border-radius: 100%; + background-color: var(--techwave-border-color); + top: 50%; + margin-top: -12px; +} + +.fn__quantity a:after { + content: ''; + position: absolute; + background-color: var(--techwave-heading-color); + top: 50%; + left: 50%; + width: 8px; + height: 2px; + margin: -1px 0 0 -4px; +} + +.fn__quantity a.increase:before { + content: ''; + position: absolute; + background-color: var(--techwave-heading-color); + top: 50%; + left: 50%; + width: 2px; + height: 8px; + margin: -4px 0 0 -1px; +} + +.fn__quantity .decrease { + left: 8px; +} + +.fn__quantity .increase { + right: 8px; +} + +.fn__quantity input { + width: 100%; + max-width: 100%; + min-width: 100%; + border-radius: 20px; + height: 40px; + display: block; + text-align: center; + font-size: 16px; + font-weight: 400; + padding: 0 34px; + border: 2px solid var(--techwave-border-color); + color: var(--techwave-heading-color); +} + +.fn__quantity input::-webkit-outer-spin-button, +.fn__quantity input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +.fn__quantity input[type=number] { + -moz-appearance: textfield; +} + +/*------------------------------------------------------------------*/ + +/* 55) Input Range (custom) +/*------------------------------------------------------------------*/ + +.fn__range { + position: relative; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; +} + +.fn__range .range_in { + position: relative; + width: 100%; +} + +.fn__range .slider { + width: 0; + display: block; + position: absolute; + left: 0; + border-radius: 5px; + height: 4px; + top: 50%; + margin-top: -2px; + pointer-events: none; +} + +.fn__range .slider:after { + left: 0; + right: 0; + top: 0; + bottom: 0; + position: absolute; + content: ''; + border-radius: 5px 0 0 5px; + background-color: var(--techwave-main-color); +} + +.fn__range .slider:before { + width: 14px; + height: 14px; + background: var(--techwave-heading-color); + cursor: pointer; + border-radius: 100%; + position: absolute; + display: block; + right: 0; + top: 50%; + margin-top: -7px; + content: ''; + z-index: 2; +} + +.fn__range .value { + flex: auto; + width: 40px; + text-align: right; + padding-left: 10px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + font-size: 16px; +} + +.fn__range input { + -webkit-appearance: none; + display: block; + width: 100%; + margin: 0; + height: 4px; + border-radius: 5px; + outline: none; + border: none; + background-color: var(--techwave-some-a-bg-color); +} + +.fn__range input::-webkit-slider-thumb { + -webkit-appearance: none; + appearance: none; + width: 14px; + height: 14px; + background: var(--techwave-heading-color); + cursor: pointer; + border-radius: 100%; + opacity: 0; +} + +.fn__range input::-moz-range-thumb { + width: 14px; + height: 14px; + background: var(--techwave-heading-color); + cursor: pointer; + border-radius: 100%; + z-index: 3; + opacity: 0; +} + +/*------------------------------------------------------------------*/ + +/* 56) Page: Privacy Policy +/*------------------------------------------------------------------*/ + +.techwave_fn_privacy_page .privacypage { + padding: 40px 0; +} + +.techwave_fn_privacy_page .privacypage hr { + margin: 30px 0; +} + +.techwave_fn_privacy_page .privacypage h4 { + font-weight: 500; + font-size: 22px; +} + +/*------------------------------------------------------------------*/ + +/* 57) Contact Form +/*------------------------------------------------------------------*/ + +.fn_contact_form .input_list ul { + margin: 0; + padding: 0; + margin-left: -10px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-wrap: wrap; + list-style-type: none; +} + +.fn_contact_form .input_list input[type="text"], +.fn_contact_form .input_list input[type="email"] { + display: block; + width: 100%; + border-radius: 5px; + height: 60px; +} + +.fn_contact_form .input_list input, +.fn_contact_form .input_list textarea { + display: block; +} + +.fn_contact_form .input_list li { + margin: 0; + padding: 0; + width: 100%; + padding-left: 10px; + margin-bottom: 10px; +} + +.fn_contact_form .input_list li:last-child { + margin-top: 10px; +} + +.fn_contact_form .empty_notice, +.fn_contact_form .returnmessage { + padding: 20px; + width: 100%; + display: none; + color: var(--techwave-heading-color); + margin-top: 20px; + position: relative; + pointer-events: none; +} + +.fn_contact_form .empty_notice:after, +.fn_contact_form .returnmessage:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + border-radius: 20px; + border: 2px solid transparent; + background: -moz-linear-gradient(270deg, var(--techwave-main-color1), var(--techwave-main-color2), var(--techwave-main-color1), var(--techwave-main-color2)) border-box; + background: -webkit-linear-gradient(270deg, var(--techwave-main-color1), var(--techwave-main-color2), var(--techwave-main-color1), var(--techwave-main-color2)) border-box; + background: linear-gradient(270deg, var(--techwave-main-color1), var(--techwave-main-color2), var(--techwave-main-color1), var(--techwave-main-color2)) border-box; + -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0); + -webkit-mask-composite: destination-out; + -webkit-mask-composite: source-out; + mask-composite: exclude; + background-size: 300% 300%; + -webkit-animation: animatedgradient 4s ease alternate infinite; + animation: animatedgradient 4s ease alternate infinite; +} + +.fn_contact_form .empty_notice:before, +.fn_contact_form .returnmessage:before { + right: 0; + bottom: 0; + top: 0; + left: 0; + position: absolute; + color: var(--techwave-main-color1); + content: ''; + opacity: .1; + border-radius: 20px; + box-shadow: 0px 5px 15px; +} + +/*------------------------------------------------------------------*/ + +/* 58) Page: Contact +/*------------------------------------------------------------------*/ + +.techwave_fn_contact_page .contactpage { + padding: 40px 0; +} + +.techwave_fn_contact_page .contactpage { + font-size: 18px; + line-height: 24px; +} + +/*------------------------------------------------------------------*/ + +/* 59) Page: Models +/*------------------------------------------------------------------*/ + +.techwave_fn_models_page { + padding: 36px 0 40px 0; +} + +.techwave_fn_models_page .fn__title_holder { + margin-bottom: 28px; +} + +.techwave_fn_models_page .models__filter { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + justify-content: space-between; + -ms-align-items: center; + align-items: center; + column-gap: 50px; + margin-bottom: 30px; + position: relative; + z-index: 10; + flex-wrap: wrap; +} + +.techwave_fn_models_page .models__filter .filter__left { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; +} + +.techwave_fn_models_page .models__filter .filter__right { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + column-gap: 5px; + margin: 5px 0; +} + +.techwave_fn_models_page .filter__search { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + flex-wrap: wrap; +} + +.techwave_fn_models_page .filter__search input { + margin: 5px 10px 5px 0; +} + +.techwave_fn_models_page .filter__search a { + margin: 5px 0; +} + +.techwave_fn_models_page .models__more { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + justify-content: center; + margin-top: 40px; + margin-bottom: 20px; +} + +.techwave_fn_models .models__results { + position: relative; +} + +.techwave_fn_models .loading .tab__item { + opacity: 0; + visibility: hidden; +} + +.techwave_fn_models .loading .fn__preloader { + opacity: 1; + visibility: visible; +} + +.tab__item { + display: none; +} + +.tab__item.active { + display: block; +} + +/*------------------------------------------------------------------*/ + +/* 60) Model Items (used in model page) +/*------------------------------------------------------------------*/ + +.fn__model_items { + margin: 0; + padding: 0; + list-style-type: none; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-wrap: wrap; + margin-left: -20px; +} + +.fn__model_item { + margin: 0; + padding: 0; + width: 20%; + padding-left: 20px; + margin-bottom: 20px; +} + +.fn__model_item .item { + border: 1px solid var(--techwave-border-color); + border-radius: 5px; + position: relative; + background-color: var(--techwave-some-r-bg-color); + min-height: 100%; +} + +.fn__model_item.new .item a { + z-index: 3; +} + +.fn__model_item.new .item { + padding: 30px 15px 27px; + text-align: center; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + -o-flex-direction: column; + flex-direction: column; + -ms-align-items: center; + align-items: center; + justify-content: center; +} + +.fn__model_item.new .item .add { + height: 80px; + width: 80px; + position: relative; + margin-bottom: 29px; +} + +.fn__model_item.new .item .add:after { + width: 2px; + height: 80px; + position: absolute; + content: ''; + left: 50%; + margin-left: -1px; + background-color: var(--techwave-border-color); + top: 50%; + margin-top: -40px; +} + +.fn__model_item.new .item:hover { + border-color: var(--techwave-main-color); +} + +.fn__model_item.new .item .add:before { + width: 80px; + height: 2px; + position: absolute; + content: ''; + top: 50%; + left: 50%; + margin-left: -40px; + margin-top: -1px; + background-color: var(--techwave-border-color); +} + +.fn__model_item.new .item .text { + font-weight: 500; + font-size: 14px; + line-height: 1; + text-transform: uppercase; + letter-spacing: .5px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +.fn__model_item .item:hover .fn__bookmark { + opacity: 1; + visibility: visible; + pointer-events: all; +} + +.fn__model_item .img:before { + height: 0; + content: ''; + padding-bottom: 100%; + display: block; +} + +.fn__model_item .img { + position: relative; + margin: -1px; + margin-bottom: 0; +} + +.fn__model_item .img img { + position: absolute; + width: 100%; + height: 100%; + object-fit: cover; + top: 0; + left: 0; + border-radius: 5px 5px 0 0; +} + +.fn__model_item .item__info { + padding: 18px 15px 14px; +} + +.fn__model_item .item__info .title { + margin: 0; + padding: 0; + font-size: 16px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); + margin-bottom: 5px; +} + +.fn__model_item .item__info .desc { + margin: 0; + padding: 0; + font-size: 14px; + font-weight: 400; + color: var(--techwave-body-color); + font-family: var(--techwave-body-font-family); + overflow: hidden; + display: -webkit-box; + -webkit-line-clamp: 3; + /* number of lines to show */ + line-clamp: 3; + -webkit-box-orient: vertical; +} + +.fn__model_item .item__author { + height: 41px; + border-top: 1px solid var(--techwave-border-color); + padding: 10px 15px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; +} + +.fn__model_item .item__author img { + margin-right: 7px; + width: 20px; + height: 20px; + display: block; + border-radius: 100%; + object-fit: cover; +} + +.fn__model_item .author_name { + margin: 0; + padding: 0; + font-size: 14px; + font-weight: 400; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +/*------------------------------------------------------------------*/ + +/* 61) Bookmark button +/*------------------------------------------------------------------*/ + +.fn__bookmark { + background-color: var(--techwave-some-r-bg-color); + width: 40px; + height: 40px; + border-radius: 100%; + text-decoration: none; + position: absolute; + top: 10px; + left: 10px; + z-index: 3; + color: var(--techwave-heading-color); + opacity: 0; + visibility: hidden; + pointer-events: none; +} + +.fn__bookmark.has__bookmark .hasbook { + opacity: 1; +} + +.fn__bookmark.has__bookmark .hasntbook { + opacity: 0; +} + +.fn__bookmark .fn__svg { + width: 16px; + height: 16px; + position: absolute; + top: 50%; + left: 50%; + margin: -8px 0 0 -8px; +} + +.fn__bookmark .hasbook { + opacity: 0; + color: var(--techwave-main-color); +} + +/*------------------------------------------------------------------*/ + +/* 62) Font Trigger (used in AI chat bot page) +/*------------------------------------------------------------------*/ + +.font__trigger { + width: 11px; + height: 60px; + position: fixed; + right: 300px; + margin-right: 14px; + top: 50%; + margin-top: -30px; + z-index: 15; + cursor: pointer; +} + +.font__trigger:after { + content: ''; + position: absolute; + left: -10px; + right: -10px; + bottom: -10px; + top: -10px; +} + +.font__trigger:hover span:after, +.font__trigger:hover span:before, +.font__trigger:hover span { + background-color: var(--techwave-main-color); +} + +.font__trigger span { + width: 1px; + display: block; + top: 0; + bottom: 0; + left: 5px; + background-color: var(--techwave-border-color); + position: absolute; + transition: all .2s ease; +} + +.font__trigger span:after, +.font__trigger span:before { + width: 1px; + top: 50%; + margin-top: -20px; + height: 40px; + background-color: var(--techwave-border-color); + content: ''; + position: absolute; + transition: all .2s ease; +} + +.font__trigger span:before { + right: 100%; + margin-right: 5px; +} + +.font__trigger span:after { + left: 100%; + margin-left: 5px; +} + +/*------------------------------------------------------------------*/ + +/* 63) Font Trigger Lightbox +/*------------------------------------------------------------------*/ + +.techwave_fn_font.opened { + pointer-events: all; + opacity: 1; + visibility: visible; +} + +.techwave_fn_font { + pointer-events: none; + opacity: 0; + visibility: hidden; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 110; + background-color: var(--techwave-site-bg-color); + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; + overflow-y: auto; + padding: 40px; +} + +.techwave_fn_font .font__closer_link { + position: fixed; + right: 35px; + top: 35px; + z-index: 2; +} + +.techwave_fn_font .font__closer { + z-index: 1; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +.techwave_fn_font .font__dialog { + width: 500px; + max-width: 100%; + border-radius: 5px; + background-color: var(--techwave-some-r-bg-color); + padding: 35px 50px 40px; + position: relative; + border: 1px solid var(--techwave-border-color); + z-index: 3; +} + +.techwave_fn_font .title { + text-align: center; + margin: 0; + padding: 0; + font-weight: 500; + font-size: 24px; + letter-spacing: 0; + margin-bottom: 4px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_font select { + margin-bottom: 30px; +} + +.techwave_fn_font label { + display: block; + font-size: 16px; + font-weight: 400; + line-height: 40px; + color: var(--techwave-heading-color); + font-family: var(--techwave-heading-font-family); +} + +.techwave_fn_font .techwave_fn_button { + width: 100%; +} + +/*------------------------------------------------------------------*/ + +/* 64) Tooltipster custom theme named: tooltipster-techwave (it can be changed in init.js) +/*------------------------------------------------------------------*/ + +.tooltipster-sidetip.tooltipster-techwave .tooltipster-box { + border: 1px solid var(--techwave-border-color); + background: var(--techwave-some-r-bg-color); +} + +.tooltipster-sidetip.tooltipster-techwave .tooltipster-content { + color: var(--techwave-heading-color); + font-size: 14px; +} + +.tooltipster-sidetip.tooltipster-techwave .tooltipster-arrow-uncropped { + display: none; +} + +.tooltipster-sidetip.tooltipster-techwave.tooltipster-bottom .tooltipster-arrow:after { + content: ''; + position: absolute; + top: 5px; + left: 3px; + width: 14px; + height: 14px; + transform: rotate(45deg); + border: 1px solid var(--techwave-border-color); + background-color: var(--techwave-some-r-bg-color); +} + +.tooltipster-sidetip.tooltipster-techwave.tooltipster-bottom .tooltipster-arrow { + background-color: transparent; + top: -1px; +} + +.tooltipster-sidetip.tooltipster-techwave.tooltipster-right .tooltipster-arrow { + left: -1px; + background-color: transparent; +} + +.tooltipster-sidetip.tooltipster-techwave.tooltipster-right .tooltipster-arrow:after { + content: ''; + position: absolute; + top: 3px; + left: 5px; + width: 14px; + height: 14px; + transform: rotate(45deg); + border: 1px solid var(--techwave-border-color); + background-color: var(--techwave-some-r-bg-color); +} + +.tooltipster-sidetip.tooltipster-techwave.tooltipster-left .tooltipster-arrow { + right: -1px; + background-color: transparent; +} + +.tooltipster-sidetip.tooltipster-techwave.tooltipster-left .tooltipster-arrow:after { + content: ''; + position: absolute; + top: 3px; + right: 5px; + width: 14px; + height: 14px; + transform: rotate(45deg); + border: 1px solid var(--techwave-border-color); + background-color: var(--techwave-some-r-bg-color); +} + +/*------------------------------------------------------------------*/ + +/* 65) Page: Intro +/*------------------------------------------------------------------*/ + +.techwave_fn_intro { + padding: 150px 20px 100px; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + -o-flex-direction: column; + flex-direction: column; + -ms-align-items: center; + align-items: center; +} + +.techwave_fn_intro .first { + text-align: center; + margin-bottom: 54px; +} + +.techwave_fn_intro .txt { + opacity: 0; + position: absolute; + pointer-events: none; +} + +.techwave_fn_intro .mac { + margin: 0 -20px; + margin-bottom: 86px; +} + +.techwave_fn_intro .mac img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.techwave_fn_intro .livechat { + padding: 24px; + position: relative; + border: 2px dashed #252525; + border-radius: 30px; + width: 825px; + max-width: 100%; + margin: 0 auto; + margin-top: 41px; + margin-bottom: 133px; +} + +.techwave_fn_intro .livechat .chat__comment { + margin-top: 20px; +} + +.techwave_fn_intro .livechat .chat_decor { + position: absolute; + right: 47px; + z-index: 5; + top: 100%; + margin-top: -25px; +} + +.techwave_fn_intro .or { + padding-top: 87px; + padding-bottom: 55px; + text-align: center; +} + +.techwave_fn_intro .or h1 { + font-size: 150px; + font-size: calc(50px + 5.211vw); + font-weight: 700; + text-transform: uppercase; + font-family: sans-serif; +} + +.techwave_fn_intro .or h1 span { + color: var(--techwave-site-bg-color); + -webkit-text-stroke: 1px var(--techwave-main-color); + text-stroke: 1px var(--techwave-main-color); + letter-spacing: -6px; +} + +.fn__center_title { + text-align: center; + max-width: 700px; +} + +.fn__center_title h3.big { + font-size: 60px; + margin-top: -6px; + margin-bottom: 18px; +} + +.fn__center_title p { + margin: 0; +} + +.fn__center_title h3 { + font-size: 32px; + line-height: 1.2; + margin: 0; + font-weight: 300; + text-transform: uppercase; + letter-spacing: .5px; + text-shadow: 0px 0px 15px rgba(124, 95, 227, .35); +} + +.fn__center_title .lines { + position: relative; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + height: 18px; + margin-bottom: 34px; + -ms-align-items: center; + align-items: center; + justify-content: center; +} + +.fn__center_title .lines span { + position: relative; +} + +.fn__center_title .lines .r, +.fn__center_title .lines .l { + width: 100px; + height: 2px; + display: block; + background-color: var(--techwave-main-color); +} + +.fn__center_title .lines span:after { + right: 0; + bottom: 0; + top: 0; + left: 0; + position: absolute; + color: var(--techwave-main-color1); + content: ''; + opacity: .35; + box-shadow: 0px 0px 10px; +} + +.fn__center_title .lines .c:after { + border-radius: 6px; + left: -2px; + right: -2px; + top: -2px; + bottom: -2px; +} + +.fn__center_title .lines .c { + width: 120px; + height: 18px; + display: block; + border: 2px solid var(--techwave-main-color); + margin: 0 10px; + border-radius: 6px; +} + +.txt_unlim { + width: 100%; + overflow: hidden; +} + +.marquee { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; +} + +.TickerNews { + width: 100%; + overflow: hidden; +} + +.TickerNews .js-marquee-wrapper { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-wrap: nowrap; +} + +.TickerNews .ti_wrapper { + width: 100%; + position: relative; + overflow: hidden; +} + +.TickerNews .ti_slide { + position: relative; + left: 0; + top: 0; +} + +.TickerNews .marquee { + overflow: hidden; +} + +.TickerNews .ti_content { + position: relative; + float: left; +} + +.TickerNews .js-marquee { + float: left; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-wrap: nowrap; +} + +.TickerNews .item { + float: left; + position: relative; + white-space: nowrap; + color: var(--techwave-site-bg-color); + -webkit-text-stroke: 1px var(--techwave-main-color); + text-stroke: 1px var(--techwave-main-color); + letter-spacing: -6px; + font-size: 150px; + font-size: calc(50px + 5.211vw); + font-weight: 900; + font-family: sans-serif; + text-transform: uppercase; +} + +.techwave_fn_intro .templates { + width: 1650px; + max-width: 100% +} + +.techwave_fn_intro .templates ul { + margin: 0; + list-style-type: none; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-wrap: wrap; + margin-left: -50px; +} + +.techwave_fn_intro .templates li { + margin: 0; + padding: 0; + padding-left: 50px; + margin-bottom: 50px; + width: 50%; +} + +.techwave_fn_intro .templates .top { + display: block; + width: 100%; + text-decoration: none; + border: 1px solid var(--techwave-border-color); + border-radius: 5px; + transition: all .4s ease; + position: relative; +} + +.techwave_fn_intro .templates .top:after { + content: ''; + position: absolute; + top: 100%; + left: 0; + right: 0; + height: 20px; + transform: translateY(-20px); + transition: all .4s ease; +} + +.techwave_fn_intro .templates .top img { + display: block; + border-radius: 4px; +} + +.techwave_fn_intro .templates .top:hover:after { + transform: translateY(0px); +} + +.techwave_fn_intro .templates .top:hover { + transform: translateY(-20px); +} + +.techwave_fn_intro .templates div div { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -ms-align-items: center; + align-items: center; + justify-content: center; + padding-top: 30px; +} + +.techwave_fn_intro .templates .techwave_fn_button { + padding: 0 52px; +} + +#img_gen { + padding-top: 48px; + margin-bottom: 91px; +} + +#demos { + padding-top: 100px; + margin-bottom: 73px; +} + +/*------------------------------------------------------------------*/ + +/* 66) Media Queries (Responsive) +/*------------------------------------------------------------------*/ + +@media(max-width: 1400px) { + .fn__model_item { + width: 25%; + } +} + +@media(max-width: 1367px) { + .techwave_fn_interactive_list li { + width: 100%; + max-width: 100%; + } +} + +@media(max-width: 1200px) { + .fn__model_item { + width: 33.3333%; + } +} + +@media(max-width: 1040px) { + .techwave_fn_pricing .pricing__content { + display: none; + } + .fn__mobile_pricing { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + } + .font__trigger { + right: 0px; + } + .techwave_fn_accordion .acc__title { + font-size: 18px; + } + .techwave_fn_sign, + .techwave_fn_sign .form__content, + .techwave_fn_interactive_list.modern a, + .techwave_fn_changelog .item__header, + .techwave_fn_changelog .item__content, + .techwave_fn_accordion .acc__header, + .techwave_fn_accordion .acc__content { + padding-left: 20px; + padding-right: 20px; + } + .techwave_fn_pricing .pricing__footer .item_col, + .techwave_fn_pricing .pricing__heading .item, + .techwave_fn_pricing .pricing__fields .item_col, + .techwave_fn_pricing .pricing__header .item_col { + padding-left: 20px; + padding-right: 20px; + } + .techwave_fn_image_generation_page .generation_header, + .fn__generation_item { + padding-left: 20px; + padding-right: 20px; + } + .techwave_fn_image_generation_page .sidebar__trigger { + display: none; + } + .techwave_fn_aichatbot_page, + .techwave_fn_doc_page, + .techwave_fn_image_generation_page { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -webkit-flex-direction: column-reverse; + -moz-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + -o-flex-direction: column-reverse; + flex-direction: column-reverse; + min-height: inherit; + } + .techwave_fn_wrapper.fn__has_sidebar .techwave_fn_content { + margin-right: 0; + } + .techwave_fn_wrapper.fn__has_sidebar .techwave_fn_doc_page .docsidebar, + .techwave_fn_aichatbot_page .chat__sidebar, + .techwave_fn_image_generation_page .generation__sidebar { + position: relative; + width: 100%; + height: auto; + left: auto; + right: auto; + top: auto; + min-width: 100%; + border-left: none; + border-bottom: 1px solid var(--techwave-border-color); + } + .techwave_fn_searchbar { + left: 0; + padding: 0 20px; + } + .techwave_fn_searchbar .search__icon { + left: 20px; + } + .techwave_fn_searchbar .search__closer { + right: 20px; + } + .techwave_fn_searchbar .search__input { + padding-left: 25px; + padding-right: 30px; + } + .techwave_fn_img_lightbox .lightbox__tlimg { + padding-left: 20px; + padding-right: 20px; + } + .techwave_fn_img_lightbox .lightbox__related { + padding-left: 20px; + padding-right: 20px; + } + .fn__grid_items li { + width: 25%; + } + .fn__gallery_item { + width: 33.3333%; + } + .techwave_fn_header { + padding: 0 20px 0 60px; + } + .techwave_fn_leftpanel .mobile_closer { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + } + .techwave_fn_leftpanel .desktop_closer { + display: none; + } + .techwave_fn_leftpanel .mobile_extra_closer { + position: absolute; + left: 100%; + width: calc(100vw - var(--techwave-left-panel-width)); + top: 0; + bottom: 0; + background-color: var(--techwave-some-r-bg-color); + opacity: 0; + pointer-events: none; + margin-left: 1px; + } + .section_home { + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + -o-flex-direction: column; + flex-direction: column; + } + .section_home .section_left { + width: 100%; + border-right: none; + border-bottom: 1px solid var(--techwave-border-color); + padding: 73px 20px 60px; + } + .section_home .section_right { + width: 100%; + padding: 70px 20px; + } + .techwave_fn_footer { + padding-left: 20px; + padding-right: 20px; + } + .section_home .company_info { + max-width: 100%; + } + .techwave_fn_content { + margin-left: 0; + } + .techwave_fn_header { + left: 0; + } + .techwave_fn_leftpanel { + transform: translateX(-100%); + } + .techwave_fn_leftpanel .fn__icon_button { + right: -51px; + width: 40px; + height: 40px; + transform: rotate(180deg); + margin-top: -20px; + } + .mobile-panel-opened .techwave_fn_leftpanel .fn__icon_button { + transform: rotate(0); + } + .mobile-panel-opened .techwave_fn_leftpanel .mobile_extra_closer { + opacity: 0.9; + pointer-events: all; + } + .mobile-panel-opened .techwave_fn_header, + .mobile-panel-opened .techwave_fn_content { + transform: translateX(300px); + } + .mobile-panel-opened .techwave_fn_leftpanel { + transform: translateX(0); + } +} + +@media(max-width: 900px) { + .techwave_fn_pricing .item_row .item_col { + width: 25% !important; + max-width: 25% !important; + } + .techwave_fn_pricing .pricing__header .price span { + font-size: 20px; + } + .techwave_fn_pricing .pricing__footer .item_col, + .techwave_fn_pricing .pricing__heading .item, + .techwave_fn_pricing .pricing__fields .item_col, + .techwave_fn_pricing .pricing__header .item_col { + padding-left: 10px; + padding-right: 10px; + } + .techwave_fn_img_lightbox .lightbox__top { + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + -o-flex-direction: column; + flex-direction: column; + } + .techwave_fn_img_lightbox .lightbox__tl { + width: 100%; + } + .techwave_fn_img_lightbox .lightbox__tr { + width: 100%; + border-left: none; + border-top: 1px solid var(--techwave-border-color); + } +} + +@media(max-width: 768px) { + .fn__mobile_pricing .pricing__item { + width: 100%; + } + .fn__generation_list .fn__gl_item { + width: 50%; + } + .fn__model_item { + width: 50%; + } + .fn__gallery_items .item__info { + opacity: 1; + visibility: visible; + transform: translateY(0); + } + .techwave_fn_footer_content { + flex-wrap: wrap; + } + .fn__grid_items li { + width: 50%; + } + .fn__gallery_item { + width: 50%; + } + .techwave_fn_header .header__left { + display: none; + } + .techwave_fn_header { + justify-content: flex-end; + } +} + +@media(max-width: 480px) { + .techwave_fn_sign, + .techwave_fn_sign .form__content, + .techwave_fn_changelog .item__header, + .techwave_fn_changelog .item__content, + .techwave_fn_accordion .acc__header, + .techwave_fn_accordion .acc__content { + padding-left: 10px; + padding-right: 10px; + } + .fn__generation_list .fn__gl_item { + width: 100%; + } + .techwave_fn_image_generation_page .generation_header, + .fn__generation_item { + padding-left: 10px; + padding-right: 10px; + } + .fn__model_item { + width: 100%; + } + .fn__grid_items ul { + margin-left: -10px; + } + .fn__grid_items li { + padding-left: 10px; + margin-bottom: 10px; + } + .fn__nav_bar .user_opener { + width: 50px; + height: 50px; + } + .fn__details_list li { + width: 100%; + } + .fn__gallery_item { + width: 100%; + } + .techwave_fn_header { + padding-right: 10px; + } + .fn__nav_bar .item_opener .dark_mode { + margin: -9px 0 0 -9px; + } + .fn__nav_bar .bar__item { + margin-right: 5px; + } + .fn__nav_bar .bar__item_user { + margin-left: 5px; + } + .fn__nav_bar .item_opener { + width: 40px; + height: 40px; + } + .fn__nav_bar .item_opener .fn__svg { + width: 18px; + height: 18px; + } +} \ No newline at end of file diff --git a/img/btc.svg b/img/btc.svg new file mode 100644 index 0000000000000000000000000000000000000000..87107292368a42e24374e48d19f516b2c767edad --- /dev/null +++ b/img/btc.svg @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> + <!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools --> +<svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> + <g fill="none" fill-rule="evenodd"> + <circle cx="16" cy="16" r="16" fill="#F7931A"/> + <path fill="#FFF" fill-rule="nonzero" d="M23.189 14.02c.314-2.096-1.283-3.223-3.465-3.975l.708-2.84-1.728-.43-.69 2.765c-.454-.114-.92-.22-1.385-.326l.695-2.783L15.596 6l-.708 2.839c-.376-.086-.746-.17-1.104-.26l.002-.009-2.384-.595-.46 1.846s1.283.294 1.256.312c.7.175.826.638.805 1.006l-.806 3.235c.048.012.11.03.18.057l-.183-.045-1.13 4.532c-.086.212-.303.531-.793.41.018.025-1.256-.313-1.256-.313l-.858 1.978 2.25.561c.418.105.828.215 1.231.318l-.715 2.872 1.727.43.708-2.84c.472.127.93.245 1.378.357l-.706 2.828 1.728.43.715-2.866c2.948.558 5.164.333 6.097-2.333.752-2.146-.037-3.385-1.588-4.192 1.13-.26 1.98-1.003 2.207-2.538zm-3.95 5.538c-.533 2.147-4.148.986-5.32.695l.95-3.805c1.172.293 4.929.872 4.37 3.11zm.535-5.569c-.487 1.953-3.495.96-4.47.717l.86-3.45c.975.243 4.118.696 3.61 2.733z"/> + </g> + </svg> \ No newline at end of file diff --git a/img/gallery/1.jpg b/img/gallery/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..02b57c2e3af2cb11e4d6d609b9d9a4bc4016a200 Binary files /dev/null and b/img/gallery/1.jpg differ diff --git a/img/gallery/2.jpg b/img/gallery/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2e81f5b6d9261a245ab7a7c713b573aa201e9992 Binary files /dev/null and b/img/gallery/2.jpg differ diff --git a/img/gallery/3.jpg b/img/gallery/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0a881e9f0468da507cd9399c65249a69fcc8b859 Binary files /dev/null and b/img/gallery/3.jpg differ diff --git a/img/gallery/4.jpg b/img/gallery/4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..60e993aa172a49e78ac7513ad2e260723c5ddf7d Binary files /dev/null and b/img/gallery/4.jpg differ diff --git a/img/gallery/5.jpg b/img/gallery/5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..908a038fe7f878bae5f472d9bbeb1d2c30f81470 Binary files /dev/null and b/img/gallery/5.jpg differ diff --git a/img/gallery/6.jpg b/img/gallery/6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ec530f00c1802254dcc1ec1304f2078ecbfeca85 Binary files /dev/null and b/img/gallery/6.jpg differ diff --git a/img/gallery/7.jpg b/img/gallery/7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..edd614c325fc109272817db9e8aa3e19a5fbecb8 Binary files /dev/null and b/img/gallery/7.jpg differ diff --git a/img/gallery/8.jpg b/img/gallery/8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..746c079812f831bb1c2e13a705f2d226d71f8559 Binary files /dev/null and b/img/gallery/8.jpg differ diff --git a/img/gallery/main.jpg b/img/gallery/main.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d9f0cf5dfe35a577b4fe0d9a6a6a8d2348645be2 Binary files /dev/null and b/img/gallery/main.jpg differ diff --git a/img/logo-desktop-full.png b/img/logo-desktop-full.png new file mode 100644 index 0000000000000000000000000000000000000000..c8d9ec93e37826c6df5620a685e555ea92cdf880 Binary files /dev/null and b/img/logo-desktop-full.png differ diff --git a/img/logo-desktop-mini.png b/img/logo-desktop-mini.png new file mode 100644 index 0000000000000000000000000000000000000000..1c0b7e0bc77e8df7426fbf1f046fe02c26072e74 Binary files /dev/null and b/img/logo-desktop-mini.png differ diff --git a/img/logo-retina-full.png b/img/logo-retina-full.png new file mode 100644 index 0000000000000000000000000000000000000000..c8d9ec93e37826c6df5620a685e555ea92cdf880 Binary files /dev/null and b/img/logo-retina-full.png differ diff --git a/img/logo-retina-mini.png b/img/logo-retina-mini.png new file mode 100644 index 0000000000000000000000000000000000000000..9f445527f31f72b3b6f5f0057ecab2a237a320ad Binary files /dev/null and b/img/logo-retina-mini.png differ diff --git a/img/models/1.jpg b/img/models/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..194929fe2f44a29a8098c03565c433eed7db5ff8 Binary files /dev/null and b/img/models/1.jpg differ diff --git a/img/models/10.jpg b/img/models/10.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b47651226a3a9cbe7381fec98cc826544b175bc8 Binary files /dev/null and b/img/models/10.jpg differ diff --git a/img/models/2.jpg b/img/models/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9d4c1034d6361cb0d062b93596121d3d630aeccd Binary files /dev/null and b/img/models/2.jpg differ diff --git a/img/models/3.jpg b/img/models/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2bcea52b72453a64b467a51f3a603f65035d8a44 Binary files /dev/null and b/img/models/3.jpg differ diff --git a/img/models/4.jpg b/img/models/4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a3f6ef0a005ae8eb3c9cc022296151ad9fa0706c Binary files /dev/null and b/img/models/4.jpg differ diff --git a/img/models/5.jpg b/img/models/5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3039d34fb2dc3575772f68f774e9502c688c8357 Binary files /dev/null and b/img/models/5.jpg differ diff --git a/img/models/6.jpg b/img/models/6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2c78443bf2787a01063cfaf9ff52c82b0b8ea515 Binary files /dev/null and b/img/models/6.jpg differ diff --git a/img/models/7.jpg b/img/models/7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..49f1c8861f55d1cd2e68ad1282219129a2529177 Binary files /dev/null and b/img/models/7.jpg differ diff --git a/img/models/8.jpg b/img/models/8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a2abd61feeb7bf987a63acf378cd51af978b9ec4 Binary files /dev/null and b/img/models/8.jpg differ diff --git a/img/models/9.jpg b/img/models/9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b61f171341161edf55f73371b9f83b8ee0d24c71 Binary files /dev/null and b/img/models/9.jpg differ diff --git a/img/related/1.jpg b/img/related/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..acfb301263c936e820c539e3967ccdd76daffe9d Binary files /dev/null and b/img/related/1.jpg differ diff --git a/img/related/10.jpg b/img/related/10.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a60b83f376cb77b4b1ef2c5c7cd1cc3075de59f Binary files /dev/null and b/img/related/10.jpg differ diff --git a/img/related/11.jpg b/img/related/11.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a3d2d7a56b714cbf0eadd97d8556ca318c1933cc Binary files /dev/null and b/img/related/11.jpg differ diff --git a/img/related/12.jpg b/img/related/12.jpg new file mode 100644 index 0000000000000000000000000000000000000000..485312a81b0165979aa9155badb0a52baef5fae4 Binary files /dev/null and b/img/related/12.jpg differ diff --git a/img/related/2.jpg b/img/related/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e065f8a84d06d346f6ec685f164a1d9c06882756 Binary files /dev/null and b/img/related/2.jpg differ diff --git a/img/related/3.jpg b/img/related/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..07f47a70eaa90268bd74c9c5b22acb0c6068d580 Binary files /dev/null and b/img/related/3.jpg differ diff --git a/img/related/4.jpg b/img/related/4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..66e91b503c9af39868ffd99d41b6cbc37dabe51b Binary files /dev/null and b/img/related/4.jpg differ diff --git a/img/related/5.jpg b/img/related/5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f37cb599de00f64b9c806b971f1a6f6d9ca8553a Binary files /dev/null and b/img/related/5.jpg differ diff --git a/img/related/6.jpg b/img/related/6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5f79f9031e48c0603baa39f62676cd69f1ca457c Binary files /dev/null and b/img/related/6.jpg differ diff --git a/img/related/7.jpg b/img/related/7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2efd4faab28bad57c896515bcb3d1f3b7a8c0402 Binary files /dev/null and b/img/related/7.jpg differ diff --git a/img/related/8.jpg b/img/related/8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..46680d6075bb01b84514bd2d7d7bf22fa7eccfa3 Binary files /dev/null and b/img/related/8.jpg differ diff --git a/img/related/9.jpg b/img/related/9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..76b5d991987d8912ee99e4afd4e2daaebad5946f Binary files /dev/null and b/img/related/9.jpg differ diff --git a/img/user/user.jpg b/img/user/user.jpg new file mode 100644 index 0000000000000000000000000000000000000000..51440eadac8817798b1f42b7c288b34fdc6fb6fc Binary files /dev/null and b/img/user/user.jpg differ diff --git a/index.html b/index.html new file mode 100644 index 0000000000000000000000000000000000000000..bae441ef645ad67ca6e85262eb78c1068c5dda44 --- /dev/null +++ b/index.html @@ -0,0 +1,529 @@ +<!DOCTYPE html> +<!--[if lt IE 7 ]><html class="ie ie6" lang="en"> <![endif]--> +<!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]--> +<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]--> +<!--[if (gte IE 9)|!(IE)]><!--> +<html lang="en"> +<!--<![endif]--> + +<head> + + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + + <meta name="description" content="TechWave"> + <meta name="author" content="SRBThemes"> + + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + + <title>Home - TechWave</title> + + + <script> + if (!localStorage.frenify_skin) { + localStorage.frenify_skin = 'dark'; + } + if (!localStorage.frenify_panel) { + localStorage.frenify_panel = ''; + } + document.documentElement.setAttribute("data-techwave-skin", localStorage.frenify_skin); + if (localStorage.frenify_panel !== '') { + document.documentElement.classList.add(localStorage.frenify_panel); + } + </script> + + <!-- Google Fonts --> + <link rel="preconnect" href="https://fonts.googleapis.com"> + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> + <link href="https://fonts.googleapis.com/css2?family=Heebo:wght@100;200;300;400;500;600;700;800;900&family=Work+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet"> + <!-- !Google Fonts --> + + <!-- Styles --> + <link type="text/css" rel="stylesheet" href="css/plugins.css?ver=1.0.0" /> + <link type="text/css" rel="stylesheet" href="css/style.css?ver=1.0.0" /> + <!--[if lt IE 9]> <script type="text/javascript" src="js/modernizr.custom.js"></script> <![endif]--> + <!-- !Styles --> + +</head> + +<body> + + + <!-- Moving Submenu --> + <div class="techwave_fn_fixedsub"> + <ul></ul> + </div> + <!-- !Moving Submenu --> + + <!-- Preloader --> + <div class="techwave_fn_preloader enabled"> + <svg> + <circle class="first_circle" cx="50%" cy="50%" r="110"></circle> + <circle class="second_circle" cx="50%" cy="50%" r="110"></circle> + </svg> + </div> + <!-- !Preloader --> + + + <!-- MAIN WRAPPER --> + <div class="techwave_fn_wrapper"> + <div class="techwave_fn_wrap"> + + + <!-- Searchbar --> + <div class="techwave_fn_searchbar"> + <div class="search__bar"> + <input class="search__input" type="text" placeholder="Search here..."> + <img src="svg/search.svg" alt="" class="fn__svg search__icon"> + <a class="search__closer" href="#"><img src="svg/close.svg" alt="" class="fn__svg"></a> + </div> + <div class="search__results"> + <!-- Results will come here (via ajax after the integration you made after purchase as it doesn't work in HTML) --> + <div class="results__title">Results</div> + <div class="results__list"> + <ul> + <li><a href="#">Artificial Intelligence</a></li> + <li><a href="#">Learn about the impact of AI on the financial industry</a></li> + <li><a href="#">Delve into the realm of AI-driven manufacturing</a></li> + <li><a href="#">Understand the ethical implications surrounding AI</a></li> + </ul> + </div> + </div> + </div> + <!-- !Searchbar --> + + <!-- HEADER --> + <header class="techwave_fn_header"> + + <!-- Header left: token information --> + <div class="header__left"> + <div class="fn__token_info"> + <span class="token_summary"> + <script> + async function fetchBTCPrice() { + try { + const response = await fetch('https://api.coindesk.com/v1/bpi/currentprice/BTC.json'); + if (!response.ok) { + throw new Error('Network response was not ok'); + } + const data = await response.json(); + const price = data.bpi.USD.rate_float.toFixed(2); // Get the price and format it to two decimal places + document.querySelector('.count').textContent = price; + } catch (error) { + console.error('Error fetching BTC price:', error); + } + } + + // Fetch the BTC price every second + setInterval(fetchBTCPrice, 1000); + + // Initial fetch + fetchBTCPrice(); + </script> + <div class="btc-price"> + Current BTC Price: $ <span class="count">120</span> <!-- "120" is just an initial placeholder --> +</div> +<style> + .btc-icon { + width: 23px; /* Adjust the size as needed */ + height: auto; /* Maintain aspect ratio */ + vertical-align: middle; /* Aligns the image vertically with text if needed */ +} +</style> +<span class="text"> + <img src="img/btc.svg" alt="BTC Icon" class="btc-icon"> + </span> + </span> + <a href="pricing.html" class="token_upgrade techwave_fn_button"><span>Upgrade</span></a> + + </div> + </div> + <!-- /Header left: token information --> + + + <!-- Header right: navigation bar --> + <div class="header__right"> + <div class="fn__nav_bar"> + + <!-- Search (bar item) --> + <div class="bar__item bar__item_search"> + <a href="#" class="item_opener fn__tooltip" title="Search"> + <img src="svg/search.svg" alt="" class="fn__svg"> + </a> + <div class="item_popup" data-position="right"> + <input type="text" placeholder="Search"> + </div> + </div> + <!-- !Search (bar item) --> + + <!-- Notification (bar item) --> + <div class="bar__item bar__item_notification has_notification"> + <a href="#" class="item_opener fn__tooltip" title="Notifications"> + <img src="svg/bell.svg" alt="" class="fn__svg"> + </a> + <div class="item_popup" data-position="right"> + <div class="ntfc_header"> + <h2 class="ntfc_title">Notifications</h2> + <a href="notifications.html">View All</a> + </div> + <div class="ntfc_list"> + <ul> + <li> + <p><a href="notification-single.html">Version 1.1.0 has been launched</a></p> + <span>34 Min Ago</span> + </li> + <li> + <p><a href="notification-single.html">Video Generation has been released</a></p> + <span>12 Apr</span> + </li> + <li> + <p><a href="notification-single.html">Terms has been updated</a></p> + <span>12 Apr</span> + </li> + </ul> + </div> + </div> + </div> + <!-- !Notification (bar item) --> + + <!-- Full Screen (bar item) --> + <div class="bar__item bar__item_fullscreen"> + <a href="#" class="item_opener fn__tooltip" title="Full Screen"> + <img src="svg/fullscreen.svg" alt="" class="fn__svg f_screen"> + <img src="svg/smallscreen.svg" alt="" class="fn__svg s_screen"> + </a> + </div> + <!-- !Full Screen (bar item) --> + + <!-- Language (bar item) --> + <div class="bar__item bar__item_language"> + <a href="#" class="item_opener fn__tooltip" title="Language"> + <img src="svg/language.svg" alt="" class="fn__svg"> + </a> + <div class="item_popup" data-position="right"> + <ul> + <li> + <span class="active">English</span> + </li> + <li> + <a href="#">Spanish</a> + </li> + <li> + <a href="#">French</a> + </li> + </ul> + </div> + </div> + <!-- !Language (bar item) --> + + <!-- Site Skin (bar item) --> + <div class="bar__item bar__item_skin"> + <a href="#" class="item_opener fn__tooltip" title="Dark/Light"> + <img src="svg/sun.svg" alt="" class="fn__svg light_mode"> + <img src="svg/moon.svg" alt="" class="fn__svg dark_mode"> + </a> + </div> + <!-- !Site Skin (bar item) --> + + <!-- User (bar item) --> + <div class="bar__item bar__item_user"> + <a href="#" class="user_opener fn__tooltip" title="User Profile"> + <img src="img/user/user.jpg" alt=""> + </a> + <div class="item_popup" data-position="right"> + <div class="user_profile"> + <div class="user_img"> + <img src="img/user/user.jpg" alt=""> + </div> + <div class="user_info"> + <h2 class="user_name">Caden Smith<span>Free</span></h2> + <p><a href="mailto:cadmail@gmail.com" class="user_email">cadmail@gmail.com</a></p> + </div> + </div> + <div class="user_nav"> + <ul> + <li> + <a href="user-profile.html"> + <span class="icon"><img src="svg/person.svg" alt="" class="fn__svg"></span> + <span class="text">Profile</span> + </a> + </li> + <li> + <a href="user-settings.html"> + <span class="icon"><img src="svg/setting.svg" alt="" class="fn__svg"></span> + <span class="text">Settings</span> + </a> + </li> + <li> + <a href="user-billing.html"> + <span class="icon"><img src="svg/billing.svg" alt="" class="fn__svg"></span> + <span class="text">Billing</span> + </a> + </li> + <li> + <a href="sign-in.html"> + <span class="icon"><img src="svg/logout.svg" alt="" class="fn__svg"></span> + <span class="text">Log Out</span> + </a> + </li> + </ul> + </div> + </div> + </div> + <!-- !User (bar item) --> + + + </div> + </div> + <!-- !Header right: navigation bar --> + + </header> + <!-- !HEADER --> + + + <!-- LEFT PANEL --> + <div class="techwave_fn_leftpanel"> + + <div class="mobile_extra_closer"></div> + + <!-- logo (left panel) --> + <div class="leftpanel_logo"> + <a href="index.html" class="fn_logo"> + <span class="full_logo"> + <img src="img/logo-desktop-full.png" alt="" class="desktop_logo"> + <img src="img/logo-retina-full.png" alt="" class="retina_logo"> + </span> + <span class="short_logo"> + <img src="img/logo-desktop-mini.png" alt="" class="desktop_logo"> + <img src="img/logo-retina-mini.png" alt="" class="retina_logo"> + </span> + </a> + <a href="#" class="fn__closer fn__icon_button desktop_closer"> + <img src="svg/arrow.svg" alt="" class="fn__svg"> + </a> + <a href="#" class="fn__closer fn__icon_button mobile_closer"> + <img src="svg/arrow.svg" alt="" class="fn__svg"> + </a> + </div> + <!-- !logo (left panel) --> + + <!-- content (left panel) --> + <div class="leftpanel_content"> + + <!-- #1 navigation group --> + <div class="nav_group"> + <h2 class="group__title">Start Here</h2> + <ul class="group__list"> + <li> + <a href="index.html" class="fn__tooltip active menu__item" data-position="right" title="Home"> + <span class="icon"><img src="svg/home.svg" alt="" class="fn__svg"></span> + <span class="text">Home</span> + </a> + </li> + <li> + <a href="news.html" class="fn__tooltip menu__item" data-position="right" title="Community Feed"> + <span class="icon"><img src="svg/news.png" alt="" class="fn__svg"></span> + <span class="text">News</span> + </a> + </li> + <li> + <a href="personal-feed.html" class="fn__tooltip menu__item" data-position="right" title="Personal Feed"> + <span class="icon"><img src="svg/person.svg" alt="" class="fn__svg"></span> + <span class="text">Personal Feed<span class="count">48</span></span> + </a> + </li> + <li> + <a href="models.html" class="fn__tooltip menu__item" data-position="right" title="Finetuned Models"> + <span class="icon"><img src="svg/cube.svg" alt="" class="fn__svg"></span> + <span class="text">Finetuned Models</span> + </a> + </li> + </ul> + </div> + <!-- !#1 navigation group --> + + <!-- #2 navigation group --> + <div class="nav_group"> + <h2 class="group__title">User Tools</h2> + <ul class="group__list"> + <li> + <a href="image-generation.html" class="fn__tooltip menu__item" data-position="right" title="Image Generation"> + <span class="icon"><img src="svg/image.svg" alt="" class="fn__svg"></span> + <span class="text">Image Generation</span> + </a> + </li> + <li> + <a href="ai-chat-bot.html" class="fn__tooltip menu__item" data-position="right" title="AI Chat Bot"> + <span class="icon"><img src="svg/chat.svg" alt="" class="fn__svg"></span> + <span class="text">AI Chat Bot</span> + </a> + </li> + </ul> + </div> + <!-- !#2 navigation group --> + + <!-- #3 navigation group --> + <div class="nav_group"> + <h2 class="group__title">Support</h2> + <ul class="group__list"> + <li> + <a href="pricing.html" class="fn__tooltip menu__item" data-position="right" title="Pricing"> + <span class="icon"><img src="svg/dollar.svg" alt="" class="fn__svg"></span> + <span class="text">Pricing</span> + </a> + </li> + <li class="menu-item-has-children"> + <a href="video-generation.html" class="fn__tooltip menu__item" title="FAQ & Help" data-position="right"> + <span class="icon"><img src="svg/question.svg" alt="" class="fn__svg"></span> + <span class="text">FAQ & Help</span> + <span class="trigger"><img src="svg/arrow.svg" alt="" class="fn__svg"></span> + </a> + <ul class="sub-menu"> + <li> + <a href="documentation.html"><span class="text">Documentation</span></a> + </li> + <li> + <a href="faq.html"><span class="text">FAQ</span></a> + </li> + <li> + <a href="changelog.html"><span class="text">Changelog<span class="fn__sup">(1.3.0)</span></span></a> + </li> + <li> + <a href="contact.html"><span class="text">Contact Us</span></a> + </li> + <li> + <a href="index-2.html"><span class="text">Home #2</span></a> + </li> + </ul> + </li> + <li> + <a href="sign-in.html" class="fn__tooltip menu__item" data-position="right" title="Log Out"> + <span class="icon"><img src="svg/logout.svg" alt="" class="fn__svg"></span> + <span class="text">Log Out</span> + </a> + </li> + </ul> + </div> + <!-- !#3 navigation group --> + + + </div> + <!-- !content (left panel) --> + + </div> + <!-- !LEFT PANEL --> + + + <!-- CONTENT --> + <div class="techwave_fn_content"> + + <!-- PAGE (all pages go inside this div) --> + <div class="techwave_fn_page"> + + <!-- Home Page --> + <div class="techwave_fn_home"> + <div class="section_home"> + <style> + .section_left { + width: 100%; /* Ensure the div takes full width of its parent */ + height: 100vh; /* Or any specific height you need */ + box-sizing: border-box; /* Include padding and border in the element's total width and height */ +} + +.full-frame { + width: 100%; + height: 100%; + border: 0; /* Remove border */ + display: block; /* Ensure the iframe behaves like a block element */ +} </style> + <div class="section_left"> + <iframe src="triding.html" class="full-frame"></iframe> + </div> + <style> + .company_info { + text-align: center; /* Center content */ + padding: 20px; + background-color: none; /* Light background color */ + border-radius: 10px; /* Rounded corners */ + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */ +} + +.logo { + max-width: 100%; /* Responsive logo */ + height: auto; + margin-bottom: 20px; /* Space between logo and next image */ +} + +.featured-image { + max-width: 100%; /* Responsive image */ + height: auto; + margin-bottom: 20px; /* Space between image and text */ + border-radius: 10px; /* Rounded corners for the image */ + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow for the image */ +} + + </style> + <div class="section_right"> + <div class="company_info"> + <img src="img/logo-desktop-full.png" alt="Company Logo" class="logo"> + <img src="https://en.cryptonomist.ch/wp-content/uploads/2024/09/bitcoin-news-blackrock.jpg" alt="Bitcoin News" class="featured-image"> + <p class="fn__animated_text">The official server of TECH-AI, a text-to-image AI where your imagination is the only limit. We’re building market-leading features that will give you greater control over your generations.</p> + <hr> + <div class="fn__members"> + <div class="active item"> + <span class="circle"></span> + <span class="text">1,154,694 Online</span> + </div> + <div class="item"> + <span class="circle"></span> + <span class="text">77,345,912 Members</span> + </div> + </div> + </div> + </div> + </div> + </div> + <!-- !Home Page --> + + </div> + <!-- !PAGE (all pages go inside this div) --> + + + <!-- FOOTER (inside the content) --> + <footer class="techwave_fn_footer"> + <div class="techwave_fn_footer_content"> + <div class="copyright"> + <p> + <script> + document.write(new Date().getFullYear()) + </script>© SRBThemes</p> + </div> + <div class="menu_items"> + <ul> + <li><a href="terms.html">Terms of Service</a></li> + <li><a href="privacy.html">Privacy Policy</a></li> + </ul> + </div> + </div> + </footer> + <!-- !FOOTER (inside the content) --> + + </div> + <!-- !CONTENT --> + + + </div> + </div> + <!-- !MAIN WRAPPER --> + + + + <!-- Scripts --> + <script type="text/javascript" src="js/jquery.js?ver=1.0.0"></script> + <script type="text/javascript" src="js/plugins.js?ver=1.0.0"></script> + <!--[if lt IE 10]> <script type="text/javascript" src="js/ie8.js"></script> <![endif]--> + <script type="text/javascript" src="js/init.js?ver=1.0.0"></script> + <!-- !Scripts --> + +</body> + +</html> \ No newline at end of file diff --git a/js/init.js b/js/init.js new file mode 100644 index 0000000000000000000000000000000000000000..bf331e9f47809ad5ec4984d0854c7f6d904c4f05 --- /dev/null +++ b/js/init.js @@ -0,0 +1,1848 @@ +/* + * Copyright (c) 2024 SRBThemes + * Author: SRBThemes + * This file is made for CURRENT TEMPLATE + */ + + +$.fn.frenifyMoveCursorToEnd = function() { + "use strict"; + this.focus(); + var $thisVal = this.val(); + this.val('').val($thisVal); + return this; +}; +var FrenifyTechWaveTime = new Date(); + +(function($) { + "use strict"; + + + + var TechwaveSelectedCount = 0; + + var TechwaveFeedFilterLoading = false; + var TechwaveModelFilterLoading = false; + + var TechwaveInputText = ''; + var TechwaveUserQuestion = ''; + + + var TechwaveUserMessageCount = 0; + + + var FrenifyTechWave = { + + init: function() { + this.marquee(); + this.tooltip(); + this.fontDialog(); + this.modelTabs(); + this.bookmark(); + this.contactForm(); + this.negativePrompt(); + this.imageGenerationSidebar(); + this.rangeSlider(); + this.quantity(); + this.selectModel(); + this.anchor(); + this.aiChatBot__chat(); + this.aiChatBotOptions(); + this.aiChatBotTextareaHeight(); + this.billingProgress(); + this.inputFileOnChange(); + this.optionsList(); + this.pricingTab(); + this.feedFilters(); + this.report(); + this.follow(); + this.copyLink(); + this.galleryIsotope(); + this.imageLightbox(); + this.like(); + this.accordion(); + this.search(); + this.animatedText(); + this.movingSubMenuForLeftPanel(); + this.panelResize(); + this.navBarItems(); + this.redetectFullScreen(); + this.fullSCreen(); + this.navSubMenu(); + this.imgToSVG(); + this.BgImg(); + this.popupMobile(); + }, + + + marquee: function() { + $(".TickerNews .marquee").each(function() { + var e = $(this); + if (!e.hasClass('ready')) { + e.addClass('ready').marquee({ + duplicated: true, + duration: parseInt(e.data('speed')) * 1000, + delayBeforeStart: 0, + direction: 'left', + // pauseOnHover: true, + startVisible: true + }); + } + }); + }, + + popupMobile: function() { + if (window.matchMedia('(max-width: 767px)').matches) { + var wrapperW = $('.techwave_fn_wrapper').width(); + var padding = 10; + var maxWidth = 300; + $('.item__popup,.fn__nav_bar .item_popup').each(function() { + var element = $(this); + var parent = element.parent(); + var width = wrapperW - 2 * padding; + var normal = Math.min(width, maxWidth); + var leftOffset = parent.offset().left; + var left = padding - leftOffset + (width - normal) / 2; + + var right = 'auto'; + + if (element.data('position') === 'right') { + if (leftOffset + parent.width() > normal) { + left = 'auto'; + right = 0; + } + } else { + if ((leftOffset + normal) < width) { + left = 0; + } + } + + element.css({ + maxWidth: normal, + width: normal, + left: left, + right: right + }); + }); + } else { + $('.fn__nav_bar .item_popup,.item__popup').attr('style', ''); + } + }, + + tooltip: function() { + $('body').on('mouseover mouseenter', '.fn__tooltip', function() { + var element = $(this); + var position = element.attr('data-position'); + if (typeof position === 'undefined' || position === true) { + position = ['top', 'bottom', 'right', 'left']; + } + var options = { + contentAsHTML: 'true', + maxWidth: 300, + animationDuration: 0, + animation: 'fade', // 'fade', 'grow', 'swing', 'slide', 'fall' + delay: 0, + theme: 'tooltipster-techwave', + side: position + }; + if (element.hasClass('menu__item')) { + if (!$('html').hasClass('panel-opened')) { + element.tooltipster(options).tooltipster('hide'); + return; + } + } + element.tooltipster(options); + element.tooltipster('show'); + }); + // $( ".fn__tooltip" ).each(function(){ + // $(this).tooltipster({ + // theme: 'tooltipster-techwave', + // animation: 'fade', // 'fade', 'grow', 'swing', 'slide', 'fall' + // side: 'bottom', + // maxWidth: 300, + // animationDuration: 0, + // delay: 0, + // trigger: 'click' + // }); + // }); + + }, + + fontDialog: function() { + var dialog = $('.techwave_fn_font'); + $('.font__trigger').off().on('click', function() { + dialog.addClass('opened'); + return false; + }); + + + dialog.find('.font__closer').off().on('click', function() { + dialog.removeClass('opened'); + return false; + }); + dialog.find('.font__closer_link').off().on('click', function() { + dialog.removeClass('opened'); + return false; + }); + dialog.find('.apply').off().on('click', function() { + $('.fn__chat_font_size_style').remove(); + $('body').append('<style type="text/css" class="fn__chat_font_size_style">frenify_typing h3,.fn__chatbot .chat{font-size: ' + $('#font_size').find(":selected").val() + 'px;}</style>'); + dialog.removeClass('opened'); + return false; + }); + }, + + modelTabs: function() { + // tab filter + $('.techwave_fn_models .fn__tabs a').off().on('click', function() { + var element = $(this); + if (!element.hasClass('active') && !TechwaveModelFilterLoading) { + TechwaveModelFilterLoading = true; + element.siblings().removeClass('active'); + element.addClass('active'); + var parent = element.closest('.techwave_fn_models'); + parent.find('.models__results').addClass('loading'); + + // do your ajax here + // you have to get new models with filter (if you want to change also filter) of selected tab via ajax + // .... + // .... + // after ajax ends remove setTimeout (it was added just for HTML) + + setTimeout(function() { + // here you have to insert your models into the filter's content and feed content + parent.find('.models__results').removeClass('loading'); + parent.find('.tab__item.active').removeClass('active'); + $(element.attr('href')).addClass('active'); + TechwaveModelFilterLoading = false; + + }, 1500); + + } + return false; + }); + }, + + contactForm: function() { + $("#send_message").on('click', function() { + var name = $(".fn_contact_form #name").val(); + var email = $(".fn_contact_form #email").val(); + var tel = $(".fn_contact_form #tel").val(); + var message = $(".fn_contact_form #message").val(); + var success = $(".fn_contact_form .returnmessage").data('success'); + + $(".fn_contact_form .returnmessage").empty(); //To empty previous error/success message. + //checking for blank fields + if (name === '' || email === '' || message === '') { + $('.fn_contact_form .empty_notice').slideDown(500).delay(2000).slideUp(500); + } else { + // Returns successful data submission message when the entered information is stored in database. + $.post("modal/contact.php", { + ajax_name: name, + ajax_email: email, + ajax_message: message, + ajax_tel: tel + }, function(data) { + + $(".fn_contact_form .returnmessage").append(data); //Append returned message to message paragraph + + + if ($(".fn_contact_form .returnmessage span.contact_error").length) { + $(".fn_contact_form .returnmessage").slideDown(500).delay(2000).slideUp(500); + } else { + $(".fn_contact_form .returnmessage").append("<span class='contact_success'>" + success + "</span>"); + $(".fn_contact_form .returnmessage").slideDown(500).delay(4000).slideUp(500); + } + + if (data === "") { + $("#fn_contact_form")[0].reset(); //To reset form fields on success + } + + }); + } + return false; + }); + }, + + negativePrompt: function() { + $('#negative_prompt').on('change', function() { + if (this.checked) { + $('.techwave_fn_image_generation_page .exclude_area').slideDown(200); + } else { + $('.techwave_fn_image_generation_page .exclude_area').slideUp(200); + } + }); + }, + + imageGenerationSidebar: function() { + $('.techwave_fn_image_generation_page .sidebar__trigger').off().on('click', function() { + $('.techwave_fn_wrapper').toggleClass('fn__has_sidebar'); + return false; + }); + }, + + rangeSlider: function() { + $('.fn__range').each(function() { + var element = $(this), + input = element.find('input'), + val = input.val(), + output = element.find('.value'), + min = input.attr('min'), + max = input.attr('max'), + slider = element.find('.slider'); + slider.css({ + width: (val * (min * 100) / max) + '%' + }); + input.on('input', function() { + val = $(this).val(); + output.text(val); + slider.css({ + width: (val * (min * 100) / max) + '%' + }); + }); + }); + }, + + quantity: function() { + $('.fn__quantity .increase').off().on('click', function() { + var parent = $(this).closest('.fn__quantity'); + var input = parent.find('input'); + var max = parseInt(input.attr('max'), 10); + var value = parseInt(input.val(), 10); + value = isNaN(value) ? 0 : value; + if (max === value) { + return false; + } + value++; + input.val(value); + return false; + }); + $('.fn__quantity .decrease').off().on('click', function() { + var parent = $(this).closest('.fn__quantity'); + var input = parent.find('input'); + var value = parseInt(input.val(), 10); + var min = parseInt(input.attr('min'), 10); + value = isNaN(value) ? 0 : value; + if (min === value) { + return false; + } + value--; + input.val(value); + + return false; + }); + }, + + selectModel: function() { + $('.fn__select_model .model_open').off().on('click', function() { + $(this).closest('.fn__select_model').toggleClass('opened'); + return false; + }); + + $(window).on('click', function() { + $('.fn__select_model').removeClass('opened'); + }); + + $('.fn__select_model .all_models').on('click', function(e) { + e.stopPropagation(); + }); + }, + + anchor: function() { + $('.techwave_fn_doc_page .docsidebar li.menu-item-has-children > a').off().on('click', function() { + $(this).siblings('ul').slideToggle(); + return false; + }); + if ($().onePageNav) { + $('.techwave_fn_doc_page .docsidebar > ul').onePageNav(); + } + }, + + aiChatBot__chat: function() { + if ($('#fn__chat_textarea').length && !$('.techwave_fn_intro').length) { + $("#fn__chat_textarea").focus(); + } + $("#fn__chat_textarea").keypress(function(e) { + var code = (e.keyCode ? e.keyCode : e.which); + if (code === 13 && e.shiftKey) { + + } else if (code === 13) { + $('.fn__chat_comment button').trigger('click'); + return false; + } + }); + $('.fn__chat_comment button').off().on('click', function() { + var button = $(this); + var textarea = $('#fn__chat_textarea'); + var text = textarea.val(); + if (text === '' || button.hasClass('disabled')) { + return; + } else { + text = text.replace(/\n\r?/g, '<br />'); + TechwaveUserQuestion = text; + var activeChatItem = $('.fn__chatbot .chat__item.active'); + var newText = '<div class="chat__box your__chat"><div class="author"><span>You</span></div><div class="chat"><p>' + text + '</p></div></div>'; + $('.fn__chat_comment').removeClass('neww'); + if (activeChatItem.attr('id') === 'chat0') { + activeChatItem.removeClass('active'); + $('.fn__new_chat_link').removeClass('active'); + var id = $('.fn__chatbot .chat__item').length; + $('.fn__chatbot .chat__list').append('<div class="chat__item active" id="chat' + id + '">' + newText + '</div>'); + var newChatToRightPanel = '<li class="group__item"><div class="fn__chat_link active" href="#chat' + id + '"><span class="text">New Chat</span><input type="text" value="New Chat"><span class="options"><button class="trigger"><span></span></button><span class="options__popup"><span class="options__list"><button class="edit">Edit</button><button class="delete">Delete</button></span></span></span><span class="save_options"><button class="save"><img src="svg/check.svg" alt="" class="fn__svg"></button><button class="cancel"><img src="svg/close.svg" alt="" class="fn__svg"></button></span></div></li>'; + if ($('.fn__chatbot .chat__group.new').length) { + $('.fn__chatbot .chat__group.new ul').append(newChatToRightPanel); + } else { + $('.fn__chatbot .sidebar_content').prepend('<div class="chat__group"><h2 class="group__title">Today</h2><ul class="group__list">' + newChatToRightPanel + '</ul></div>'); + } + FrenifyTechWave.imgToSVG(); + FrenifyTechWave.aiChatBotOptions(); + } else { + activeChatItem.append(newText); + } + textarea.val(''); + textarea.siblings('.fn__hidden_textarea').val(''); + FrenifyTechWave.aiChatBotTextareaHeight(); + + if ($('.techwave_fn_intro').length) { + $("html, body").animate({ + scrollTop: textarea.offset().top - $(window).height() + 100 + }); + } else { + $("html, body").animate({ + scrollTop: $(document).height() - $(window).height() + }); + } + textarea.frenifyMoveCursorToEnd(); + } + + // do your ajax here to answer the chat via AI + + // you can remove frenify chat bot here + // FrenifyTechWave.frenifyChat(); + + // don't remove this + return false; + }); + }, + frenifyChat: function() { + var botText = ''; + var append = true; + var commands = ''; + + TechwaveUserMessageCount = $('.fn__chatbot .chat__item.active .chat__box').length; + + // all avaliable commands + var allCommands = { + welcome: { + type: 'text', + description: 'welcome message', + text: '<p>Frenify was founded in 2017. The company began working with the first customers, giving them the opportunity to purchase high-quality HTML templates.</p><p>The company’s products began to grow in terms of complexity and aesthetics. Frenify currently has a wide range of HTML templates, WordPress themes, WordPress plugins, Photoshop projects; paid and absolutely free products.</p><p>Design projects are unique and aesthetically pleasing based on customer requirements. Visit our website to get acquainted with our products. Thank you so much for being with us.</p>', + append: true + }, + about: { + type: 'text', + description: 'some information about the SRBThemes', + text: '<p>Frenify was founded in 2017. The company began working with the first customers, giving them the opportunity to purchase high-quality HTML templates.</p><p>The company’s products began to grow in terms of complexity and aesthetics. Frenify currently has a wide range of HTML templates, WordPress themes, WordPress plugins, Photoshop projects; paid and absolutely free products.</p><p>Design projects are unique and aesthetically pleasing based on customer requirements. Visit our website to get acquainted with our products. Thank you so much for being with us.</p>', + append: true + }, + website: { + type: 'url', + description: 'go to our official website', + append: false, + url: 'https://frenify.com/' + }, + free: { + type: 'url', + description: 'get PSD files of premium themes for free', + append: false, + url: 'https://frenify.com/freebies/' + }, + doc: { + type: 'url', + description: 'visit online documentation for TechWave HTML template', + append: false, + url: 'https://frenify.com/work/envato/frenify/html/techwave/doc' + }, + support: { + type: 'url', + description: 'if you have any questions regarding TechWave HTML template feel free and contact us by this command', + append: false, + url: 'https://themeforest.net/item/techwave-ai-html-dashboard-for-image-generation-chat-bot/46197058/support/contact' + }, + purchase: { + type: 'url', + description: 'open the template description page on themeforest to purchase it', + append: false, + url: 'https://themeforest.net/item/techwave-ai-html-dashboard-for-image-generation-chat-bot/46197058' + }, + youtube: { + type: 'url', + description: 'visit our youtube channel with video guides on our themes and templates', + append: false, + url: 'https://www.youtube.com/@frenifyteam/videos' + }, + pass: { + type: 'password', + description: 'if you want to get strong password I can generate it for you, write <frenify_main>/pass 20</frenify_main> to get a 20 character password', + append: true, + }, + joke: { + type: 'joke', + description: 'I can cheer you up by telling a joke', + append: true, + }, + time: { + type: 'time', + description: 'display current time', + append: true, + }, + clear: { + type: 'clear', + description: 'to clear current chat', + append: false, + }, + commands: { + type: 'commands', + description: 'to list all available commands', + append: true, + }, + }; + + + + // collect all commands + commands = '<ul>'; + $.each(allCommands, function(key, value) { + commands += '<li><frenify_main>/' + key + '</frenify_main> - ' + value.description + '</li>'; + }); + commands += '</ul>'; + + // welcome text (first message of the bot) + var welcomeText = '<p>Hello.</p><p>I am Frenify Bot. After purchasing the template, you can delete me easily. I understand some commands. You just select one of the commands and write here.</p><p>Here is the list of commands:</p>' + commands + '<p>We are trying for you. We try to make unique themes and templates with excellent functionality and excellent design.</p>'; + + allCommands.welcome.text = welcomeText; + + + var allJokes = [ + 'What did one pirate say to the other when he beat him at chess?<>Checkmatey.', + 'I burned 2000 calories today<>I left my food in the oven for too long.', + 'I startled my next-door neighbor with my new electric power tool. <>I had to calm him down by saying “Don’t worry, this is just a drill!”', + 'I broke my arm in two places. <>My doctor told me to stop going to those places.', + 'I quit my job at the coffee shop the other day. <>It was just the same old grind over and over.', + 'I never buy anything that has Velcro with it...<>it’s a total rip-off.', + 'I used to work at a soft drink can crushing company...<>it was soda pressing.', + 'I wondered why the frisbee kept on getting bigger. <>Then it hit me.', + 'I was going to tell you a fighting joke...<>but I forgot the punch line.', + 'What is the most groundbreaking invention of all time? <>The shovel.', + 'I’m starting my new job at a restaurant next week. <>I can’t wait.', + 'I visited a weight loss website...<>they told me I have to have cookies disabled.', + 'Did you hear about the famous Italian chef that recently died? <>He pasta way.', + 'Broken guitar for sale<>no strings attached.', + 'I could never be a plumber<>it’s too hard watching your life’s work go down the drain.', + 'I cut my finger slicing cheese the other day...<>but I think I may have grater problems than that.', + 'What time did you go to the dentist yesterday?<>Tooth-hurty.', + 'What kind of music do astronauts listen to?<>Neptunes.', + 'Rest in peace, boiled water. <>You will be mist.', + 'What is the only concert in the world that costs 45 cents? <>50 Cent, featuring Nickelback.', + 'It’s not a dad bod<> it’s a father figure.', + 'My wife recently went on a tropical food diet and now our house is full of this stuff. <>It’s enough to make a mango crazy.', + 'What do you call Santa’s little helpers? <>Subordinate clauses.', + 'Want to hear a construction joke? <>Sorry, I’m still working on it.', + 'What’s the difference between a hippo and a zippo? <>One is extremely big and heavy, and the other is a little lighter.', + 'I burnt my Hawaiian pizza today in the oven, <>I should have cooked it on aloha temperature.', + 'Anyone can be buried when they die<>but if you want to be cremated then you have to urn it.', + 'Where did Captain Hook get his hook? <>From the second-hand store.', + 'I am such a good singer that people always ask me to sing solo<>solo that they can’t hear me.', + 'I am such a good singer that people ask me to sing tenor<>tenor twelve miles away.', + 'Occasionally to relax I just like to tuck my knees into my chest and lean forward.<> That’s just how I roll.', + 'What did the glass of wine say to the glass of beer? Nothing. <>They barley knew each other.', + 'I’ve never trusted stairs. <>They are always up to something.', + 'Why did Shakespeare’s wife leave him? <>She got sick of all the drama.', + 'I just bought a dictionary but all of the pages are blank. <>I have no words to describe how mad I am.', + 'If you want to get a job at the moisturizer factory... <>you’re going to have to apply daily.', + 'I don’t know what’s going to happen next year. <>It’s probably because I don’t have 2020 vision.', + 'Want to hear a joke about going to the bathroom? <>Urine for a treat.', + 'I couldn’t figure out how to use the seat belt. <>Then it just clicked.', + 'I got an email the other day teaching me how to read maps backwards<>turns out it was just spam.', + 'I’m reading a book about anti-gravity.<> It’s impossible to put down!', + 'You’re American when you go into the bathroom, and you’re American when you come out, but do you know what you are while you’re in there?<> European.', + 'Did you know the first French fries weren’t actually cooked in France?<> They were cooked in Greece.', + 'Want to hear a joke about a piece of paper? Never mind... <>it’s tearable.', + 'I just watched a documentary about beavers. <>It was the best dam show I ever saw!', + 'If you see a robbery at an Apple Store what re you?<> An iWitness?', + 'Spring is here! <>I got so excited I wet my plants!', + 'What’s Forrest Gump’s password?<> 1forrest1', + 'Why did the Clydesdale give the pony a glass of water? <>Because he was a little horse!', + 'CASHIER: "Would you like the milk in a bag, sir?" <>DAD: "No, just leave it in the carton!’”', + 'Did you hear about the guy who invented Lifesavers? <>They say he made a mint.', + 'I bought some shoes from a drug dealer.<> I don’t know what he laced them with, but I was tripping all day!', + 'Why do chicken coops only have two doors?<> Because if they had four, they would be chicken sedans!', + 'How do you make a Kleenex dance? <>Put a little boogie in it!', + 'A termite walks into a bar and asks<>"Is the bar tender here?"', + 'Why did the invisible man turn down the job offer?<> He couldn’t see himself doing it.', + 'I used to have a job at a calendar factory <>but I got the sack because I took a couple of days off.', + 'A woman is on trial for beating her husband to death with his guitar collection. Judge says, "First offender?" <>She says, "No, first a Gibson! Then a Fender!”', + 'How do you make holy water?<> You boil the hell out of it.', + 'I had a dream that I was a muffler last night.<> I woke up exhausted!', + 'Did you hear about the circus fire?<> It was in tents!', + 'Don’t trust atoms.<> They make up everything!', + 'How many tickles does it take to make an octopus laugh? <>Ten-tickles.', + 'I’m only familiar with 25 letters in the English language.<> I don’t know why.', + 'Why did the cow in the pasture get promoted at work?<> Because he is OUT-STANDING in his field!', + 'What do prisoners use to call each other?<> Cell phones.', + 'Why couldn’t the bike standup by itself? <>It was two tired.', + 'Who was the fattest knight at King Arthur’s round table?<> Sir Cumference.', + 'Did you see they made round bails of hay illegal in Wisconsin? <>It’s because the cows weren’t getting a square meal.', + 'You know what the loudest pet you can get is?<> A trumpet.', + 'What do you get when you cross a snowman with a vampire?<> Frostbite.', + 'What do you call a deer with no eyes?<> No idea!', + 'Can February March? <>No, but April May!', + 'What do you call a lonely cheese? <>Provolone.', + 'Why can’t you hear a pterodactyl go to the bathroom?<> Because the pee is silent.', + 'What did the buffalo say to his son when he dropped him off at school?<> Bison.', + 'What do you call someone with no body and no nose? <>Nobody knows.', + 'You heard of that new band 1023MB? <>They’re good but they haven’t got a gig yet.', + 'Why did the crab never share?<> Because he’s shellfish.', + 'How do you get a squirrel to like you? <>Act like a nut.', + 'Why don’t eggs tell jokes? <>They’d crack each other up.', + 'Why can’t a nose be 12 inches long? <>Because then it would be a foot.', + 'Did you hear the rumor about butter? <>Well, I’m not going to spread it!', + 'I made a pencil with two erasers. <>It was pointless.', + 'I used to hate facial hair...<>but then it grew on me.', + 'I decided to sell my vacuum cleaner—<>it was just gathering dust!', + 'I had a neck brace fitted years ago<> and I’ve never looked back since.', + 'You know, people say they pick their nose,<> but I feel like I was just born with mine.', + 'What do you call an elephant that doesn’t matter?<> An irrelephant.', + 'What do you get from a pampered cow? <>Spoiled milk.', + 'It’s inappropriate to make a ’dad joke’ if you’re not a dad.<> It’s a faux pa.', + 'How do lawyers say goodbye? <>Sue ya later!', + 'Wanna hear a joke about paper? <>Never mind—it’s tearable.', + 'What’s the best way to watch a fly fishing tournament? <>Live stream.', + 'I could tell a joke about pizza,<> but it’s a little cheesy.', + 'When does a joke become a dad joke?<> When it becomes apparent.', + 'What’s an astronaut’s favorite part of a computer? <>The space bar.', + 'What did the shy pebble wish for?<>That she was a little boulder.', + 'I’m tired of following my dreams. <>I’m just going to ask them where they are going and meet up with them later.', + 'Did you hear about the guy whose whole left side was cut off? <>He’s all right now.', + 'Why didn’t the skeleton cross the road? <>Because he had no guts.', + 'What did one nut say as he chased another nut? <> I’m a cashew!', + 'Chances are if you’ve seen one shopping center...<> you’ve seen a mall.', + 'I knew I shouldn’t steal a mixer from work...<>but it was a whisk I was willing to take.', + 'How come the stadium got hot after the game? <>Because all of the fans left.', + 'Why was it called the dark ages? <>Because of all the knights.', + 'Why did the tomato blush? <>Because it saw the salad dressing.', + 'Did you hear the joke about the wandering nun? <>She was a roman catholic.', + 'What creature is smarter than a talking parrot? <>A spelling bee.', + 'I’ll tell you what often gets over looked...<> garden fences.', + 'Why did the kid cross the playground? <>To get to the other slide.', + 'Why do birds fly south for the winter?<> Because it’s too far to walk.', + 'What is a centipedes’s favorite Beatle song? <> I want to hold your hand, hand, hand, hand...', + 'My first time using an elevator was an uplifting experience. <>The second time let me down.', + 'To be Frank...<> I’d have to change my name.', + 'Slept like a log last night … <>woke up in the fireplace.', + 'Why does a Moon-rock taste better than an Earth-rock? <>Because it’s a little meteor.', + 'How many South Americans does it take to change a lightbulb?<> A Brazilian', + 'I don’t trust stairs.<> They’re always up to something.', + 'A police officer caught two kids playing with a firework and a car battery.<> He charged one and let the other one off.', + 'What is the difference between ignorance and apathy?<>I don’t know and I don’t care.', + 'I went to a Foo Fighters Concert once... <>It was Everlong...', + 'Some people eat light bulbs. <>They say it’s a nice light snack.', + 'What do you get hanging from Apple trees? <> Sore arms.', + 'Last night me and my girlfriend watched three DVDs back to back.<> Luckily I was the one facing the TV.', + 'I got a reversible jacket for Christmas,<> I can’t wait to see how it turns out.', + 'What did Romans use to cut pizza before the rolling cutter was invented? <>Lil Caesars', + 'My pet mouse ’Elvis’ died last night. <>He was caught in a trap..', + 'Never take advice from electrons. <>They are always negative.', + 'Why are oranges the smartest fruit? <>Because they are made to concentrate. ', + 'What did the beaver say to the tree? <>It’s been nice gnawing you.', + 'How do you fix a damaged jack-o-lantern?<> You use a pumpkin patch.', + 'What did the late tomato say to the early tomato? <>I’ll ketch up', + 'I have kleptomania...<>when it gets bad, I take something for it.', + 'I used to be addicted to soap...<> but I’m clean now.', + 'When is a door not a door?<> When it’s ajar.', + 'I made a belt out of watches once...<> It was a waist of time.', + 'This furniture store keeps emailing me,<> all I wanted was one night stand!', + 'How do you find Will Smith in the snow?<> Look for fresh prints.', + 'I just read a book about Stockholm syndrome.<> It was pretty bad at first, but by the end I liked it.', + 'Why do trees seem suspicious on sunny days? <>Dunno, they’re just a bit shady.', + 'If at first you don’t succeed<> sky diving is not for you!', + 'What kind of music do mummy’s like?<>Rap', + 'A book just fell on my head. <>I only have my shelf to blame.', + 'What did the dog say to the two trees? <>Bark bark.', + 'If a child refuses to sleep during nap time...<> are they guilty of resisting a rest?', + 'Have you ever heard of a music group called Cellophane?<> They mostly wrap.', + 'What did the mountain climber name his son?<>Cliff.', + 'Why should you never trust a pig with a secret?<> Because it’s bound to squeal.', + 'Why are mummys scared of vacation?<> They’re afraid to unwind.', + 'Whiteboards ...<> are remarkable.', + 'What kind of dinosaur loves to sleep?<>A stega-snore-us.', + 'What kind of tree fits in your hand?<> A palm tree!', + 'I used to be addicted to the hokey pokey<> but I turned myself around.', + 'How many tickles does it take to tickle an octopus?<> Ten-tickles!', + 'What musical instrument is found in the bathroom?<> A tuba toothpaste.', + 'My boss told me to attach two pieces of wood together... <>I totally nailed it!', + 'What was the pumpkin’s favorite sport?<>Squash.', + 'What do you call corn that joins the army?<> Kernel.', + 'I’ve been trying to come up with a dad joke about momentum <>but I just can’t seem to get it going.', + 'Why don’t sharks eat clowns? <> Because they taste funny.', + 'Just read a few facts about frogs.<> They were ribbiting.', + 'Why didn’t the melons get married?<>Because they cantaloupe.', + 'What’s a computer’s favorite snack?<>Microchips!', + 'Why was the robot so tired after his road trip?<>He had a hard drive.', + 'Why did the computer have no money left?<>Someone cleaned out its cache!', + 'I’m not anti-social. <>I’m just not user friendly.', + 'Why did the computer get cold?<>Because it forgot to close windows.', + 'What is an astronaut’s favorite key on a keyboard?<>The space bar!', + 'What’s the difference between a computer salesman and a used-car salesman?<>The used-car salesman KNOWS when he’s lying.', + 'If at first you don’t succeed...<> call it version 1.0', + 'Why did Microsoft PowerPoint cross the road?<>To get to the other slide!', + 'What did the computer do at lunchtime?<>Had a byte!', + 'Why did the computer keep sneezing?<>It had a virus!', + 'What did one toilet say to the other?<>You look a bit flushed.', + 'Why did the picture go to jail?<>Because it was framed.', + 'What did one wall say to the other wall?<>I’ll meet you at the corner.', + 'What do you call a boy named Lee that no one talks to?<>Lonely', + 'Why do bicycles fall over?<>Because they are two-tired!', + 'Why was the broom late?<>It over swept!', + 'What part of the car is the laziest?<>The wheels, because they are always tired!', + 'What’s the difference between a TV and a newspaper?<>Ever tried swatting a fly with a TV?', + 'What did one elevator say to the other elevator?<>I think I’m coming down with something!', + 'Why was the belt arrested?<>Because it held up some pants!', + 'What makes the calendar seem so popular?<>Because it has a lot of dates!', + 'Why did Mickey Mouse take a trip into space?He wanted to find Pluto!', + 'Why do you go to bed every night?<>Because the bed won’t come to you!', + 'What has four wheels and flies?<>A garbage truck!', + 'Why did the robber take a bath before he stole from the bank?<>He wanted to make a clean get away!', + 'Just watched a documentary about beavers.<>It was the best damn program I’ve ever seen.', + 'Slept like a log last night<>woke up in the fireplace.', + 'Why did the scarecrow win an award?<>Because he was outstanding in his field.', + 'Why does a chicken coop only have two doors? <>Because if it had four doors it would be a chicken sedan.', + 'What’s the difference between an African elephant and an Indian elephant? <>About 5000 miles', + 'Why did the coffee file a police report? <>It got mugged.', + 'What did the grape do when he got stepped on? <>He let out a little wine.', + 'How many apples grow on a tree? <>All of them.', + 'What name do you give a person with a rubber toe? <>Roberto', + 'Did you hear about the kidnapping at school? <>It’s fine, he woke up.', + 'Why do scuba divers fall backwards into the water? <>Because if they fell forwards they’d still be in the boat.', + 'How does a penguin build it’s house? <>Igloos it together.', + 'What do you call a man with a rubber toe?<>Roberto', + 'Did you hear about the restaurant on the moon?<>Great food, no atmosphere.', + 'Why was the belt sent to jail?<>For holding up a pair of pants!', + 'Did you hear about the scientist who was lab partners with a pot of boiling water?<>He had a very esteemed colleague.', + 'What happens when a frogs car dies?<>He needs a jump. If that doesn’t work he has to get it toad.', + 'What did the flowers do when the bride walked down the aisle?<>They rose.', + 'Why did the man fall down the well?<>Because he couldn’t see that well.', + 'My boss told me to have a good day...<>...so I went home.', + 'How can you tell it’s a dogwood tree?<>By the bark.', + 'Did you hear about the kidnapping at school?<>It’s fine, he woke up.', + 'Why is Peter Pan always flying?<>Because he Neverlands.', + 'Which state has the most streets?<>Rhode Island.', + 'What do you call 26 letters that went for a swim?<>Alphawetical.', + 'Why was the color green notoriously single?<>It was always so jaded.', + 'Why did the coach go to the bank?<>To get his quarterback.', + 'How do celebrities stay cool?<>They have many fans.', + 'What’s the most depressing day of the week?<>sadder day.', + 'Dogs can’t operate MRI machines<>But catscan.', + 'I was going to tell a time-traveling joke<>but you guys didn’t like it.', + 'Stop looking for the perfect match<>instead look for a lighter.', + 'I told my doctor I heard buzzing<>but he said it’s just a bug going around.', + 'What kind of car does a sheep like to drive?<>A lamborghini.', + 'What did the accountant say while auditing a document?<>This is taxing.', + 'What did the two pieces of bread say on their wedding day?<>It was loaf at first sight.', + 'Why do melons have weddings?<>Because they cantaloupe.', + 'What did the drummer call his twin daughters?<>Anna One, Anna Two!', + 'What do you call a toothless bear?<> A gummy bear!', + 'Two goldfish are in a tank. <>One says to the other, “Do you know how to drive this thing?”', + 'What’s Forrest Gump’s password?<>1forrest1', + 'What is a child guilty of if they refuse to nap?<> Resisting a rest.', + 'I know a lot of jokes about retired people<>but none of them work.', + 'Why are spiders so smart?<>They can find everything on the web.', + 'What has one head, one foot, and four legs?<> A bed.', + 'What does a house wear?<> Address.', + 'What’s red and smells like blue paint?<>Red paint.', + 'My son asked me to put his shoes on<> but I don’t think they’ll fit me.', + 'I’ve been bored recently, so I decided to take up fencing.<> The neighbors keep demanding that I put it back.', + 'What do you call an unpredictable camera?<>A loose Canon.', + 'Which U.S. state is known for its especially small soft drinks?<>Minnesota.', + 'What do sprinters eat before a race?<> Nothing—they fast.', + 'I’m so good at sleeping...<>I can do it with my eyes closed.', + 'People are usually shocked that I have a Police record.<>But I love their greatest hits!', + 'I told my girlfriend she drew on her eyebrows too high.<> She seemed surprised.', + 'What do you call a fibbing cat?<> A lion.', + 'Why shouldn’t you write with a broken pencil?<> Because it’s pointless.', + 'I like telling Dad jokes…<>sometimes he laughs.', + 'How do you weigh a millennial?<> In Instagrams.', + 'The wedding was so beautiful<>even the cake was in tiers.', + 'What’s the most patriotic sport?<> Flag football.', + ]; + + // answer + var unknownCommand = false; + if (TechwaveUserMessageCount === 1) { + botText = welcomeText; + } else { + if (TechwaveUserQuestion.slice(0, 1) === '/') { + var question = TechwaveUserQuestion.substring(1); + var regex = /pass \d/i; + var countpass = 15; + if (regex.test(question)) { + countpass = question.split(' ')[1]; + question = 'pass'; + } + regex = /joke \d/i; + var countjoke = 1; + if (regex.test(question)) { + countjoke = question.split(' ')[1]; + question = 'joke'; + } + if (allCommands.hasOwnProperty(question)) { + var allOptions = allCommands[question]; + var type = allOptions.type; + if (type === 'text') { + botText = allOptions.text; + } else if (type === 'url') { + window.location.href = allOptions.url; + } else if (type === 'password') { + var possible = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789![]{}()%&*$#^<>~@|'; + var password = ''; + if (countpass > 1000) { + botText += '<p>I don\'t think that you want to get this password. Maximum password characters are: 1000.</p><p>Your password with 1000 characters:</p>'; + countpass = 1000; + } + for (var i = 0; i < countpass; i++) { + password += possible.charAt(Math.floor(Math.random() * possible.length)); + } + password = FrenifyTechWave.escapeHTML(password); + botText += '<frenify_uselect>' + password + '</frenify_uselect>'; + } else if (type === 'time') { + var dt = new Date(); + var hh = dt.getHours() < 10 ? '0' + dt.getHours() : dt.getHours(); + var mm = dt.getMinutes() < 10 ? '0' + dt.getMinutes() : dt.getMinutes(); + var ss = dt.getSeconds() < 10 ? '0' + dt.getSeconds() : dt.getSeconds(); + botText = hh + ":" + mm + ":" + ss; + } else if (type === 'clear') { + $('.fn__chatbot .chat__item.active').html(''); + } else if (type === 'joke') { + if (countjoke > 1) { + var shuffled = FrenifyTechWave.shuffleArray(allJokes); + var selected = shuffled.slice(0, countjoke); + botText = '<ul>'; + if (countjoke >= 1 && countjoke <= allJokes.length) { + for (var j = 0; j < countjoke; j++) { + botText += '<li>' + selected[j] + '</li>'; + } + } + botText += '</ul>'; + } else { + botText = allJokes[Math.floor(Math.random() * allJokes.length)]; + } + + + } else if (type === 'commands') { + botText = commands; + } + append = allOptions.append; + } else { + unknownCommand = true; + } + } else { + unknownCommand = true; + } + } + if (unknownCommand) { + botText = '<p>I only understand some commands. Of course, this is a fixable problem. Buy this template and implement AI and that\'s it. Go to the template site where you can buy? Visit item\'s website: <a href="https://themeforest.net/user/frenify/portfolio" target="_blank">TechWave</a></p><p>Write <frenify_main>/commands</frenify_main> to list all available commands.'; + } + + + // answer to question + if (append) { + $('.fn__chat_comment button').addClass('disabled'); + setTimeout(function() { + $('.fn__chatbot .chat__item.active').append('<div class="chat__box bot__chat"><div class="author"><span>Frenify Bot</span></div><div class="chat"><frenify_typing><h3><span>Typing...</frenify></h3></div></div>'); + if ($('.techwave_fn_intro').length) { + $("html, body").animate({ + scrollTop: $('#fn__chat_textarea').offset().top - $(window).height() + 100 + }); + } else { + $("html, body").animate({ + scrollTop: $(document).height() - $(window).height() + }); + } + }, 100); + setTimeout(function() { + $('.fn__chatbot .chat__item.active .chat__box.bot__chat:last-child .chat').html(botText); + $('.fn__chat_comment button').removeClass('disabled'); + if ($('.techwave_fn_intro').length) { + $("html, body").animate({ + scrollTop: $('#fn__chat_textarea').offset().top - $(window).height() + 100 + }); + } else { + $("html, body").animate({ + scrollTop: $(document).height() - $(window).height() + }); + } + }, 2000); + } + }, + + shuffleArray: function(array) { + var currentIndex = array.length, + randomIndex; + while (currentIndex !== 0) { + randomIndex = Math.floor(Math.random() * currentIndex); + currentIndex--; + [array[currentIndex], array[randomIndex]] = [array[randomIndex], array[currentIndex]]; + } + + return array; + }, + + escapeHTML: function(string) { + var entityMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '/': '/', + '`': '`', + '=': '=' + }; + return String(string).replace(/[&<>"'`=\/]/g, function(s) { + return entityMap[s]; + }); + }, + + aiChatBotOptions: function() { + $('.fn__chat_link').off().on('click', function() { + var element = $(this); + if (!element.hasClass('active')) { + $('.fn__chat_link.active').removeClass('active'); + $('.fn__chatbot .chat__item.active').removeClass('active'); + element.addClass('active'); + $(element.attr('href')).addClass('active'); + TechwaveUserMessageCount = $(element.attr('href')).find('.chat__box').length; + $('.fn__new_chat_link').removeClass('active'); + $('.fn__chat_comment').removeClass('neww'); + $('.fn__chatbot .fn__title_holder .title').text(element.find('.text').text()); + if ($(element.attr('href')).html() === '') { + $('.fn__chat_comment').addClass('neww'); + } + } + $('#fn__chat_textarea').frenifyMoveCursorToEnd(); + return false; + }); + $('.fn__new_chat_link').off().on('click', function() { + var element = $(this); + if (!element.hasClass('active')) { + $('.fn__chat_link.active').removeClass('active'); + $('.fn__chatbot .chat__item.active').removeClass('active'); + element.addClass('active'); + $(element.attr('href')).addClass('active'); + TechwaveUserMessageCount = 0; + $('.fn__chatbot .fn__title_holder .title').text('New Chat'); + } + $('.fn__chat_comment').addClass('neww'); + $('#fn__chat_textarea').frenifyMoveCursorToEnd(); + return false; + }); + $('.fn__chat_link input').off().on('click', function(e) { + e.stopPropagation(); + }); + $('.fn__chat_link .trigger').off().on('click', function() { + var element = $(this), + parent = element.closest('.fn__chat_link'); + if (parent.hasClass('opened')) { + parent.removeClass('opened'); + } else { + parent.addClass('opened'); + } + return false; + }); + + $('.fn__chat_link .edit').off().on('click', function() { + var element = $(this), + parent = element.closest('.fn__chat_link'), + input = parent.find('input'); + parent.addClass('live_edit').removeClass('opened'); + TechwaveInputText = input.val(); + setTimeout(function() { + input.frenifyMoveCursorToEnd(); + }, 100); + return false; + }); + + $('.fn__chat_link .cancel').off().on('click', function() { + var e = $(this), + parent = e.closest('.fn__chat_link'), + input = parent.find('input'); + parent.removeClass('live_edit'); + input.val(TechwaveInputText); + return false; + }); + + $('.fn__chat_link .save').off().on('click', function() { + var e = $(this), + parent = e.closest('.fn__chat_link'), + input = parent.find('input'); + // do your ajax here + parent.removeClass('live_edit'); + TechwaveInputText = input.val(); + parent.find('.text').text(TechwaveInputText); + return false; + }); + + $(window).on('click', function() { + $('.fn__chat_link').removeClass('opened'); + }); + + $('.fn__chat_link .options__popup').on('click', function(e) { + e.stopPropagation(); + }); + }, + + aiChatBotTextareaHeight: function() { + $('#fn__chat_textarea').on('mouseup keyup', function() { + var e = $(this); + var val = e.val(); + var padding = 34; // top 18 and bottom 16 + var border = 4; // top 2 and bottom 2 + var taLineHeight = 22; // This should match the line-height in the CSS + var e2 = e.siblings('.fn__hidden_textarea'); + e2.val(val); + var taHeight2 = e2[0].scrollHeight - padding; // Get the scroll height of the textarea + var numberOfLines2 = Math.floor(taHeight2 / taLineHeight); + e.css({ + height: numberOfLines2 * taLineHeight + padding + border + }); + if (numberOfLines2 > 6) { + e.css({ + overflowY: 'auto' + }); + } else { + e.css({ + overflowY: 'hidden' + }); + } + }); + $('#fn__include_textarea').on('mouseup keyup', function() { + var e = $(this); + var val = e.val(); + var padding = 34; // top 18 and bottom 16 + var border = 4; // top 2 and bottom 2 + var taLineHeight = 22; // This should match the line-height in the CSS + var e2 = e.siblings('.fn__hidden_textarea'); + e2.val(val); + var taHeight2 = e2[0].scrollHeight - padding; // Get the scroll height of the textarea + var numberOfLines2 = Math.floor(taHeight2 / taLineHeight); + e.css({ + height: numberOfLines2 * taLineHeight + padding + border + }); + if (numberOfLines2 > 6) { + e.css({ + overflowY: 'auto' + }); + } else { + e.css({ + overflowY: 'hidden' + }); + } + }); + $('#fn__exclude_textarea').on('mouseup keyup', function() { + var e = $(this); + var val = e.val(); + var padding = 34; // top 18 and bottom 16 + var border = 4; // top 2 and bottom 2 + var taLineHeight = 22; // This should match the line-height in the CSS + var e2 = e.siblings('.fn__hidden_textarea'); + e2.val(val); + var taHeight2 = e2[0].scrollHeight - padding; // Get the scroll height of the textarea + var numberOfLines2 = Math.floor(taHeight2 / taLineHeight); + e.css({ + height: numberOfLines2 * taLineHeight + padding + border + }); + if (numberOfLines2 > 6) { + e.css({ + overflowY: 'auto' + }); + } else { + e.css({ + overflowY: 'hidden' + }); + } + }); + }, + + billingProgress: function() { + $('.techwave_fn_user_billing .progress').each(function() { + var element = $(this); + element.waypoint({ + handler: function() { + if (!element.hasClass('active')) { + setTimeout(function() { + element.css('--frenify-progress', element.data('percentage')); + element.addClass('active'); + }, 500); + + } + }, + offset: '90%' + }); + }); + }, + + inputFileOnChange: function() { + $('.fn__upload').on("change", function(event) { + var element = $(this); + var file = event.target.files[0]; + if (file) { + element.addClass('has_img').find('.preview_img').attr('src', URL.createObjectURL(file)); + } + }); + $('.fn__upload .fn__closer').on('click', function() { + var parent = $(this).closest('.fn__upload'); + parent.removeClass('has_img'); + parent.find('.preview_img').attr('src', '#'); + parent.find('input[type="file]').val(''); + return false; + }); + }, + + optionsList: function() { + $('.fn__options_list a').off().on('click', function() { + var e = $(this); + if (e.hasClass('enabled')) { + e.removeClass('enabled').addClass('disabled'); + } else { + e.removeClass('disabled').addClass('enabled'); + } + + // do your ajax here + // .... + // .... + + return false; + }); + }, + + pricingTab: function() { + $('.techwave_fn_pricing .toggle_in').each(function() { + var element = $(this), + active = element.find('.active'); + var offset = active.offset().left - element.offset().left; + element.find('.bg').css({ + left: offset, + width: active.outerWidth(true, true) + }); + }); + $('.techwave_fn_pricing .toggle_in a').off().on('click', function() { + var element = $(this); + if (!element.hasClass('active')) { + var parent = element.closest('.toggle_in'); + var pricing = element.closest('.techwave_fn_pricing'); + var offset = element.offset().left - parent.offset().left; + pricing.find('.pricing__tab.active').removeClass('active'); + $(element.attr('href')).addClass('active'); + element.siblings().removeClass('active'); + element.addClass('active'); + parent.find('.bg').css({ + left: offset, + width: element.outerWidth(true, true) + }); + } + return false; + }); + }, + + feedFilters: function() { + + // Enable/disable selecting items + $('.techwave_fn_feed .filter__select input[type="checkbox"]').change(function() { + var element = $(this); + var checked = element.is(':checked'); + var feed = element.closest('.techwave_fn_feed'); + var items = feed.find('.fn__gallery_items .item'); + if (checked) { + items.addClass('select__ready'); + feed.find('.fn__selection_box').slideDown(200); + } else { + items.removeClass('select__ready'); + feed.find('.fn__selection_box').slideUp(200); + } + }); + + // select/deselect items + $('.fn__selectable_item').off().on('click', function() { + var element = $(this), + page = element.closest('.techwave_fn_community_page'), + items = page.find('.fn__gallery_items .item'); + if (element.hasClass('selected')) { + element.removeClass('selected'); + TechwaveSelectedCount--; + } else { + element.addClass('selected'); + TechwaveSelectedCount++; + } + page.find('.fn__selection_box .count').text(TechwaveSelectedCount); + return false; + }); + + + // tab filter + $('.techwave_fn_feed .fn__tabs a').on('click', function() { + var element = $(this); + if (!element.hasClass('active') && !TechwaveFeedFilterLoading) { + TechwaveFeedFilterLoading = true; + element.siblings().removeClass('active'); + element.addClass('active'); + var feed = element.closest('.techwave_fn_feed'); + feed.find('.feed__results').addClass('loading'); + + // do your ajax here + // you have to get new feeds with filter (if you want to change also filter) of selected tab via ajax + // .... + // .... + // after ajax ends remove setTimeout (it was added just for HTML) + + setTimeout(function() { + // here you have to insert your feeds into the filter's content and feed content + feed.find('.feed__results').removeClass('loading'); + TechwaveFeedFilterLoading = false; + FrenifyTechWave.galleryIsotope(); + }, 1500); + + } + return false; + }); + + // Trending&New Filter + $('.techwave_fn_feed .filter__sorting a').on('click', function() { + var element = $(this); + if (!element.hasClass('enabled') && !TechwaveFeedFilterLoading) { + TechwaveFeedFilterLoading = true; + element.siblings().removeClass('enabled').addClass('disabled'); + element.removeClass('disabled').addClass('enabled'); + var feed = element.closest('.techwave_fn_feed'); + feed.find('.feed__results').addClass('loading'); + + // do your ajax here + // you have to get new feeds by trending or new (selected) via ajax + // .... + // .... + // after ajax ends remove setTimeout (it was added just for HTML) + + setTimeout(function() { + // here you have to insert new feeds into the results' content + feed.find('.feed__results').removeClass('loading'); + TechwaveFeedFilterLoading = false; + }, 1500); + } + + + return false; + }); + + + // Upscaled Filter + $('.techwave_fn_feed .filter__upscaled input[type="checkbox"]').change(function() { + var element = $(this); + var checked = element.is(':checked'); + var feed = element.closest('.techwave_fn_feed'); + feed.find('.feed__results').addClass('loading'); + + + // do your ajax here + // you have to get new feeds by checked value via ajax + // .... + // .... + // after ajax ends remove setTimeout (it was added just for HTML) + + + setTimeout(function() { + // here you have to insert new feeds into the results' content + feed.find('.feed__results').removeClass('loading'); + }, 1500); + }); + + // search filter + $('.techwave_fn_feed .filter__search a').on('click', function() { + if (!TechwaveFeedFilterLoading) { + var feed = $(this).closest('.techwave_fn_feed'); + feed.find('.feed__results').addClass('loading'); + + // do your ajax here + // you have to get new feeds by search word via ajax + // .... + // .... + // after ajax ends remove setTimeout (it was added just for HTML) + + setTimeout(function() { + // here you have to insert new feeds into the results' content + feed.find('.feed__results').removeClass('loading'); + TechwaveFeedFilterLoading = false; + }, 1500); + } + + return false; + }); + }, + + report: function() { + var reportbox = $('.techwave_fn_report'); + $('.fn__report').off().on('click', function() { + var e = $(this), + id = e.data('id'); + + if (reportbox.hasClass('opened')) { + reportbox.removeClass('opened'); + } else { + reportbox.addClass('opened'); + } + return false; + }); + + + reportbox.find('.cancel').off().on('click', function() { + reportbox.removeClass('opened'); + return false; + }); + reportbox.find('.fn__closer').off().on('click', function() { + reportbox.removeClass('opened'); + return false; + }); + reportbox.find('.report__closer').off().on('click', function() { + reportbox.removeClass('opened'); + return false; + }); + }, + + follow: function() { + $('.fn__follow').off().on('click', function() { + var e = $(this), + text = e.find('.text'), + id = e.data('id'); + if (e.hasClass('has__follow')) { + e.removeClass('has__follow'); + text.text(e.data('follow-text')); + } else { + e.addClass('has__follow'); + text.text(e.data('unfollow-text')); + } + return false; + }); + }, + + copyLink: function() { + $(".fn__copy").off().on("click", function() { + var e = $(this); + var text = e.text(); + var copied = e.data("copied"); + var copy2 = e.attr("data-text"); + var copy = e.attr("href"); + if (typeof copy2 !== 'undefined' && copy2 !== false) { + copy = copy2; + } + var temp = $("<input>"); + $("body").append(temp); + temp.val(copy).select(); + document.execCommand("copy"); + temp.remove(); + e.text(copied).delay(1000).queue(function(nxt) { + e.text(text); + nxt(); + }); + return false; + }); + }, + + galleryIsotope: function() { + + var masonry = $('.fn__gallery_items'); + if ($().isotope) { + masonry.each(function() { + $(this).isotope({ + percentPosition: true, + itemSelector: '.fn__gallery_item', + masonry: {} + }); + }); + } + }, + + imageLightbox: function() { + var body = $('body'); + var scrollY = 0; + $('.fn__gallery_items .item').off().on('click', function() { + var element = $(this), + id = element.data('id'); + if (!element.hasClass('select__ready')) { + lightbox.scrollTop(0); + // with this id you can create ajax to call this image into the lightbox + scrollY = document.documentElement.style.getPropertyValue('--techwave-scroll-y'); + body.css({ + position: 'fixed', + top: scrollY + }); + + body.addClass('fn__lightbox_mode'); + lightbox.addClass('opened'); + } + + + + return false; + }); + var lightbox = $('.techwave_fn_img_lightbox'); + + lightbox.find('.fn__closer').off().on('click', function() { + body.removeClass('fn__lightbox_mode'); + lightbox.removeClass('opened'); + body.css({ + position: 'relative', + top: '' + }); + setTimeout(function() { + window.scrollTo({ + top: 300, + left: 0, + behavior: "instant" + }); + FrenifyTechWave.galleryIsotope(); + }, 1); + }); + }, + + bookmark: function() { + $('.fn__bookmark').off().on('click', function() { + var e = $(this); + if (e.hasClass('has__bookmark')) { + e.removeClass('has__bookmark'); + } else { + e.addClass('has__bookmark'); + } + // do your ajax here + return false; + }); + }, + + like: function() { + $('.fn__like').off().on('click', function() { + var e = $(this), + countbox = e.find('.count'), + id = e.data('id'); + if (e.hasClass('has__like')) { + e.removeClass('has__like'); + countbox.text(parseInt(countbox.text()) - 1); + } else { + e.addClass('has__like'); + countbox.text(parseInt(countbox.text()) + 1); + } + // do your ajax here + return false; + }); + }, + + accordion: function() { + $('.techwave_fn_accordion').each(function() { + $(this).find('.opened .acc__content').slideDown(300); + }); + $('.techwave_fn_accordion .acc__header').on('click', function() { + var element = $(this), + parent = element.closest('.acc__item'), + accordion = element.closest('.techwave_fn_accordion'), + content = parent.find('.acc__content'), + type = accordion.data('type'); + if (parent.hasClass('opened')) { + parent.removeClass('opened'); + content.slideUp(300); + } else { + if (type === 'accordion') { + accordion.find('.acc__item').removeClass('opened'); + accordion.find('.acc__content').slideUp(300); + } + parent.addClass('opened'); + content.slideDown(300); + } + }); + }, + + search: function() { + var searchBar = $('.techwave_fn_searchbar'); + var input = searchBar.find('.search__input'); + var resultsBar = searchBar.find('.search__results'); + var searchOpener = $('.fn__nav_bar .bar__item_search .item_opener'); + + // open searchbar + searchOpener.on('click', function() { + searchBar.addClass('opened'); + setTimeout(function() { + input[0].focus(); + }, 100); + + return false; + }); + + // close searchbar + searchBar.find('.search__closer').on('click', function() { + input.val(''); + resultsBar.removeClass('opened'); + searchBar.removeClass('opened'); + return false; + }); + + + // search something + var timeout = null; + input.on('keyup', function() { + var field = $(this); + var text = field.val(); + + clearTimeout(timeout); + + timeout = setTimeout(function() { + if (text === '') { + resultsBar.removeClass('opened'); + } else { + resultsBar.addClass('opened'); + // add your ajax code here + } + }, 700); + }); + }, + + animatedText: function() { + $('.fn__animated_text').each(function() { + var element = $(this); + var text = element.text(); + var letters = text.split(''); + var time = element.data('wait'); + if (!time) { + time = 0; + } + var speed = element.data('speed'); + if (!speed) { + speed = 4; + } + speed = speed / 100; + element.html('<em>321...</em>').addClass('ready'); + + element.waypoint({ + handler: function() { + if (!element.hasClass('stop')) { + element.addClass('stop'); + setTimeout(function() { + element.text(''); + $.each(letters, function(e, i) { + var span = document.createElement("span"); + span.textContent = i; + span.style.animationDelay = e * speed + 's'; + element.append(span); + }); + }, time); + } + }, + offset: '90%' + }); + + }); + }, + + movingSubMenuForLeftPanel: function() { + var fixedsub = $('.techwave_fn_fixedsub'); + var li = $('.techwave_fn_leftpanel .group__list > li'); + var rightpart = $('.techwave_fn_content'); + + + + li.on('mouseenter', function() { + var parentLi = $(this); + var subMenu = parentLi.children('ul.sub-menu'); + var subMenuHtml = subMenu.html(); + //parentLi; + if (subMenu.length) { + li.removeClass('hovered'); + parentLi.addClass('hovered').parent().addClass('hovered'); + fixedsub.removeClass('opened').children('ul').html('').html(subMenuHtml); + fixedsub.addClass('opened'); + } else { + li.removeClass('hovered'); + fixedsub.removeClass('opened'); + parentLi.removeClass('hovered').parent().removeClass('hovered'); + } + var topOffSet = parentLi.offset().top; + var menuBar = $('.techwave_fn_leftpanel .leftpanel_content'); + var menuBarOffSet = menuBar.offset().top; + var asd = topOffSet - menuBarOffSet; + + fixedsub.css({ + top: asd + }); + abc(); + }); + + function abc() { + rightpart.on('mouseenter', function() { + fixedsub.removeClass('opened'); + li.removeClass('hovered').parent().removeClass('hovered'); + }); + } + abc(); + }, + + panelResize: function() { + var wrapper = $('html'); + $('.techwave_fn_leftpanel .desktop_closer').off().on('click', function() { + if (wrapper.hasClass('panel-opened')) { + wrapper.removeClass('panel-opened'); + localStorage.frenify_panel = ''; + } else { + wrapper.addClass('panel-opened'); + localStorage.frenify_panel = 'panel-opened'; + } + return false; + }); + $('.techwave_fn_leftpanel .mobile_closer').off().on('click', function() { + if (wrapper.hasClass('mobile-panel-opened')) { + wrapper.removeClass('mobile-panel-opened'); + } else { + wrapper.addClass('mobile-panel-opened'); + } + return false; + }); + }, + + navBarItems: function() { + + // user details + var userItem = $('.fn__nav_bar .bar__item_user'); + userItem.find('.user_opener').on('click', function(e) { + e.stopPropagation(); + if (userItem.hasClass('opened')) { + userItem.removeClass('opened'); + } else { + userItem.addClass('opened'); + } + // close lightboxes + $('.bar__item_language,.bar__item_notification').removeClass('opened'); + return false; + }); + + userItem.on('click', function(e) { + e.stopPropagation(); + }); + + $(window).on('click', function() { + userItem.removeClass('opened'); + }); + + // light and dark mode + var darklightSwitcher = $('.fn__nav_bar .bar__item_skin .item_opener'); + darklightSwitcher.off().on('click', function() { + if ($('html').attr('data-techwave-skin') === 'light') { + $('html').attr('data-techwave-skin', 'dark'); + localStorage.frenify_skin = 'dark'; + } else { + $('html').attr('data-techwave-skin', 'light'); + localStorage.frenify_skin = 'light'; + } + + // close lightboxes + $('.bar__item_user,.bar__item_language,.bar__item_notification').removeClass('opened'); + return false; + }); + + // language + var languageItem = $('.fn__nav_bar .bar__item_language'); + languageItem.find('.item_opener').on('click', function(e) { + e.stopPropagation(); + if (languageItem.hasClass('opened')) { + languageItem.removeClass('opened'); + } else { + languageItem.addClass('opened'); + } + // close lightboxes + $('.bar__item_user,.bar__item_notification').removeClass('opened'); + return false; + }); + + languageItem.on('click', function(e) { + e.stopPropagation(); + }); + + $(window).on('click', function() { + languageItem.removeClass('opened'); + }); + + // notifications + var notificationItem = $('.fn__nav_bar .bar__item_notification'); + notificationItem.find('.item_opener').on('click', function(e) { + e.stopPropagation(); + if (notificationItem.hasClass('opened')) { + notificationItem.removeClass('opened'); + } else { + notificationItem.addClass('opened'); + } + // close lightboxes + $('.bar__item_user,.bar__item_language').removeClass('opened'); + return false; + }); + + notificationItem.on('click', function(e) { + e.stopPropagation(); + }); + + $(window).on('click', function() { + notificationItem.removeClass('opened'); + }); + }, + + redetectFullScreen: function() { + var fbtn = $('.fn__nav_bar .bar__item_fullscreen a'); + if (window.innerHeight === screen.height) { + fbtn.addClass('full_screen'); + } else { + fbtn.removeClass('full_screen'); + } + }, + + fullSCreen: function() { + var fbtn = $('.fn__nav_bar .bar__item_fullscreen a'); + + fbtn.off().on('click', function() { + if (fbtn.hasClass('full_screen')) { + fbtn.removeClass('full_screen'); + if (document.exitFullscreen) { + document.exitFullscreen(); + } else if (document.msExitFullscreen) { + document.msExitFullscreen(); + } else if (document.mozCancelFullScreen) { + document.mozCancelFullScreen(); + } else if (document.webkitExitFullscreen) { + document.webkitExitFullscreen(); + } + } else { + fbtn.addClass('full_screen'); + if (document.documentElement.requestFullscreen) { + document.documentElement.requestFullscreen(); + } else if (document.documentElement.msRequestFullscreen) { + document.documentElement.msRequestFullscreen(); + } else if (document.documentElement.mozRequestFullScreen) { + document.documentElement.mozRequestFullScreen(); + } else if (document.documentElement.webkitRequestFullscreen) { + document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } + } + return false; + }); + }, + + navSubMenu: function() { + $('.techwave_fn_leftpanel .menu-item-has-children > a').off().on('click', function() { + var e = $(this), + li = e.closest('li'); + if (li.hasClass('closed')) { + li.removeClass('closed'); + li.children('ul').slideDown(200); + } else { + li.addClass('closed'); + li.children('ul').slideUp(200); + } + return false; + }); + }, + + preloader: function() { + var preloader = $('.techwave_fn_preloader'); + + var date2 = new Date(); + var difference = date2 - FrenifyTechWaveTime; + var waitTime = 4000; + if (difference < waitTime) { + waitTime -= difference; + } else { + waitTime = 0; + } + if (!preloader.hasClass('wait_for_full_preloading_animation')) { + waitTime = 0; + } + setTimeout(function() { + preloader.addClass('fn_ready'); + }, waitTime); + setTimeout(function() { + preloader.remove(); + }, waitTime + 2000); + }, + + imgToSVG: function() { + $('img.fn__svg').each(function() { + var img = $(this); + var imgClass = img.attr('class'); + var imgURL = img.attr('src'); + + $.get(imgURL, function(data) { + var svg = $(data).find('svg'); + if (typeof imgClass !== 'undefined') { + svg = svg.attr('class', imgClass + ' replaced-svg'); + } + img.replaceWith(svg); + + }, 'xml'); + + }); + }, + + BgImg: function() { + var div = $('*[data-bg-img]'); + div.each(function() { + var element = $(this); + var attrBg = element.attr('data-bg-img'); + var dataBg = element.data('bg-img'); + if (typeof(attrBg) !== 'undefined') { + element.css({ + backgroundImage: 'url(' + dataBg + ')' + }); + } + }); + }, + + }; + + + // READY Functions + $(document).ready(function() { + FrenifyTechWave.init(); + $(':root').css('--techwave-scroll-y', (window.scrollY * (-1)) + 'px'); + setTimeout(function() { + FrenifyTechWave.galleryIsotope(); + }, 500); + }); + + // RESIZE Functions + $(window).on('resize', function() { + FrenifyTechWave.popupMobile(); + FrenifyTechWave.redetectFullScreen(); + FrenifyTechWave.galleryIsotope(); + }); + + // $(window).load( function(){ + // FrenifyTechWave.preloader(); + // FrenifyTechWave.galleryIsotope(); + // setTimeout(function(){ + // FrenifyTechWave.galleryIsotope(); + // },1000); + // }); + + // LOAD Functions + $(window).on('load', function() { + FrenifyTechWave.preloader(); + FrenifyTechWave.galleryIsotope(); + setTimeout(function() { + FrenifyTechWave.galleryIsotope(); + }, 1000); + }); + + $(window).on('scroll', function() { + $(':root').css('--techwave-scroll-y', (window.scrollY * (-1)) + 'px'); + }); + +})(jQuery); \ No newline at end of file diff --git a/js/jquery.js b/js/jquery.js new file mode 100644 index 0000000000000000000000000000000000000000..2b4029d107efb952aacef702598b39c97535eb8f --- /dev/null +++ b/js/jquery.js @@ -0,0 +1,3252 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ ! function(e, t) { + "use strict"; + "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function(e) { + if (!e.document) throw new Error("jQuery requires a window with a document"); + return t(e) + } : t(e) +}("undefined" != typeof window ? window : this, function(C, e) { + "use strict"; + var t = [], + r = Object.getPrototypeOf, + s = t.slice, + g = t.flat ? function(e) { + return t.flat.call(e) + } : function(e) { + return t.concat.apply([], e) + }, + u = t.push, + i = t.indexOf, + n = {}, + o = n.toString, + v = n.hasOwnProperty, + a = v.toString, + l = a.call(Object), + y = {}, + m = function(e) { + return "function" == typeof e && "number" != typeof e.nodeType && "function" != typeof e.item + }, + x = function(e) { + return null != e && e === e.window + }, + E = C.document, + c = { + type: !0, + src: !0, + nonce: !0, + noModule: !0 + }; + + function b(e, t, n) { + var r, i, o = (n = n || E).createElement("script"); + if (o.text = e, t) + for (r in c)(i = t[r] || t.getAttribute && t.getAttribute(r)) && o.setAttribute(r, i); + n.head.appendChild(o).parentNode.removeChild(o) + } + + function w(e) { + return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? n[o.call(e)] || "object" : typeof e + } + var f = "3.6.0", + S = function(e, t) { + return new S.fn.init(e, t) + }; + + function p(e) { + var t = !!e && "length" in e && e.length, + n = w(e); + return !m(e) && !x(e) && ("array" === n || 0 === t || "number" == typeof t && 0 < t && t - 1 in e) + } + S.fn = S.prototype = { + jquery: f, + constructor: S, + length: 0, + toArray: function() { + return s.call(this) + }, + get: function(e) { + return null == e ? s.call(this) : e < 0 ? this[e + this.length] : this[e] + }, + pushStack: function(e) { + var t = S.merge(this.constructor(), e); + return t.prevObject = this, t + }, + each: function(e) { + return S.each(this, e) + }, + map: function(n) { + return this.pushStack(S.map(this, function(e, t) { + return n.call(e, t, e) + })) + }, + slice: function() { + return this.pushStack(s.apply(this, arguments)) + }, + first: function() { + return this.eq(0) + }, + last: function() { + return this.eq(-1) + }, + even: function() { + return this.pushStack(S.grep(this, function(e, t) { + return (t + 1) % 2 + })) + }, + odd: function() { + return this.pushStack(S.grep(this, function(e, t) { + return t % 2 + })) + }, + eq: function(e) { + var t = this.length, + n = +e + (e < 0 ? t : 0); + return this.pushStack(0 <= n && n < t ? [this[n]] : []) + }, + end: function() { + return this.prevObject || this.constructor() + }, + push: u, + sort: t.sort, + splice: t.splice + }, S.extend = S.fn.extend = function() { + var e, t, n, r, i, o, a = arguments[0] || {}, + s = 1, + u = arguments.length, + l = !1; + for ("boolean" == typeof a && (l = a, a = arguments[s] || {}, s++), "object" == typeof a || m(a) || (a = {}), s === u && (a = this, s--); s < u; s++) + if (null != (e = arguments[s])) + for (t in e) r = e[t], "__proto__" !== t && a !== r && (l && r && (S.isPlainObject(r) || (i = Array.isArray(r))) ? (n = a[t], o = i && !Array.isArray(n) ? [] : i || S.isPlainObject(n) ? n : {}, i = !1, a[t] = S.extend(l, o, r)) : void 0 !== r && (a[t] = r)); + return a + }, S.extend({ + expando: "jQuery" + (f + Math.random()).replace(/\D/g, ""), + isReady: !0, + error: function(e) { + throw new Error(e) + }, + noop: function() {}, + isPlainObject: function(e) { + var t, n; + return !(!e || "[object Object]" !== o.call(e)) && (!(t = r(e)) || "function" == typeof(n = v.call(t, "constructor") && t.constructor) && a.call(n) === l) + }, + isEmptyObject: function(e) { + var t; + for (t in e) return !1; + return !0 + }, + globalEval: function(e, t, n) { + b(e, { + nonce: t && t.nonce + }, n) + }, + each: function(e, t) { + var n, r = 0; + if (p(e)) { + for (n = e.length; r < n; r++) + if (!1 === t.call(e[r], r, e[r])) break + } else + for (r in e) + if (!1 === t.call(e[r], r, e[r])) break; + return e + }, + makeArray: function(e, t) { + var n = t || []; + return null != e && (p(Object(e)) ? S.merge(n, "string" == typeof e ? [e] : e) : u.call(n, e)), n + }, + inArray: function(e, t, n) { + return null == t ? -1 : i.call(t, e, n) + }, + merge: function(e, t) { + for (var n = +t.length, r = 0, i = e.length; r < n; r++) e[i++] = t[r]; + return e.length = i, e + }, + grep: function(e, t, n) { + for (var r = [], i = 0, o = e.length, a = !n; i < o; i++) !t(e[i], i) !== a && r.push(e[i]); + return r + }, + map: function(e, t, n) { + var r, i, o = 0, + a = []; + if (p(e)) + for (r = e.length; o < r; o++) null != (i = t(e[o], o, n)) && a.push(i); + else + for (o in e) null != (i = t(e[o], o, n)) && a.push(i); + return g(a) + }, + guid: 1, + support: y + }), "function" == typeof Symbol && (S.fn[Symbol.iterator] = t[Symbol.iterator]), S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(e, t) { + n["[object " + t + "]"] = t.toLowerCase() + }); + var d = function(n) { + var e, d, b, o, i, h, f, g, w, u, l, T, C, a, E, v, s, c, y, S = "sizzle" + 1 * new Date, + p = n.document, + k = 0, + r = 0, + m = ue(), + x = ue(), + A = ue(), + N = ue(), + j = function(e, t) { + return e === t && (l = !0), 0 + }, + D = {}.hasOwnProperty, + t = [], + q = t.pop, + L = t.push, + H = t.push, + O = t.slice, + P = function(e, t) { + for (var n = 0, r = e.length; n < r; n++) + if (e[n] === t) return n; + return -1 + }, + R = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + M = "[\\x20\\t\\r\\n\\f]", + I = "(?:\\\\[\\da-fA-F]{1,6}" + M + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + W = "\\[" + M + "*(" + I + ")(?:" + M + "*([*^$|!~]?=)" + M + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + I + "))|)" + M + "*\\]", + F = ":(" + I + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + W + ")*)|.*)\\)|)", + B = new RegExp(M + "+", "g"), + $ = new RegExp("^" + M + "+|((?:^|[^\\\\])(?:\\\\.)*)" + M + "+$", "g"), + _ = new RegExp("^" + M + "*," + M + "*"), + z = new RegExp("^" + M + "*([>+~]|" + M + ")" + M + "*"), + U = new RegExp(M + "|>"), + X = new RegExp(F), + V = new RegExp("^" + I + "$"), + G = { + ID: new RegExp("^#(" + I + ")"), + CLASS: new RegExp("^\\.(" + I + ")"), + TAG: new RegExp("^(" + I + "|[*])"), + ATTR: new RegExp("^" + W), + PSEUDO: new RegExp("^" + F), + CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + M + "*(even|odd|(([+-]|)(\\d*)n|)" + M + "*(?:([+-]|)" + M + "*(\\d+)|))" + M + "*\\)|)", "i"), + bool: new RegExp("^(?:" + R + ")$", "i"), + needsContext: new RegExp("^" + M + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + M + "*((?:-\\d)?\\d*)" + M + "*\\)|)(?=[^-]|$)", "i") + }, + Y = /HTML$/i, + Q = /^(?:input|select|textarea|button)$/i, + J = /^h\d$/i, + K = /^[^{]+\{\s*\[native \w/, + Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + ee = /[+~]/, + te = new RegExp("\\\\[\\da-fA-F]{1,6}" + M + "?|\\\\([^\\r\\n\\f])", "g"), + ne = function(e, t) { + var n = "0x" + e.slice(1) - 65536; + return t || (n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, 1023 & n | 56320)) + }, + re = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + ie = function(e, t) { + return t ? "\0" === e ? "\ufffd" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e + }, + oe = function() { + T() + }, + ae = be(function(e) { + return !0 === e.disabled && "fieldset" === e.nodeName.toLowerCase() + }, { + dir: "parentNode", + next: "legend" + }); + try { + H.apply(t = O.call(p.childNodes), p.childNodes), t[p.childNodes.length].nodeType + } catch (e) { + H = { + apply: t.length ? function(e, t) { + L.apply(e, O.call(t)) + } : function(e, t) { + var n = e.length, + r = 0; + while (e[n++] = t[r++]); + e.length = n - 1 + } + } + } + + function se(t, e, n, r) { + var i, o, a, s, u, l, c, f = e && e.ownerDocument, + p = e ? e.nodeType : 9; + if (n = n || [], "string" != typeof t || !t || 1 !== p && 9 !== p && 11 !== p) return n; + if (!r && (T(e), e = e || C, E)) { + if (11 !== p && (u = Z.exec(t))) + if (i = u[1]) { + if (9 === p) { + if (!(a = e.getElementById(i))) return n; + if (a.id === i) return n.push(a), n + } else if (f && (a = f.getElementById(i)) && y(e, a) && a.id === i) return n.push(a), n + } else { + if (u[2]) return H.apply(n, e.getElementsByTagName(t)), n; + if ((i = u[3]) && d.getElementsByClassName && e.getElementsByClassName) return H.apply(n, e.getElementsByClassName(i)), n + } + if (d.qsa && !N[t + " "] && (!v || !v.test(t)) && (1 !== p || "object" !== e.nodeName.toLowerCase())) { + if (c = t, f = e, 1 === p && (U.test(t) || z.test(t))) { + (f = ee.test(t) && ye(e.parentNode) || e) === e && d.scope || ((s = e.getAttribute("id")) ? s = s.replace(re, ie) : e.setAttribute("id", s = S)), o = (l = h(t)).length; + while (o--) l[o] = (s ? "#" + s : ":scope") + " " + xe(l[o]); + c = l.join(",") + } + try { + return H.apply(n, f.querySelectorAll(c)), n + } catch (e) { + N(t, !0) + } finally { + s === S && e.removeAttribute("id") + } + } + } + return g(t.replace($, "$1"), e, n, r) + } + + function ue() { + var r = []; + return function e(t, n) { + return r.push(t + " ") > b.cacheLength && delete e[r.shift()], e[t + " "] = n + } + } + + function le(e) { + return e[S] = !0, e + } + + function ce(e) { + var t = C.createElement("fieldset"); + try { + return !!e(t) + } catch (e) { + return !1 + } finally { + t.parentNode && t.parentNode.removeChild(t), t = null + } + } + + function fe(e, t) { + var n = e.split("|"), + r = n.length; + while (r--) b.attrHandle[n[r]] = t + } + + function pe(e, t) { + var n = t && e, + r = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex; + if (r) return r; + if (n) + while (n = n.nextSibling) + if (n === t) return -1; + return e ? 1 : -1 + } + + function de(t) { + return function(e) { + return "input" === e.nodeName.toLowerCase() && e.type === t + } + } + + function he(n) { + return function(e) { + var t = e.nodeName.toLowerCase(); + return ("input" === t || "button" === t) && e.type === n + } + } + + function ge(t) { + return function(e) { + return "form" in e ? e.parentNode && !1 === e.disabled ? "label" in e ? "label" in e.parentNode ? e.parentNode.disabled === t : e.disabled === t : e.isDisabled === t || e.isDisabled !== !t && ae(e) === t : e.disabled === t : "label" in e && e.disabled === t + } + } + + function ve(a) { + return le(function(o) { + return o = +o, le(function(e, t) { + var n, r = a([], e.length, o), + i = r.length; + while (i--) e[n = r[i]] && (e[n] = !(t[n] = e[n])) + }) + }) + } + + function ye(e) { + return e && "undefined" != typeof e.getElementsByTagName && e + } + for (e in d = se.support = {}, i = se.isXML = function(e) { + var t = e && e.namespaceURI, + n = e && (e.ownerDocument || e).documentElement; + return !Y.test(t || n && n.nodeName || "HTML") + }, T = se.setDocument = function(e) { + var t, n, r = e ? e.ownerDocument || e : p; + return r != C && 9 === r.nodeType && r.documentElement && (a = (C = r).documentElement, E = !i(C), p != C && (n = C.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener("unload", oe, !1) : n.attachEvent && n.attachEvent("onunload", oe)), d.scope = ce(function(e) { + return a.appendChild(e).appendChild(C.createElement("div")), "undefined" != typeof e.querySelectorAll && !e.querySelectorAll(":scope fieldset div").length + }), d.attributes = ce(function(e) { + return e.className = "i", !e.getAttribute("className") + }), d.getElementsByTagName = ce(function(e) { + return e.appendChild(C.createComment("")), !e.getElementsByTagName("*").length + }), d.getElementsByClassName = K.test(C.getElementsByClassName), d.getById = ce(function(e) { + return a.appendChild(e).id = S, !C.getElementsByName || !C.getElementsByName(S).length + }), d.getById ? (b.filter.ID = function(e) { + var t = e.replace(te, ne); + return function(e) { + return e.getAttribute("id") === t + } + }, b.find.ID = function(e, t) { + if ("undefined" != typeof t.getElementById && E) { + var n = t.getElementById(e); + return n ? [n] : [] + } + }) : (b.filter.ID = function(e) { + var n = e.replace(te, ne); + return function(e) { + var t = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id"); + return t && t.value === n + } + }, b.find.ID = function(e, t) { + if ("undefined" != typeof t.getElementById && E) { + var n, r, i, o = t.getElementById(e); + if (o) { + if ((n = o.getAttributeNode("id")) && n.value === e) return [o]; + i = t.getElementsByName(e), r = 0; + while (o = i[r++]) + if ((n = o.getAttributeNode("id")) && n.value === e) return [o] + } + return [] + } + }), b.find.TAG = d.getElementsByTagName ? function(e, t) { + return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e) : d.qsa ? t.querySelectorAll(e) : void 0 + } : function(e, t) { + var n, r = [], + i = 0, + o = t.getElementsByTagName(e); + if ("*" === e) { + while (n = o[i++]) 1 === n.nodeType && r.push(n); + return r + } + return o + }, b.find.CLASS = d.getElementsByClassName && function(e, t) { + if ("undefined" != typeof t.getElementsByClassName && E) return t.getElementsByClassName(e) + }, s = [], v = [], (d.qsa = K.test(C.querySelectorAll)) && (ce(function(e) { + var t; + a.appendChild(e).innerHTML = "<a id='" + S + "'></a><select id='" + S + "-\r\\' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && v.push("[*^$]=" + M + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || v.push("\\[" + M + "*(?:value|" + R + ")"), e.querySelectorAll("[id~=" + S + "-]").length || v.push("~="), (t = C.createElement("input")).setAttribute("name", ""), e.appendChild(t), e.querySelectorAll("[name='']").length || v.push("\\[" + M + "*name" + M + "*=" + M + "*(?:''|\"\")"), e.querySelectorAll(":checked").length || v.push(":checked"), e.querySelectorAll("a#" + S + "+*").length || v.push(".#.+[+~]"), e.querySelectorAll("\\\f"), v.push("[\\r\\n\\f]") + }), ce(function(e) { + e.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>"; + var t = C.createElement("input"); + t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && v.push("name" + M + "*[*^$|!~]?="), 2 !== e.querySelectorAll(":enabled").length && v.push(":enabled", ":disabled"), a.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && v.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), v.push(",.*:") + })), (d.matchesSelector = K.test(c = a.matches || a.webkitMatchesSelector || a.mozMatchesSelector || a.oMatchesSelector || a.msMatchesSelector)) && ce(function(e) { + d.disconnectedMatch = c.call(e, "*"), c.call(e, "[s!='']:x"), s.push("!=", F) + }), v = v.length && new RegExp(v.join("|")), s = s.length && new RegExp(s.join("|")), t = K.test(a.compareDocumentPosition), y = t || K.test(a.contains) ? function(e, t) { + var n = 9 === e.nodeType ? e.documentElement : e, + r = t && t.parentNode; + return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r))) + } : function(e, t) { + if (t) + while (t = t.parentNode) + if (t === e) return !0; + return !1 + }, j = t ? function(e, t) { + if (e === t) return l = !0, 0; + var n = !e.compareDocumentPosition - !t.compareDocumentPosition; + return n || (1 & (n = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !d.sortDetached && t.compareDocumentPosition(e) === n ? e == C || e.ownerDocument == p && y(p, e) ? -1 : t == C || t.ownerDocument == p && y(p, t) ? 1 : u ? P(u, e) - P(u, t) : 0 : 4 & n ? -1 : 1) + } : function(e, t) { + if (e === t) return l = !0, 0; + var n, r = 0, + i = e.parentNode, + o = t.parentNode, + a = [e], + s = [t]; + if (!i || !o) return e == C ? -1 : t == C ? 1 : i ? -1 : o ? 1 : u ? P(u, e) - P(u, t) : 0; + if (i === o) return pe(e, t); + n = e; + while (n = n.parentNode) a.unshift(n); + n = t; + while (n = n.parentNode) s.unshift(n); + while (a[r] === s[r]) r++; + return r ? pe(a[r], s[r]) : a[r] == p ? -1 : s[r] == p ? 1 : 0 + }), C + }, se.matches = function(e, t) { + return se(e, null, null, t) + }, se.matchesSelector = function(e, t) { + if (T(e), d.matchesSelector && E && !N[t + " "] && (!s || !s.test(t)) && (!v || !v.test(t))) try { + var n = c.call(e, t); + if (n || d.disconnectedMatch || e.document && 11 !== e.document.nodeType) return n + } catch (e) { + N(t, !0) + } + return 0 < se(t, C, null, [e]).length + }, se.contains = function(e, t) { + return (e.ownerDocument || e) != C && T(e), y(e, t) + }, se.attr = function(e, t) { + (e.ownerDocument || e) != C && T(e); + var n = b.attrHandle[t.toLowerCase()], + r = n && D.call(b.attrHandle, t.toLowerCase()) ? n(e, t, !E) : void 0; + return void 0 !== r ? r : d.attributes || !E ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null + }, se.escape = function(e) { + return (e + "").replace(re, ie) + }, se.error = function(e) { + throw new Error("Syntax error, unrecognized expression: " + e) + }, se.uniqueSort = function(e) { + var t, n = [], + r = 0, + i = 0; + if (l = !d.detectDuplicates, u = !d.sortStable && e.slice(0), e.sort(j), l) { + while (t = e[i++]) t === e[i] && (r = n.push(i)); + while (r--) e.splice(n[r], 1) + } + return u = null, e + }, o = se.getText = function(e) { + var t, n = "", + r = 0, + i = e.nodeType; + if (i) { + if (1 === i || 9 === i || 11 === i) { + if ("string" == typeof e.textContent) return e.textContent; + for (e = e.firstChild; e; e = e.nextSibling) n += o(e) + } else if (3 === i || 4 === i) return e.nodeValue + } else + while (t = e[r++]) n += o(t); + return n + }, (b = se.selectors = { + cacheLength: 50, + createPseudo: le, + match: G, + attrHandle: {}, + find: {}, + relative: { + ">": { + dir: "parentNode", + first: !0 + }, + " ": { + dir: "parentNode" + }, + "+": { + dir: "previousSibling", + first: !0 + }, + "~": { + dir: "previousSibling" + } + }, + preFilter: { + ATTR: function(e) { + return e[1] = e[1].replace(te, ne), e[3] = (e[3] || e[4] || e[5] || "").replace(te, ne), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4) + }, + CHILD: function(e) { + return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || se.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && se.error(e[0]), e + }, + PSEUDO: function(e) { + var t, n = !e[6] && e[2]; + return G.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && X.test(n) && (t = h(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3)) + } + }, + filter: { + TAG: function(e) { + var t = e.replace(te, ne).toLowerCase(); + return "*" === e ? function() { + return !0 + } : function(e) { + return e.nodeName && e.nodeName.toLowerCase() === t + } + }, + CLASS: function(e) { + var t = m[e + " "]; + return t || (t = new RegExp("(^|" + M + ")" + e + "(" + M + "|$)")) && m(e, function(e) { + return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute("class") || "") + }) + }, + ATTR: function(n, r, i) { + return function(e) { + var t = se.attr(e, n); + return null == t ? "!=" === r : !r || (t += "", "=" === r ? t === i : "!=" === r ? t !== i : "^=" === r ? i && 0 === t.indexOf(i) : "*=" === r ? i && -1 < t.indexOf(i) : "$=" === r ? i && t.slice(-i.length) === i : "~=" === r ? -1 < (" " + t.replace(B, " ") + " ").indexOf(i) : "|=" === r && (t === i || t.slice(0, i.length + 1) === i + "-")) + } + }, + CHILD: function(h, e, t, g, v) { + var y = "nth" !== h.slice(0, 3), + m = "last" !== h.slice(-4), + x = "of-type" === e; + return 1 === g && 0 === v ? function(e) { + return !!e.parentNode + } : function(e, t, n) { + var r, i, o, a, s, u, l = y !== m ? "nextSibling" : "previousSibling", + c = e.parentNode, + f = x && e.nodeName.toLowerCase(), + p = !n && !x, + d = !1; + if (c) { + if (y) { + while (l) { + a = e; + while (a = a[l]) + if (x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType) return !1; + u = l = "only" === h && !u && "nextSibling" + } + return !0 + } + if (u = [m ? c.firstChild : c.lastChild], m && p) { + d = (s = (r = (i = (o = (a = c)[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]) && r[2], a = s && c.childNodes[s]; + while (a = ++s && a && a[l] || (d = s = 0) || u.pop()) + if (1 === a.nodeType && ++d && a === e) { + i[h] = [k, s, d]; + break + } + } else if (p && (d = s = (r = (i = (o = (a = e)[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]), !1 === d) + while (a = ++s && a && a[l] || (d = s = 0) || u.pop()) + if ((x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType) && ++d && (p && ((i = (o = a[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] = [k, d]), a === e)) break; + return (d -= v) === g || d % g == 0 && 0 <= d / g + } + } + }, + PSEUDO: function(e, o) { + var t, a = b.pseudos[e] || b.setFilters[e.toLowerCase()] || se.error("unsupported pseudo: " + e); + return a[S] ? a(o) : 1 < a.length ? (t = [e, e, "", o], b.setFilters.hasOwnProperty(e.toLowerCase()) ? le(function(e, t) { + var n, r = a(e, o), + i = r.length; + while (i--) e[n = P(e, r[i])] = !(t[n] = r[i]) + }) : function(e) { + return a(e, 0, t) + }) : a + } + }, + pseudos: { + not: le(function(e) { + var r = [], + i = [], + s = f(e.replace($, "$1")); + return s[S] ? le(function(e, t, n, r) { + var i, o = s(e, null, r, []), + a = e.length; + while (a--)(i = o[a]) && (e[a] = !(t[a] = i)) + }) : function(e, t, n) { + return r[0] = e, s(r, null, n, i), r[0] = null, !i.pop() + } + }), + has: le(function(t) { + return function(e) { + return 0 < se(t, e).length + } + }), + contains: le(function(t) { + return t = t.replace(te, ne), + function(e) { + return -1 < (e.textContent || o(e)).indexOf(t) + } + }), + lang: le(function(n) { + return V.test(n || "") || se.error("unsupported lang: " + n), n = n.replace(te, ne).toLowerCase(), + function(e) { + var t; + do { + if (t = E ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang")) return (t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-") + } while ((e = e.parentNode) && 1 === e.nodeType); + return !1 + } + }), + target: function(e) { + var t = n.location && n.location.hash; + return t && t.slice(1) === e.id + }, + root: function(e) { + return e === a + }, + focus: function(e) { + return e === C.activeElement && (!C.hasFocus || C.hasFocus()) && !!(e.type || e.href || ~e.tabIndex) + }, + enabled: ge(!1), + disabled: ge(!0), + checked: function(e) { + var t = e.nodeName.toLowerCase(); + return "input" === t && !!e.checked || "option" === t && !!e.selected + }, + selected: function(e) { + return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected + }, + empty: function(e) { + for (e = e.firstChild; e; e = e.nextSibling) + if (e.nodeType < 6) return !1; + return !0 + }, + parent: function(e) { + return !b.pseudos.empty(e) + }, + header: function(e) { + return J.test(e.nodeName) + }, + input: function(e) { + return Q.test(e.nodeName) + }, + button: function(e) { + var t = e.nodeName.toLowerCase(); + return "input" === t && "button" === e.type || "button" === t + }, + text: function(e) { + var t; + return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()) + }, + first: ve(function() { + return [0] + }), + last: ve(function(e, t) { + return [t - 1] + }), + eq: ve(function(e, t, n) { + return [n < 0 ? n + t : n] + }), + even: ve(function(e, t) { + for (var n = 0; n < t; n += 2) e.push(n); + return e + }), + odd: ve(function(e, t) { + for (var n = 1; n < t; n += 2) e.push(n); + return e + }), + lt: ve(function(e, t, n) { + for (var r = n < 0 ? n + t : t < n ? t : n; 0 <= --r;) e.push(r); + return e + }), + gt: ve(function(e, t, n) { + for (var r = n < 0 ? n + t : n; ++r < t;) e.push(r); + return e + }) + } + }).pseudos.nth = b.pseudos.eq, { + radio: !0, + checkbox: !0, + file: !0, + password: !0, + image: !0 + }) b.pseudos[e] = de(e); + for (e in { + submit: !0, + reset: !0 + }) b.pseudos[e] = he(e); + + function me() {} + + function xe(e) { + for (var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value; + return r + } + + function be(s, e, t) { + var u = e.dir, + l = e.next, + c = l || u, + f = t && "parentNode" === c, + p = r++; + return e.first ? function(e, t, n) { + while (e = e[u]) + if (1 === e.nodeType || f) return s(e, t, n); + return !1 + } : function(e, t, n) { + var r, i, o, a = [k, p]; + if (n) { + while (e = e[u]) + if ((1 === e.nodeType || f) && s(e, t, n)) return !0 + } else + while (e = e[u]) + if (1 === e.nodeType || f) + if (i = (o = e[S] || (e[S] = {}))[e.uniqueID] || (o[e.uniqueID] = {}), l && l === e.nodeName.toLowerCase()) e = e[u] || e; + else { + if ((r = i[c]) && r[0] === k && r[1] === p) return a[2] = r[2]; + if ((i[c] = a)[2] = s(e, t, n)) return !0 + } return !1 + } + } + + function we(i) { + return 1 < i.length ? function(e, t, n) { + var r = i.length; + while (r--) + if (!i[r](e, t, n)) return !1; + return !0 + } : i[0] + } + + function Te(e, t, n, r, i) { + for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++)(o = e[s]) && (n && !n(o, r, i) || (a.push(o), l && t.push(s))); + return a + } + + function Ce(d, h, g, v, y, e) { + return v && !v[S] && (v = Ce(v)), y && !y[S] && (y = Ce(y, e)), le(function(e, t, n, r) { + var i, o, a, s = [], + u = [], + l = t.length, + c = e || function(e, t, n) { + for (var r = 0, i = t.length; r < i; r++) se(e, t[r], n); + return n + }(h || "*", n.nodeType ? [n] : n, []), + f = !d || !e && h ? c : Te(c, s, d, n, r), + p = g ? y || (e ? d : l || v) ? [] : t : f; + if (g && g(f, p, n, r), v) { + i = Te(p, u), v(i, [], n, r), o = i.length; + while (o--)(a = i[o]) && (p[u[o]] = !(f[u[o]] = a)) + } + if (e) { + if (y || d) { + if (y) { + i = [], o = p.length; + while (o--)(a = p[o]) && i.push(f[o] = a); + y(null, p = [], i, r) + } + o = p.length; + while (o--)(a = p[o]) && -1 < (i = y ? P(e, a) : s[o]) && (e[i] = !(t[i] = a)) + } + } else p = Te(p === t ? p.splice(l, p.length) : p), y ? y(null, t, p, r) : H.apply(t, p) + }) + } + + function Ee(e) { + for (var i, t, n, r = e.length, o = b.relative[e[0].type], a = o || b.relative[" "], s = o ? 1 : 0, u = be(function(e) { + return e === i + }, a, !0), l = be(function(e) { + return -1 < P(i, e) + }, a, !0), c = [function(e, t, n) { + var r = !o && (n || t !== w) || ((i = t).nodeType ? u(e, t, n) : l(e, t, n)); + return i = null, r + }]; s < r; s++) + if (t = b.relative[e[s].type]) c = [be(we(c), t)]; + else { + if ((t = b.filter[e[s].type].apply(null, e[s].matches))[S]) { + for (n = ++s; n < r; n++) + if (b.relative[e[n].type]) break; + return Ce(1 < s && we(c), 1 < s && xe(e.slice(0, s - 1).concat({ + value: " " === e[s - 2].type ? "*" : "" + })).replace($, "$1"), t, s < n && Ee(e.slice(s, n)), n < r && Ee(e = e.slice(n)), n < r && xe(e)) + } + c.push(t) + } + return we(c) + } + return me.prototype = b.filters = b.pseudos, b.setFilters = new me, h = se.tokenize = function(e, t) { + var n, r, i, o, a, s, u, l = x[e + " "]; + if (l) return t ? 0 : l.slice(0); + a = e, s = [], u = b.preFilter; + while (a) { + for (o in n && !(r = _.exec(a)) || (r && (a = a.slice(r[0].length) || a), s.push(i = [])), n = !1, (r = z.exec(a)) && (n = r.shift(), i.push({ + value: n, + type: r[0].replace($, " ") + }), a = a.slice(n.length)), b.filter) !(r = G[o].exec(a)) || u[o] && !(r = u[o](r)) || (n = r.shift(), i.push({ + value: n, + type: o, + matches: r + }), a = a.slice(n.length)); + if (!n) break + } + return t ? a.length : a ? se.error(e) : x(e, s).slice(0) + }, f = se.compile = function(e, t) { + var n, v, y, m, x, r, i = [], + o = [], + a = A[e + " "]; + if (!a) { + t || (t = h(e)), n = t.length; + while (n--)(a = Ee(t[n]))[S] ? i.push(a) : o.push(a); + (a = A(e, (v = o, m = 0 < (y = i).length, x = 0 < v.length, r = function(e, t, n, r, i) { + var o, a, s, u = 0, + l = "0", + c = e && [], + f = [], + p = w, + d = e || x && b.find.TAG("*", i), + h = k += null == p ? 1 : Math.random() || .1, + g = d.length; + for (i && (w = t == C || t || i); l !== g && null != (o = d[l]); l++) { + if (x && o) { + a = 0, t || o.ownerDocument == C || (T(o), n = !E); + while (s = v[a++]) + if (s(o, t || C, n)) { + r.push(o); + break + } + i && (k = h) + } + m && ((o = !s && o) && u--, e && c.push(o)) + } + if (u += l, m && l !== u) { + a = 0; + while (s = y[a++]) s(c, f, t, n); + if (e) { + if (0 < u) + while (l--) c[l] || f[l] || (f[l] = q.call(r)); + f = Te(f) + } + H.apply(r, f), i && !e && 0 < f.length && 1 < u + y.length && se.uniqueSort(r) + } + return i && (k = h, w = p), c + }, m ? le(r) : r))).selector = e + } + return a + }, g = se.select = function(e, t, n, r) { + var i, o, a, s, u, l = "function" == typeof e && e, + c = !r && h(e = l.selector || e); + if (n = n || [], 1 === c.length) { + if (2 < (o = c[0] = c[0].slice(0)).length && "ID" === (a = o[0]).type && 9 === t.nodeType && E && b.relative[o[1].type]) { + if (!(t = (b.find.ID(a.matches[0].replace(te, ne), t) || [])[0])) return n; + l && (t = t.parentNode), e = e.slice(o.shift().value.length) + } + i = G.needsContext.test(e) ? 0 : o.length; + while (i--) { + if (a = o[i], b.relative[s = a.type]) break; + if ((u = b.find[s]) && (r = u(a.matches[0].replace(te, ne), ee.test(o[0].type) && ye(t.parentNode) || t))) { + if (o.splice(i, 1), !(e = r.length && xe(o))) return H.apply(n, r), n; + break + } + } + } + return (l || f(e, c))(r, t, !E, n, !t || ee.test(e) && ye(t.parentNode) || t), n + }, d.sortStable = S.split("").sort(j).join("") === S, d.detectDuplicates = !!l, T(), d.sortDetached = ce(function(e) { + return 1 & e.compareDocumentPosition(C.createElement("fieldset")) + }), ce(function(e) { + return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href") + }) || fe("type|href|height|width", function(e, t, n) { + if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2) + }), d.attributes && ce(function(e) { + return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value") + }) || fe("value", function(e, t, n) { + if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue + }), ce(function(e) { + return null == e.getAttribute("disabled") + }) || fe(R, function(e, t, n) { + var r; + if (!n) return !0 === e[t] ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null + }), se + }(C); + S.find = d, S.expr = d.selectors, S.expr[":"] = S.expr.pseudos, S.uniqueSort = S.unique = d.uniqueSort, S.text = d.getText, S.isXMLDoc = d.isXML, S.contains = d.contains, S.escapeSelector = d.escape; + var h = function(e, t, n) { + var r = [], + i = void 0 !== n; + while ((e = e[t]) && 9 !== e.nodeType) + if (1 === e.nodeType) { + if (i && S(e).is(n)) break; + r.push(e) + } + return r + }, + T = function(e, t) { + for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e); + return n + }, + k = S.expr.match.needsContext; + + function A(e, t) { + return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() + } + var N = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; + + function j(e, n, r) { + return m(n) ? S.grep(e, function(e, t) { + return !!n.call(e, t, e) !== r + }) : n.nodeType ? S.grep(e, function(e) { + return e === n !== r + }) : "string" != typeof n ? S.grep(e, function(e) { + return -1 < i.call(n, e) !== r + }) : S.filter(n, e, r) + } + S.filter = function(e, t, n) { + var r = t[0]; + return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? S.find.matchesSelector(r, e) ? [r] : [] : S.find.matches(e, S.grep(t, function(e) { + return 1 === e.nodeType + })) + }, S.fn.extend({ + find: function(e) { + var t, n, r = this.length, + i = this; + if ("string" != typeof e) return this.pushStack(S(e).filter(function() { + for (t = 0; t < r; t++) + if (S.contains(i[t], this)) return !0 + })); + for (n = this.pushStack([]), t = 0; t < r; t++) S.find(e, i[t], n); + return 1 < r ? S.uniqueSort(n) : n + }, + filter: function(e) { + return this.pushStack(j(this, e || [], !1)) + }, + not: function(e) { + return this.pushStack(j(this, e || [], !0)) + }, + is: function(e) { + return !!j(this, "string" == typeof e && k.test(e) ? S(e) : e || [], !1).length + } + }); + var D, q = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; + (S.fn.init = function(e, t, n) { + var r, i; + if (!e) return this; + if (n = n || D, "string" == typeof e) { + if (!(r = "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length ? [null, e, null] : q.exec(e)) || !r[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e); + if (r[1]) { + if (t = t instanceof S ? t[0] : t, S.merge(this, S.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : E, !0)), N.test(r[1]) && S.isPlainObject(t)) + for (r in t) m(this[r]) ? this[r](t[r]) : this.attr(r, t[r]); + return this + } + return (i = E.getElementById(r[2])) && (this[0] = i, this.length = 1), this + } + return e.nodeType ? (this[0] = e, this.length = 1, this) : m(e) ? void 0 !== n.ready ? n.ready(e) : e(S) : S.makeArray(e, this) + }).prototype = S.fn, D = S(E); + var L = /^(?:parents|prev(?:Until|All))/, + H = { + children: !0, + contents: !0, + next: !0, + prev: !0 + }; + + function O(e, t) { + while ((e = e[t]) && 1 !== e.nodeType); + return e + } + S.fn.extend({ + has: function(e) { + var t = S(e, this), + n = t.length; + return this.filter(function() { + for (var e = 0; e < n; e++) + if (S.contains(this, t[e])) return !0 + }) + }, + closest: function(e, t) { + var n, r = 0, + i = this.length, + o = [], + a = "string" != typeof e && S(e); + if (!k.test(e)) + for (; r < i; r++) + for (n = this[r]; n && n !== t; n = n.parentNode) + if (n.nodeType < 11 && (a ? -1 < a.index(n) : 1 === n.nodeType && S.find.matchesSelector(n, e))) { + o.push(n); + break + } + return this.pushStack(1 < o.length ? S.uniqueSort(o) : o) + }, + index: function(e) { + return e ? "string" == typeof e ? i.call(S(e), this[0]) : i.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 + }, + add: function(e, t) { + return this.pushStack(S.uniqueSort(S.merge(this.get(), S(e, t)))) + }, + addBack: function(e) { + return this.add(null == e ? this.prevObject : this.prevObject.filter(e)) + } + }), S.each({ + parent: function(e) { + var t = e.parentNode; + return t && 11 !== t.nodeType ? t : null + }, + parents: function(e) { + return h(e, "parentNode") + }, + parentsUntil: function(e, t, n) { + return h(e, "parentNode", n) + }, + next: function(e) { + return O(e, "nextSibling") + }, + prev: function(e) { + return O(e, "previousSibling") + }, + nextAll: function(e) { + return h(e, "nextSibling") + }, + prevAll: function(e) { + return h(e, "previousSibling") + }, + nextUntil: function(e, t, n) { + return h(e, "nextSibling", n) + }, + prevUntil: function(e, t, n) { + return h(e, "previousSibling", n) + }, + siblings: function(e) { + return T((e.parentNode || {}).firstChild, e) + }, + children: function(e) { + return T(e.firstChild) + }, + contents: function(e) { + return null != e.contentDocument && r(e.contentDocument) ? e.contentDocument : (A(e, "template") && (e = e.content || e), S.merge([], e.childNodes)) + } + }, function(r, i) { + S.fn[r] = function(e, t) { + var n = S.map(this, i, e); + return "Until" !== r.slice(-5) && (t = e), t && "string" == typeof t && (n = S.filter(t, n)), 1 < this.length && (H[r] || S.uniqueSort(n), L.test(r) && n.reverse()), this.pushStack(n) + } + }); + var P = /[^\x20\t\r\n\f]+/g; + + function R(e) { + return e + } + + function M(e) { + throw e + } + + function I(e, t, n, r) { + var i; + try { + e && m(i = e.promise) ? i.call(e).done(t).fail(n) : e && m(i = e.then) ? i.call(e, t, n) : t.apply(void 0, [e].slice(r)) + } catch (e) { + n.apply(void 0, [e]) + } + } + S.Callbacks = function(r) { + var e, n; + r = "string" == typeof r ? (e = r, n = {}, S.each(e.match(P) || [], function(e, t) { + n[t] = !0 + }), n) : S.extend({}, r); + var i, t, o, a, s = [], + u = [], + l = -1, + c = function() { + for (a = a || r.once, o = i = !0; u.length; l = -1) { + t = u.shift(); + while (++l < s.length) !1 === s[l].apply(t[0], t[1]) && r.stopOnFalse && (l = s.length, t = !1) + } + r.memory || (t = !1), i = !1, a && (s = t ? [] : "") + }, + f = { + add: function() { + return s && (t && !i && (l = s.length - 1, u.push(t)), function n(e) { + S.each(e, function(e, t) { + m(t) ? r.unique && f.has(t) || s.push(t) : t && t.length && "string" !== w(t) && n(t) + }) + }(arguments), t && !i && c()), this + }, + remove: function() { + return S.each(arguments, function(e, t) { + var n; + while (-1 < (n = S.inArray(t, s, n))) s.splice(n, 1), n <= l && l-- + }), this + }, + has: function(e) { + return e ? -1 < S.inArray(e, s) : 0 < s.length + }, + empty: function() { + return s && (s = []), this + }, + disable: function() { + return a = u = [], s = t = "", this + }, + disabled: function() { + return !s + }, + lock: function() { + return a = u = [], t || i || (s = t = ""), this + }, + locked: function() { + return !!a + }, + fireWith: function(e, t) { + return a || (t = [e, (t = t || []).slice ? t.slice() : t], u.push(t), i || c()), this + }, + fire: function() { + return f.fireWith(this, arguments), this + }, + fired: function() { + return !!o + } + }; + return f + }, S.extend({ + Deferred: function(e) { + var o = [ + ["notify", "progress", S.Callbacks("memory"), S.Callbacks("memory"), 2], + ["resolve", "done", S.Callbacks("once memory"), S.Callbacks("once memory"), 0, "resolved"], + ["reject", "fail", S.Callbacks("once memory"), S.Callbacks("once memory"), 1, "rejected"] + ], + i = "pending", + a = { + state: function() { + return i + }, + always: function() { + return s.done(arguments).fail(arguments), this + }, + "catch": function(e) { + return a.then(null, e) + }, + pipe: function() { + var i = arguments; + return S.Deferred(function(r) { + S.each(o, function(e, t) { + var n = m(i[t[4]]) && i[t[4]]; + s[t[1]](function() { + var e = n && n.apply(this, arguments); + e && m(e.promise) ? e.promise().progress(r.notify).done(r.resolve).fail(r.reject) : r[t[0] + "With"](this, n ? [e] : arguments) + }) + }), i = null + }).promise() + }, + then: function(t, n, r) { + var u = 0; + + function l(i, o, a, s) { + return function() { + var n = this, + r = arguments, + e = function() { + var e, t; + if (!(i < u)) { + if ((e = a.apply(n, r)) === o.promise()) throw new TypeError("Thenable self-resolution"); + t = e && ("object" == typeof e || "function" == typeof e) && e.then, m(t) ? s ? t.call(e, l(u, o, R, s), l(u, o, M, s)) : (u++, t.call(e, l(u, o, R, s), l(u, o, M, s), l(u, o, R, o.notifyWith))) : (a !== R && (n = void 0, r = [e]), (s || o.resolveWith)(n, r)) + } + }, + t = s ? e : function() { + try { + e() + } catch (e) { + S.Deferred.exceptionHook && S.Deferred.exceptionHook(e, t.stackTrace), u <= i + 1 && (a !== M && (n = void 0, r = [e]), o.rejectWith(n, r)) + } + }; + i ? t() : (S.Deferred.getStackHook && (t.stackTrace = S.Deferred.getStackHook()), C.setTimeout(t)) + } + } + return S.Deferred(function(e) { + o[0][3].add(l(0, e, m(r) ? r : R, e.notifyWith)), o[1][3].add(l(0, e, m(t) ? t : R)), o[2][3].add(l(0, e, m(n) ? n : M)) + }).promise() + }, + promise: function(e) { + return null != e ? S.extend(e, a) : a + } + }, + s = {}; + return S.each(o, function(e, t) { + var n = t[2], + r = t[5]; + a[t[1]] = n.add, r && n.add(function() { + i = r + }, o[3 - e][2].disable, o[3 - e][3].disable, o[0][2].lock, o[0][3].lock), n.add(t[3].fire), s[t[0]] = function() { + return s[t[0] + "With"](this === s ? void 0 : this, arguments), this + }, s[t[0] + "With"] = n.fireWith + }), a.promise(s), e && e.call(s, s), s + }, + when: function(e) { + var n = arguments.length, + t = n, + r = Array(t), + i = s.call(arguments), + o = S.Deferred(), + a = function(t) { + return function(e) { + r[t] = this, i[t] = 1 < arguments.length ? s.call(arguments) : e, --n || o.resolveWith(r, i) + } + }; + if (n <= 1 && (I(e, o.done(a(t)).resolve, o.reject, !n), "pending" === o.state() || m(i[t] && i[t].then))) return o.then(); + while (t--) I(i[t], a(t), o.reject); + return o.promise() + } + }); + var W = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + S.Deferred.exceptionHook = function(e, t) { + C.console && C.console.warn && e && W.test(e.name) && C.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t) + }, S.readyException = function(e) { + C.setTimeout(function() { + throw e + }) + }; + var F = S.Deferred(); + + function B() { + E.removeEventListener("DOMContentLoaded", B), C.removeEventListener("load", B), S.ready() + } + S.fn.ready = function(e) { + return F.then(e)["catch"](function(e) { + S.readyException(e) + }), this + }, S.extend({ + isReady: !1, + readyWait: 1, + ready: function(e) { + (!0 === e ? --S.readyWait : S.isReady) || (S.isReady = !0) !== e && 0 < --S.readyWait || F.resolveWith(E, [S]) + } + }), S.ready.then = F.then, "complete" === E.readyState || "loading" !== E.readyState && !E.documentElement.doScroll ? C.setTimeout(S.ready) : (E.addEventListener("DOMContentLoaded", B), C.addEventListener("load", B)); + var $ = function(e, t, n, r, i, o, a) { + var s = 0, + u = e.length, + l = null == n; + if ("object" === w(n)) + for (s in i = !0, n) $(e, t, s, n[s], !0, o, a); + else if (void 0 !== r && (i = !0, m(r) || (a = !0), l && (a ? (t.call(e, r), t = null) : (l = t, t = function(e, t, n) { + return l.call(S(e), n) + })), t)) + for (; s < u; s++) t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n))); + return i ? e : l ? t.call(e) : u ? t(e[0], n) : o + }, + _ = /^-ms-/, + z = /-([a-z])/g; + + function U(e, t) { + return t.toUpperCase() + } + + function X(e) { + return e.replace(_, "ms-").replace(z, U) + } + var V = function(e) { + return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType + }; + + function G() { + this.expando = S.expando + G.uid++ + } + G.uid = 1, G.prototype = { + cache: function(e) { + var t = e[this.expando]; + return t || (t = {}, V(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, { + value: t, + configurable: !0 + }))), t + }, + set: function(e, t, n) { + var r, i = this.cache(e); + if ("string" == typeof t) i[X(t)] = n; + else + for (r in t) i[X(r)] = t[r]; + return i + }, + get: function(e, t) { + return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][X(t)] + }, + access: function(e, t, n) { + return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t) + }, + remove: function(e, t) { + var n, r = e[this.expando]; + if (void 0 !== r) { + if (void 0 !== t) { + n = (t = Array.isArray(t) ? t.map(X) : (t = X(t)) in r ? [t] : t.match(P) || []).length; + while (n--) delete r[t[n]] + }(void 0 === t || S.isEmptyObject(r)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando]) + } + }, + hasData: function(e) { + var t = e[this.expando]; + return void 0 !== t && !S.isEmptyObject(t) + } + }; + var Y = new G, + Q = new G, + J = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + K = /[A-Z]/g; + + function Z(e, t, n) { + var r, i; + if (void 0 === n && 1 === e.nodeType) + if (r = "data-" + t.replace(K, "-$&").toLowerCase(), "string" == typeof(n = e.getAttribute(r))) { + try { + n = "true" === (i = n) || "false" !== i && ("null" === i ? null : i === +i + "" ? +i : J.test(i) ? JSON.parse(i) : i) + } catch (e) {} + Q.set(e, t, n) + } else n = void 0; + return n + } + S.extend({ + hasData: function(e) { + return Q.hasData(e) || Y.hasData(e) + }, + data: function(e, t, n) { + return Q.access(e, t, n) + }, + removeData: function(e, t) { + Q.remove(e, t) + }, + _data: function(e, t, n) { + return Y.access(e, t, n) + }, + _removeData: function(e, t) { + Y.remove(e, t) + } + }), S.fn.extend({ + data: function(n, e) { + var t, r, i, o = this[0], + a = o && o.attributes; + if (void 0 === n) { + if (this.length && (i = Q.get(o), 1 === o.nodeType && !Y.get(o, "hasDataAttrs"))) { + t = a.length; + while (t--) a[t] && 0 === (r = a[t].name).indexOf("data-") && (r = X(r.slice(5)), Z(o, r, i[r])); + Y.set(o, "hasDataAttrs", !0) + } + return i + } + return "object" == typeof n ? this.each(function() { + Q.set(this, n) + }) : $(this, function(e) { + var t; + if (o && void 0 === e) return void 0 !== (t = Q.get(o, n)) ? t : void 0 !== (t = Z(o, n)) ? t : void 0; + this.each(function() { + Q.set(this, n, e) + }) + }, null, e, 1 < arguments.length, null, !0) + }, + removeData: function(e) { + return this.each(function() { + Q.remove(this, e) + }) + } + }), S.extend({ + queue: function(e, t, n) { + var r; + if (e) return t = (t || "fx") + "queue", r = Y.get(e, t), n && (!r || Array.isArray(n) ? r = Y.access(e, t, S.makeArray(n)) : r.push(n)), r || [] + }, + dequeue: function(e, t) { + t = t || "fx"; + var n = S.queue(e, t), + r = n.length, + i = n.shift(), + o = S._queueHooks(e, t); + "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, function() { + S.dequeue(e, t) + }, o)), !r && o && o.empty.fire() + }, + _queueHooks: function(e, t) { + var n = t + "queueHooks"; + return Y.get(e, n) || Y.access(e, n, { + empty: S.Callbacks("once memory").add(function() { + Y.remove(e, [t + "queue", n]) + }) + }) + } + }), S.fn.extend({ + queue: function(t, n) { + var e = 2; + return "string" != typeof t && (n = t, t = "fx", e--), arguments.length < e ? S.queue(this[0], t) : void 0 === n ? this : this.each(function() { + var e = S.queue(this, t, n); + S._queueHooks(this, t), "fx" === t && "inprogress" !== e[0] && S.dequeue(this, t) + }) + }, + dequeue: function(e) { + return this.each(function() { + S.dequeue(this, e) + }) + }, + clearQueue: function(e) { + return this.queue(e || "fx", []) + }, + promise: function(e, t) { + var n, r = 1, + i = S.Deferred(), + o = this, + a = this.length, + s = function() { + --r || i.resolveWith(o, [o]) + }; + "string" != typeof e && (t = e, e = void 0), e = e || "fx"; + while (a--)(n = Y.get(o[a], e + "queueHooks")) && n.empty && (r++, n.empty.add(s)); + return s(), i.promise(t) + } + }); + var ee = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, + te = new RegExp("^(?:([+-])=|)(" + ee + ")([a-z%]*)$", "i"), + ne = ["Top", "Right", "Bottom", "Left"], + re = E.documentElement, + ie = function(e) { + return S.contains(e.ownerDocument, e) + }, + oe = { + composed: !0 + }; + re.getRootNode && (ie = function(e) { + return S.contains(e.ownerDocument, e) || e.getRootNode(oe) === e.ownerDocument + }); + var ae = function(e, t) { + return "none" === (e = t || e).style.display || "" === e.style.display && ie(e) && "none" === S.css(e, "display") + }; + + function se(e, t, n, r) { + var i, o, a = 20, + s = r ? function() { + return r.cur() + } : function() { + return S.css(e, t, "") + }, + u = s(), + l = n && n[3] || (S.cssNumber[t] ? "" : "px"), + c = e.nodeType && (S.cssNumber[t] || "px" !== l && +u) && te.exec(S.css(e, t)); + if (c && c[3] !== l) { + u /= 2, l = l || c[3], c = +u || 1; + while (a--) S.style(e, t, c + l), (1 - o) * (1 - (o = s() / u || .5)) <= 0 && (a = 0), c /= o; + c *= 2, S.style(e, t, c + l), n = n || [] + } + return n && (c = +c || +u || 0, i = n[1] ? c + (n[1] + 1) * n[2] : +n[2], r && (r.unit = l, r.start = c, r.end = i)), i + } + var ue = {}; + + function le(e, t) { + for (var n, r, i, o, a, s, u, l = [], c = 0, f = e.length; c < f; c++)(r = e[c]).style && (n = r.style.display, t ? ("none" === n && (l[c] = Y.get(r, "display") || null, l[c] || (r.style.display = "")), "" === r.style.display && ae(r) && (l[c] = (u = a = o = void 0, a = (i = r).ownerDocument, s = i.nodeName, (u = ue[s]) || (o = a.body.appendChild(a.createElement(s)), u = S.css(o, "display"), o.parentNode.removeChild(o), "none" === u && (u = "block"), ue[s] = u)))) : "none" !== n && (l[c] = "none", Y.set(r, "display", n))); + for (c = 0; c < f; c++) null != l[c] && (e[c].style.display = l[c]); + return e + } + S.fn.extend({ + show: function() { + return le(this, !0) + }, + hide: function() { + return le(this) + }, + toggle: function(e) { + return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function() { + ae(this) ? S(this).show() : S(this).hide() + }) + } + }); + var ce, fe, pe = /^(?:checkbox|radio)$/i, + de = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, + he = /^$|^module$|\/(?:java|ecma)script/i; + ce = E.createDocumentFragment().appendChild(E.createElement("div")), (fe = E.createElement("input")).setAttribute("type", "radio"), fe.setAttribute("checked", "checked"), fe.setAttribute("name", "t"), ce.appendChild(fe), y.checkClone = ce.cloneNode(!0).cloneNode(!0).lastChild.checked, ce.innerHTML = "<textarea>x</textarea>", y.noCloneChecked = !!ce.cloneNode(!0).lastChild.defaultValue, ce.innerHTML = "<option></option>", y.option = !!ce.lastChild; + var ge = { + thead: [1, "<table>", "</table>"], + col: [2, "<table><colgroup>", "</colgroup></table>"], + tr: [2, "<table><tbody>", "</tbody></table>"], + td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], + _default: [0, "", ""] + }; + + function ve(e, t) { + var n; + return n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t || "*") : "undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && A(e, t) ? S.merge([e], n) : n + } + + function ye(e, t) { + for (var n = 0, r = e.length; n < r; n++) Y.set(e[n], "globalEval", !t || Y.get(t[n], "globalEval")) + } + ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead, ge.th = ge.td, y.option || (ge.optgroup = ge.option = [1, "<select multiple='multiple'>", "</select>"]); + var me = /<|&#?\w+;/; + + function xe(e, t, n, r, i) { + for (var o, a, s, u, l, c, f = t.createDocumentFragment(), p = [], d = 0, h = e.length; d < h; d++) + if ((o = e[d]) || 0 === o) + if ("object" === w(o)) S.merge(p, o.nodeType ? [o] : o); + else if (me.test(o)) { + a = a || f.appendChild(t.createElement("div")), s = (de.exec(o) || ["", ""])[1].toLowerCase(), u = ge[s] || ge._default, a.innerHTML = u[1] + S.htmlPrefilter(o) + u[2], c = u[0]; + while (c--) a = a.lastChild; + S.merge(p, a.childNodes), (a = f.firstChild).textContent = "" + } else p.push(t.createTextNode(o)); + f.textContent = "", d = 0; + while (o = p[d++]) + if (r && -1 < S.inArray(o, r)) i && i.push(o); + else if (l = ie(o), a = ve(f.appendChild(o), "script"), l && ye(a), n) { + c = 0; + while (o = a[c++]) he.test(o.type || "") && n.push(o) + } + return f + } + var be = /^([^.]*)(?:\.(.+)|)/; + + function we() { + return !0 + } + + function Te() { + return !1 + } + + function Ce(e, t) { + return e === function() { + try { + return E.activeElement + } catch (e) {} + }() == ("focus" === t) + } + + function Ee(e, t, n, r, i, o) { + var a, s; + if ("object" == typeof t) { + for (s in "string" != typeof n && (r = r || n, n = void 0), t) Ee(e, s, n, r, t[s], o); + return e + } + if (null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), !1 === i) i = Te; + else if (!i) return e; + return 1 === o && (a = i, (i = function(e) { + return S().off(e), a.apply(this, arguments) + }).guid = a.guid || (a.guid = S.guid++)), e.each(function() { + S.event.add(this, t, i, r, n) + }) + } + + function Se(e, i, o) { + o ? (Y.set(e, i, !1), S.event.add(e, i, { + namespace: !1, + handler: function(e) { + var t, n, r = Y.get(this, i); + if (1 & e.isTrigger && this[i]) { + if (r.length)(S.event.special[i] || {}).delegateType && e.stopPropagation(); + else if (r = s.call(arguments), Y.set(this, i, r), t = o(this, i), this[i](), r !== (n = Y.get(this, i)) || t ? Y.set(this, i, !1) : n = {}, r !== n) return e.stopImmediatePropagation(), e.preventDefault(), n && n.value + } else r.length && (Y.set(this, i, { + value: S.event.trigger(S.extend(r[0], S.Event.prototype), r.slice(1), this) + }), e.stopImmediatePropagation()) + } + })) : void 0 === Y.get(e, i) && S.event.add(e, i, we) + } + S.event = { + global: {}, + add: function(t, e, n, r, i) { + var o, a, s, u, l, c, f, p, d, h, g, v = Y.get(t); + if (V(t)) { + n.handler && (n = (o = n).handler, i = o.selector), i && S.find.matchesSelector(re, i), n.guid || (n.guid = S.guid++), (u = v.events) || (u = v.events = Object.create(null)), (a = v.handle) || (a = v.handle = function(e) { + return "undefined" != typeof S && S.event.triggered !== e.type ? S.event.dispatch.apply(t, arguments) : void 0 + }), l = (e = (e || "").match(P) || [""]).length; + while (l--) d = g = (s = be.exec(e[l]) || [])[1], h = (s[2] || "").split(".").sort(), d && (f = S.event.special[d] || {}, d = (i ? f.delegateType : f.bindType) || d, f = S.event.special[d] || {}, c = S.extend({ + type: d, + origType: g, + data: r, + handler: n, + guid: n.guid, + selector: i, + needsContext: i && S.expr.match.needsContext.test(i), + namespace: h.join(".") + }, o), (p = u[d]) || ((p = u[d] = []).delegateCount = 0, f.setup && !1 !== f.setup.call(t, r, h, a) || t.addEventListener && t.addEventListener(d, a)), f.add && (f.add.call(t, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), S.event.global[d] = !0) + } + }, + remove: function(e, t, n, r, i) { + var o, a, s, u, l, c, f, p, d, h, g, v = Y.hasData(e) && Y.get(e); + if (v && (u = v.events)) { + l = (t = (t || "").match(P) || [""]).length; + while (l--) + if (d = g = (s = be.exec(t[l]) || [])[1], h = (s[2] || "").split(".").sort(), d) { + f = S.event.special[d] || {}, p = u[d = (r ? f.delegateType : f.bindType) || d] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = p.length; + while (o--) c = p[o], !i && g !== c.origType || n && n.guid !== c.guid || s && !s.test(c.namespace) || r && r !== c.selector && ("**" !== r || !c.selector) || (p.splice(o, 1), c.selector && p.delegateCount--, f.remove && f.remove.call(e, c)); + a && !p.length && (f.teardown && !1 !== f.teardown.call(e, h, v.handle) || S.removeEvent(e, d, v.handle), delete u[d]) + } else + for (d in u) S.event.remove(e, d + t[l], n, r, !0); + S.isEmptyObject(u) && Y.remove(e, "handle events") + } + }, + dispatch: function(e) { + var t, n, r, i, o, a, s = new Array(arguments.length), + u = S.event.fix(e), + l = (Y.get(this, "events") || Object.create(null))[u.type] || [], + c = S.event.special[u.type] || {}; + for (s[0] = u, t = 1; t < arguments.length; t++) s[t] = arguments[t]; + if (u.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, u)) { + a = S.event.handlers.call(this, u, l), t = 0; + while ((i = a[t++]) && !u.isPropagationStopped()) { + u.currentTarget = i.elem, n = 0; + while ((o = i.handlers[n++]) && !u.isImmediatePropagationStopped()) u.rnamespace && !1 !== o.namespace && !u.rnamespace.test(o.namespace) || (u.handleObj = o, u.data = o.data, void 0 !== (r = ((S.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, s)) && !1 === (u.result = r) && (u.preventDefault(), u.stopPropagation())) + } + return c.postDispatch && c.postDispatch.call(this, u), u.result + } + }, + handlers: function(e, t) { + var n, r, i, o, a, s = [], + u = t.delegateCount, + l = e.target; + if (u && l.nodeType && !("click" === e.type && 1 <= e.button)) + for (; l !== this; l = l.parentNode || this) + if (1 === l.nodeType && ("click" !== e.type || !0 !== l.disabled)) { + for (o = [], a = {}, n = 0; n < u; n++) void 0 === a[i = (r = t[n]).selector + " "] && (a[i] = r.needsContext ? -1 < S(i, this).index(l) : S.find(i, this, null, [l]).length), a[i] && o.push(r); + o.length && s.push({ + elem: l, + handlers: o + }) + } + return l = this, u < t.length && s.push({ + elem: l, + handlers: t.slice(u) + }), s + }, + addProp: function(t, e) { + Object.defineProperty(S.Event.prototype, t, { + enumerable: !0, + configurable: !0, + get: m(e) ? function() { + if (this.originalEvent) return e(this.originalEvent) + } : function() { + if (this.originalEvent) return this.originalEvent[t] + }, + set: function(e) { + Object.defineProperty(this, t, { + enumerable: !0, + configurable: !0, + writable: !0, + value: e + }) + } + }) + }, + fix: function(e) { + return e[S.expando] ? e : new S.Event(e) + }, + special: { + load: { + noBubble: !0 + }, + click: { + setup: function(e) { + var t = this || e; + return pe.test(t.type) && t.click && A(t, "input") && Se(t, "click", we), !1 + }, + trigger: function(e) { + var t = this || e; + return pe.test(t.type) && t.click && A(t, "input") && Se(t, "click"), !0 + }, + _default: function(e) { + var t = e.target; + return pe.test(t.type) && t.click && A(t, "input") && Y.get(t, "click") || A(t, "a") + } + }, + beforeunload: { + postDispatch: function(e) { + void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result) + } + } + } + }, S.removeEvent = function(e, t, n) { + e.removeEventListener && e.removeEventListener(t, n) + }, S.Event = function(e, t) { + if (!(this instanceof S.Event)) return new S.Event(e, t); + e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? we : Te, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && S.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[S.expando] = !0 + }, S.Event.prototype = { + constructor: S.Event, + isDefaultPrevented: Te, + isPropagationStopped: Te, + isImmediatePropagationStopped: Te, + isSimulated: !1, + preventDefault: function() { + var e = this.originalEvent; + this.isDefaultPrevented = we, e && !this.isSimulated && e.preventDefault() + }, + stopPropagation: function() { + var e = this.originalEvent; + this.isPropagationStopped = we, e && !this.isSimulated && e.stopPropagation() + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + this.isImmediatePropagationStopped = we, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation() + } + }, S.each({ + altKey: !0, + bubbles: !0, + cancelable: !0, + changedTouches: !0, + ctrlKey: !0, + detail: !0, + eventPhase: !0, + metaKey: !0, + pageX: !0, + pageY: !0, + shiftKey: !0, + view: !0, + "char": !0, + code: !0, + charCode: !0, + key: !0, + keyCode: !0, + button: !0, + buttons: !0, + clientX: !0, + clientY: !0, + offsetX: !0, + offsetY: !0, + pointerId: !0, + pointerType: !0, + screenX: !0, + screenY: !0, + targetTouches: !0, + toElement: !0, + touches: !0, + which: !0 + }, S.event.addProp), S.each({ + focus: "focusin", + blur: "focusout" + }, function(e, t) { + S.event.special[e] = { + setup: function() { + return Se(this, e, Ce), !1 + }, + trigger: function() { + return Se(this, e), !0 + }, + _default: function() { + return !0 + }, + delegateType: t + } + }), S.each({ + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" + }, function(e, i) { + S.event.special[e] = { + delegateType: i, + bindType: i, + handle: function(e) { + var t, n = e.relatedTarget, + r = e.handleObj; + return n && (n === this || S.contains(this, n)) || (e.type = r.origType, t = r.handler.apply(this, arguments), e.type = i), t + } + } + }), S.fn.extend({ + on: function(e, t, n, r) { + return Ee(this, e, t, n, r) + }, + one: function(e, t, n, r) { + return Ee(this, e, t, n, r, 1) + }, + off: function(e, t, n) { + var r, i; + if (e && e.preventDefault && e.handleObj) return r = e.handleObj, S(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this; + if ("object" == typeof e) { + for (i in e) this.off(i, t, e[i]); + return this + } + return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = Te), this.each(function() { + S.event.remove(this, e, n, t) + }) + } + }); + var ke = /<script|<style|<link/i, + Ae = /checked\s*(?:[^=]|=\s*.checked.)/i, + Ne = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; + + function je(e, t) { + return A(e, "table") && A(11 !== t.nodeType ? t : t.firstChild, "tr") && S(e).children("tbody")[0] || e + } + + function De(e) { + return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e + } + + function qe(e) { + return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e + } + + function Le(e, t) { + var n, r, i, o, a, s; + if (1 === t.nodeType) { + if (Y.hasData(e) && (s = Y.get(e).events)) + for (i in Y.remove(t, "handle events"), s) + for (n = 0, r = s[i].length; n < r; n++) S.event.add(t, i, s[i][n]); + Q.hasData(e) && (o = Q.access(e), a = S.extend({}, o), Q.set(t, a)) + } + } + + function He(n, r, i, o) { + r = g(r); + var e, t, a, s, u, l, c = 0, + f = n.length, + p = f - 1, + d = r[0], + h = m(d); + if (h || 1 < f && "string" == typeof d && !y.checkClone && Ae.test(d)) return n.each(function(e) { + var t = n.eq(e); + h && (r[0] = d.call(this, e, t.html())), He(t, r, i, o) + }); + if (f && (t = (e = xe(r, n[0].ownerDocument, !1, n, o)).firstChild, 1 === e.childNodes.length && (e = t), t || o)) { + for (s = (a = S.map(ve(e, "script"), De)).length; c < f; c++) u = e, c !== p && (u = S.clone(u, !0, !0), s && S.merge(a, ve(u, "script"))), i.call(n[c], u, c); + if (s) + for (l = a[a.length - 1].ownerDocument, S.map(a, qe), c = 0; c < s; c++) u = a[c], he.test(u.type || "") && !Y.access(u, "globalEval") && S.contains(l, u) && (u.src && "module" !== (u.type || "").toLowerCase() ? S._evalUrl && !u.noModule && S._evalUrl(u.src, { + nonce: u.nonce || u.getAttribute("nonce") + }, l) : b(u.textContent.replace(Ne, ""), u, l)) + } + return n + } + + function Oe(e, t, n) { + for (var r, i = t ? S.filter(t, e) : e, o = 0; null != (r = i[o]); o++) n || 1 !== r.nodeType || S.cleanData(ve(r)), r.parentNode && (n && ie(r) && ye(ve(r, "script")), r.parentNode.removeChild(r)); + return e + } + S.extend({ + htmlPrefilter: function(e) { + return e + }, + clone: function(e, t, n) { + var r, i, o, a, s, u, l, c = e.cloneNode(!0), + f = ie(e); + if (!(y.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || S.isXMLDoc(e))) + for (a = ve(c), r = 0, i = (o = ve(e)).length; r < i; r++) s = o[r], u = a[r], void 0, "input" === (l = u.nodeName.toLowerCase()) && pe.test(s.type) ? u.checked = s.checked : "input" !== l && "textarea" !== l || (u.defaultValue = s.defaultValue); + if (t) + if (n) + for (o = o || ve(e), a = a || ve(c), r = 0, i = o.length; r < i; r++) Le(o[r], a[r]); + else Le(e, c); + return 0 < (a = ve(c, "script")).length && ye(a, !f && ve(e, "script")), c + }, + cleanData: function(e) { + for (var t, n, r, i = S.event.special, o = 0; void 0 !== (n = e[o]); o++) + if (V(n)) { + if (t = n[Y.expando]) { + if (t.events) + for (r in t.events) i[r] ? S.event.remove(n, r) : S.removeEvent(n, r, t.handle); + n[Y.expando] = void 0 + } + n[Q.expando] && (n[Q.expando] = void 0) + } + } + }), S.fn.extend({ + detach: function(e) { + return Oe(this, e, !0) + }, + remove: function(e) { + return Oe(this, e) + }, + text: function(e) { + return $(this, function(e) { + return void 0 === e ? S.text(this) : this.empty().each(function() { + 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e) + }) + }, null, e, arguments.length) + }, + append: function() { + return He(this, arguments, function(e) { + 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || je(this, e).appendChild(e) + }) + }, + prepend: function() { + return He(this, arguments, function(e) { + if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { + var t = je(this, e); + t.insertBefore(e, t.firstChild) + } + }) + }, + before: function() { + return He(this, arguments, function(e) { + this.parentNode && this.parentNode.insertBefore(e, this) + }) + }, + after: function() { + return He(this, arguments, function(e) { + this.parentNode && this.parentNode.insertBefore(e, this.nextSibling) + }) + }, + empty: function() { + for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (S.cleanData(ve(e, !1)), e.textContent = ""); + return this + }, + clone: function(e, t) { + return e = null != e && e, t = null == t ? e : t, this.map(function() { + return S.clone(this, e, t) + }) + }, + html: function(e) { + return $(this, function(e) { + var t = this[0] || {}, + n = 0, + r = this.length; + if (void 0 === e && 1 === t.nodeType) return t.innerHTML; + if ("string" == typeof e && !ke.test(e) && !ge[(de.exec(e) || ["", ""])[1].toLowerCase()]) { + e = S.htmlPrefilter(e); + try { + for (; n < r; n++) 1 === (t = this[n] || {}).nodeType && (S.cleanData(ve(t, !1)), t.innerHTML = e); + t = 0 + } catch (e) {} + } + t && this.empty().append(e) + }, null, e, arguments.length) + }, + replaceWith: function() { + var n = []; + return He(this, arguments, function(e) { + var t = this.parentNode; + S.inArray(this, n) < 0 && (S.cleanData(ve(this)), t && t.replaceChild(e, this)) + }, n) + } + }), S.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" + }, function(e, a) { + S.fn[e] = function(e) { + for (var t, n = [], r = S(e), i = r.length - 1, o = 0; o <= i; o++) t = o === i ? this : this.clone(!0), S(r[o])[a](t), u.apply(n, t.get()); + return this.pushStack(n) + } + }); + var Pe = new RegExp("^(" + ee + ")(?!px)[a-z%]+$", "i"), + Re = function(e) { + var t = e.ownerDocument.defaultView; + return t && t.opener || (t = C), t.getComputedStyle(e) + }, + Me = function(e, t, n) { + var r, i, o = {}; + for (i in t) o[i] = e.style[i], e.style[i] = t[i]; + for (i in r = n.call(e), t) e.style[i] = o[i]; + return r + }, + Ie = new RegExp(ne.join("|"), "i"); + + function We(e, t, n) { + var r, i, o, a, s = e.style; + return (n = n || Re(e)) && ("" !== (a = n.getPropertyValue(t) || n[t]) || ie(e) || (a = S.style(e, t)), !y.pixelBoxStyles() && Pe.test(a) && Ie.test(t) && (r = s.width, i = s.minWidth, o = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = r, s.minWidth = i, s.maxWidth = o)), void 0 !== a ? a + "" : a + } + + function Fe(e, t) { + return { + get: function() { + if (!e()) return (this.get = t).apply(this, arguments); + delete this.get + } + } + }! function() { + function e() { + if (l) { + u.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", l.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", re.appendChild(u).appendChild(l); + var e = C.getComputedStyle(l); + n = "1%" !== e.top, s = 12 === t(e.marginLeft), l.style.right = "60%", o = 36 === t(e.right), r = 36 === t(e.width), l.style.position = "absolute", i = 12 === t(l.offsetWidth / 3), re.removeChild(u), l = null + } + } + + function t(e) { + return Math.round(parseFloat(e)) + } + var n, r, i, o, a, s, u = E.createElement("div"), + l = E.createElement("div"); + l.style && (l.style.backgroundClip = "content-box", l.cloneNode(!0).style.backgroundClip = "", y.clearCloneStyle = "content-box" === l.style.backgroundClip, S.extend(y, { + boxSizingReliable: function() { + return e(), r + }, + pixelBoxStyles: function() { + return e(), o + }, + pixelPosition: function() { + return e(), n + }, + reliableMarginLeft: function() { + return e(), s + }, + scrollboxSize: function() { + return e(), i + }, + reliableTrDimensions: function() { + var e, t, n, r; + return null == a && (e = E.createElement("table"), t = E.createElement("tr"), n = E.createElement("div"), e.style.cssText = "position:absolute;left:-11111px;border-collapse:separate", t.style.cssText = "border:1px solid", t.style.height = "1px", n.style.height = "9px", n.style.display = "block", re.appendChild(e).appendChild(t).appendChild(n), r = C.getComputedStyle(t), a = parseInt(r.height, 10) + parseInt(r.borderTopWidth, 10) + parseInt(r.borderBottomWidth, 10) === t.offsetHeight, re.removeChild(e)), a + } + })) + }(); + var Be = ["Webkit", "Moz", "ms"], + $e = E.createElement("div").style, + _e = {}; + + function ze(e) { + var t = S.cssProps[e] || _e[e]; + return t || (e in $e ? e : _e[e] = function(e) { + var t = e[0].toUpperCase() + e.slice(1), + n = Be.length; + while (n--) + if ((e = Be[n] + t) in $e) return e + }(e) || e) + } + var Ue = /^(none|table(?!-c[ea]).+)/, + Xe = /^--/, + Ve = { + position: "absolute", + visibility: "hidden", + display: "block" + }, + Ge = { + letterSpacing: "0", + fontWeight: "400" + }; + + function Ye(e, t, n) { + var r = te.exec(t); + return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t + } + + function Qe(e, t, n, r, i, o) { + var a = "width" === t ? 1 : 0, + s = 0, + u = 0; + if (n === (r ? "border" : "content")) return 0; + for (; a < 4; a += 2) "margin" === n && (u += S.css(e, n + ne[a], !0, i)), r ? ("content" === n && (u -= S.css(e, "padding" + ne[a], !0, i)), "margin" !== n && (u -= S.css(e, "border" + ne[a] + "Width", !0, i))) : (u += S.css(e, "padding" + ne[a], !0, i), "padding" !== n ? u += S.css(e, "border" + ne[a] + "Width", !0, i) : s += S.css(e, "border" + ne[a] + "Width", !0, i)); + return !r && 0 <= o && (u += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - o - u - s - .5)) || 0), u + } + + function Je(e, t, n) { + var r = Re(e), + i = (!y.boxSizingReliable() || n) && "border-box" === S.css(e, "boxSizing", !1, r), + o = i, + a = We(e, t, r), + s = "offset" + t[0].toUpperCase() + t.slice(1); + if (Pe.test(a)) { + if (!n) return a; + a = "auto" + } + return (!y.boxSizingReliable() && i || !y.reliableTrDimensions() && A(e, "tr") || "auto" === a || !parseFloat(a) && "inline" === S.css(e, "display", !1, r)) && e.getClientRects().length && (i = "border-box" === S.css(e, "boxSizing", !1, r), (o = s in e) && (a = e[s])), (a = parseFloat(a) || 0) + Qe(e, t, n || (i ? "border" : "content"), o, r, a) + "px" + } + + function Ke(e, t, n, r, i) { + return new Ke.prototype.init(e, t, n, r, i) + } + S.extend({ + cssHooks: { + opacity: { + get: function(e, t) { + if (t) { + var n = We(e, "opacity"); + return "" === n ? "1" : n + } + } + } + }, + cssNumber: { + animationIterationCount: !0, + columnCount: !0, + fillOpacity: !0, + flexGrow: !0, + flexShrink: !0, + fontWeight: !0, + gridArea: !0, + gridColumn: !0, + gridColumnEnd: !0, + gridColumnStart: !0, + gridRow: !0, + gridRowEnd: !0, + gridRowStart: !0, + lineHeight: !0, + opacity: !0, + order: !0, + orphans: !0, + widows: !0, + zIndex: !0, + zoom: !0 + }, + cssProps: {}, + style: function(e, t, n, r) { + if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { + var i, o, a, s = X(t), + u = Xe.test(t), + l = e.style; + if (u || (t = ze(s)), a = S.cssHooks[t] || S.cssHooks[s], void 0 === n) return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : l[t]; + "string" === (o = typeof n) && (i = te.exec(n)) && i[1] && (n = se(e, t, i), o = "number"), null != n && n == n && ("number" !== o || u || (n += i && i[3] || (S.cssNumber[s] ? "" : "px")), y.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (l[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, r)) || (u ? l.setProperty(t, n) : l[t] = n)) + } + }, + css: function(e, t, n, r) { + var i, o, a, s = X(t); + return Xe.test(t) || (t = ze(s)), (a = S.cssHooks[t] || S.cssHooks[s]) && "get" in a && (i = a.get(e, !0, n)), void 0 === i && (i = We(e, t, r)), "normal" === i && t in Ge && (i = Ge[t]), "" === n || n ? (o = parseFloat(i), !0 === n || isFinite(o) ? o || 0 : i) : i + } + }), S.each(["height", "width"], function(e, u) { + S.cssHooks[u] = { + get: function(e, t, n) { + if (t) return !Ue.test(S.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? Je(e, u, n) : Me(e, Ve, function() { + return Je(e, u, n) + }) + }, + set: function(e, t, n) { + var r, i = Re(e), + o = !y.scrollboxSize() && "absolute" === i.position, + a = (o || n) && "border-box" === S.css(e, "boxSizing", !1, i), + s = n ? Qe(e, u, n, a, i) : 0; + return a && o && (s -= Math.ceil(e["offset" + u[0].toUpperCase() + u.slice(1)] - parseFloat(i[u]) - Qe(e, u, "border", !1, i) - .5)), s && (r = te.exec(t)) && "px" !== (r[3] || "px") && (e.style[u] = t, t = S.css(e, u)), Ye(0, t, s) + } + } + }), S.cssHooks.marginLeft = Fe(y.reliableMarginLeft, function(e, t) { + if (t) return (parseFloat(We(e, "marginLeft")) || e.getBoundingClientRect().left - Me(e, { + marginLeft: 0 + }, function() { + return e.getBoundingClientRect().left + })) + "px" + }), S.each({ + margin: "", + padding: "", + border: "Width" + }, function(i, o) { + S.cssHooks[i + o] = { + expand: function(e) { + for (var t = 0, n = {}, r = "string" == typeof e ? e.split(" ") : [e]; t < 4; t++) n[i + ne[t] + o] = r[t] || r[t - 2] || r[0]; + return n + } + }, "margin" !== i && (S.cssHooks[i + o].set = Ye) + }), S.fn.extend({ + css: function(e, t) { + return $(this, function(e, t, n) { + var r, i, o = {}, + a = 0; + if (Array.isArray(t)) { + for (r = Re(e), i = t.length; a < i; a++) o[t[a]] = S.css(e, t[a], !1, r); + return o + } + return void 0 !== n ? S.style(e, t, n) : S.css(e, t) + }, e, t, 1 < arguments.length) + } + }), ((S.Tween = Ke).prototype = { + constructor: Ke, + init: function(e, t, n, r, i, o) { + this.elem = e, this.prop = n, this.easing = i || S.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (S.cssNumber[n] ? "" : "px") + }, + cur: function() { + var e = Ke.propHooks[this.prop]; + return e && e.get ? e.get(this) : Ke.propHooks._default.get(this) + }, + run: function(e) { + var t, n = Ke.propHooks[this.prop]; + return this.options.duration ? this.pos = t = S.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : Ke.propHooks._default.set(this), this + } + }).init.prototype = Ke.prototype, (Ke.propHooks = { + _default: { + get: function(e) { + var t; + return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = S.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0 + }, + set: function(e) { + S.fx.step[e.prop] ? S.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !S.cssHooks[e.prop] && null == e.elem.style[ze(e.prop)] ? e.elem[e.prop] = e.now : S.style(e.elem, e.prop, e.now + e.unit) + } + } + }).scrollTop = Ke.propHooks.scrollLeft = { + set: function(e) { + e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) + } + }, S.easing = { + linear: function(e) { + return e + }, + swing: function(e) { + return .5 - Math.cos(e * Math.PI) / 2 + }, + _default: "swing" + }, S.fx = Ke.prototype.init, S.fx.step = {}; + var Ze, et, tt, nt, rt = /^(?:toggle|show|hide)$/, + it = /queueHooks$/; + + function ot() { + et && (!1 === E.hidden && C.requestAnimationFrame ? C.requestAnimationFrame(ot) : C.setTimeout(ot, S.fx.interval), S.fx.tick()) + } + + function at() { + return C.setTimeout(function() { + Ze = void 0 + }), Ze = Date.now() + } + + function st(e, t) { + var n, r = 0, + i = { + height: e + }; + for (t = t ? 1 : 0; r < 4; r += 2 - t) i["margin" + (n = ne[r])] = i["padding" + n] = e; + return t && (i.opacity = i.width = e), i + } + + function ut(e, t, n) { + for (var r, i = (lt.tweeners[t] || []).concat(lt.tweeners["*"]), o = 0, a = i.length; o < a; o++) + if (r = i[o].call(n, t, e)) return r + } + + function lt(o, e, t) { + var n, a, r = 0, + i = lt.prefilters.length, + s = S.Deferred().always(function() { + delete u.elem + }), + u = function() { + if (a) return !1; + for (var e = Ze || at(), t = Math.max(0, l.startTime + l.duration - e), n = 1 - (t / l.duration || 0), r = 0, i = l.tweens.length; r < i; r++) l.tweens[r].run(n); + return s.notifyWith(o, [l, n, t]), n < 1 && i ? t : (i || s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l]), !1) + }, + l = s.promise({ + elem: o, + props: S.extend({}, e), + opts: S.extend(!0, { + specialEasing: {}, + easing: S.easing._default + }, t), + originalProperties: e, + originalOptions: t, + startTime: Ze || at(), + duration: t.duration, + tweens: [], + createTween: function(e, t) { + var n = S.Tween(o, l.opts, e, t, l.opts.specialEasing[e] || l.opts.easing); + return l.tweens.push(n), n + }, + stop: function(e) { + var t = 0, + n = e ? l.tweens.length : 0; + if (a) return this; + for (a = !0; t < n; t++) l.tweens[t].run(1); + return e ? (s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l, e])) : s.rejectWith(o, [l, e]), this + } + }), + c = l.props; + for (! function(e, t) { + var n, r, i, o, a; + for (n in e) + if (i = t[r = X(n)], o = e[n], Array.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), (a = S.cssHooks[r]) && "expand" in a) + for (n in o = a.expand(o), delete e[r], o) n in e || (e[n] = o[n], t[n] = i); + else t[r] = i + }(c, l.opts.specialEasing); r < i; r++) + if (n = lt.prefilters[r].call(l, o, c, l.opts)) return m(n.stop) && (S._queueHooks(l.elem, l.opts.queue).stop = n.stop.bind(n)), n; + return S.map(c, ut, l), m(l.opts.start) && l.opts.start.call(o, l), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always), S.fx.timer(S.extend(u, { + elem: o, + anim: l, + queue: l.opts.queue + })), l + } + S.Animation = S.extend(lt, { + tweeners: { + "*": [function(e, t) { + var n = this.createTween(e, t); + return se(n.elem, e, te.exec(t), n), n + }] + }, + tweener: function(e, t) { + m(e) ? (t = e, e = ["*"]) : e = e.match(P); + for (var n, r = 0, i = e.length; r < i; r++) n = e[r], lt.tweeners[n] = lt.tweeners[n] || [], lt.tweeners[n].unshift(t) + }, + prefilters: [function(e, t, n) { + var r, i, o, a, s, u, l, c, f = "width" in t || "height" in t, + p = this, + d = {}, + h = e.style, + g = e.nodeType && ae(e), + v = Y.get(e, "fxshow"); + for (r in n.queue || (null == (a = S._queueHooks(e, "fx")).unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function() { + a.unqueued || s() + }), a.unqueued++, p.always(function() { + p.always(function() { + a.unqueued--, S.queue(e, "fx").length || a.empty.fire() + }) + })), t) + if (i = t[r], rt.test(i)) { + if (delete t[r], o = o || "toggle" === i, i === (g ? "hide" : "show")) { + if ("show" !== i || !v || void 0 === v[r]) continue; + g = !0 + } + d[r] = v && v[r] || S.style(e, r) + } + if ((u = !S.isEmptyObject(t)) || !S.isEmptyObject(d)) + for (r in f && 1 === e.nodeType && (n.overflow = [h.overflow, h.overflowX, h.overflowY], null == (l = v && v.display) && (l = Y.get(e, "display")), "none" === (c = S.css(e, "display")) && (l ? c = l : (le([e], !0), l = e.style.display || l, c = S.css(e, "display"), le([e]))), ("inline" === c || "inline-block" === c && null != l) && "none" === S.css(e, "float") && (u || (p.done(function() { + h.display = l + }), null == l && (c = h.display, l = "none" === c ? "" : c)), h.display = "inline-block")), n.overflow && (h.overflow = "hidden", p.always(function() { + h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2] + })), u = !1, d) u || (v ? "hidden" in v && (g = v.hidden) : v = Y.access(e, "fxshow", { + display: l + }), o && (v.hidden = !g), g && le([e], !0), p.done(function() { + for (r in g || le([e]), Y.remove(e, "fxshow"), d) S.style(e, r, d[r]) + })), u = ut(g ? v[r] : 0, r, p), r in v || (v[r] = u.start, g && (u.end = u.start, u.start = 0)) + }], + prefilter: function(e, t) { + t ? lt.prefilters.unshift(e) : lt.prefilters.push(e) + } + }), S.speed = function(e, t, n) { + var r = e && "object" == typeof e ? S.extend({}, e) : { + complete: n || !n && t || m(e) && e, + duration: e, + easing: n && t || t && !m(t) && t + }; + return S.fx.off ? r.duration = 0 : "number" != typeof r.duration && (r.duration in S.fx.speeds ? r.duration = S.fx.speeds[r.duration] : r.duration = S.fx.speeds._default), null != r.queue && !0 !== r.queue || (r.queue = "fx"), r.old = r.complete, r.complete = function() { + m(r.old) && r.old.call(this), r.queue && S.dequeue(this, r.queue) + }, r + }, S.fn.extend({ + fadeTo: function(e, t, n, r) { + return this.filter(ae).css("opacity", 0).show().end().animate({ + opacity: t + }, e, n, r) + }, + animate: function(t, e, n, r) { + var i = S.isEmptyObject(t), + o = S.speed(e, n, r), + a = function() { + var e = lt(this, S.extend({}, t), o); + (i || Y.get(this, "finish")) && e.stop(!0) + }; + return a.finish = a, i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a) + }, + stop: function(i, e, o) { + var a = function(e) { + var t = e.stop; + delete e.stop, t(o) + }; + return "string" != typeof i && (o = e, e = i, i = void 0), e && this.queue(i || "fx", []), this.each(function() { + var e = !0, + t = null != i && i + "queueHooks", + n = S.timers, + r = Y.get(this); + if (t) r[t] && r[t].stop && a(r[t]); + else + for (t in r) r[t] && r[t].stop && it.test(t) && a(r[t]); + for (t = n.length; t--;) n[t].elem !== this || null != i && n[t].queue !== i || (n[t].anim.stop(o), e = !1, n.splice(t, 1)); + !e && o || S.dequeue(this, i) + }) + }, + finish: function(a) { + return !1 !== a && (a = a || "fx"), this.each(function() { + var e, t = Y.get(this), + n = t[a + "queue"], + r = t[a + "queueHooks"], + i = S.timers, + o = n ? n.length : 0; + for (t.finish = !0, S.queue(this, a, []), r && r.stop && r.stop.call(this, !0), e = i.length; e--;) i[e].elem === this && i[e].queue === a && (i[e].anim.stop(!0), i.splice(e, 1)); + for (e = 0; e < o; e++) n[e] && n[e].finish && n[e].finish.call(this); + delete t.finish + }) + } + }), S.each(["toggle", "show", "hide"], function(e, r) { + var i = S.fn[r]; + S.fn[r] = function(e, t, n) { + return null == e || "boolean" == typeof e ? i.apply(this, arguments) : this.animate(st(r, !0), e, t, n) + } + }), S.each({ + slideDown: st("show"), + slideUp: st("hide"), + slideToggle: st("toggle"), + fadeIn: { + opacity: "show" + }, + fadeOut: { + opacity: "hide" + }, + fadeToggle: { + opacity: "toggle" + } + }, function(e, r) { + S.fn[e] = function(e, t, n) { + return this.animate(r, e, t, n) + } + }), S.timers = [], S.fx.tick = function() { + var e, t = 0, + n = S.timers; + for (Ze = Date.now(); t < n.length; t++)(e = n[t])() || n[t] !== e || n.splice(t--, 1); + n.length || S.fx.stop(), Ze = void 0 + }, S.fx.timer = function(e) { + S.timers.push(e), S.fx.start() + }, S.fx.interval = 13, S.fx.start = function() { + et || (et = !0, ot()) + }, S.fx.stop = function() { + et = null + }, S.fx.speeds = { + slow: 600, + fast: 200, + _default: 400 + }, S.fn.delay = function(r, e) { + return r = S.fx && S.fx.speeds[r] || r, e = e || "fx", this.queue(e, function(e, t) { + var n = C.setTimeout(e, r); + t.stop = function() { + C.clearTimeout(n) + } + }) + }, tt = E.createElement("input"), nt = E.createElement("select").appendChild(E.createElement("option")), tt.type = "checkbox", y.checkOn = "" !== tt.value, y.optSelected = nt.selected, (tt = E.createElement("input")).value = "t", tt.type = "radio", y.radioValue = "t" === tt.value; + var ct, ft = S.expr.attrHandle; + S.fn.extend({ + attr: function(e, t) { + return $(this, S.attr, e, t, 1 < arguments.length) + }, + removeAttr: function(e) { + return this.each(function() { + S.removeAttr(this, e) + }) + } + }), S.extend({ + attr: function(e, t, n) { + var r, i, o = e.nodeType; + if (3 !== o && 8 !== o && 2 !== o) return "undefined" == typeof e.getAttribute ? S.prop(e, t, n) : (1 === o && S.isXMLDoc(e) || (i = S.attrHooks[t.toLowerCase()] || (S.expr.match.bool.test(t) ? ct : void 0)), void 0 !== n ? null === n ? void S.removeAttr(e, t) : i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : (e.setAttribute(t, n + ""), n) : i && "get" in i && null !== (r = i.get(e, t)) ? r : null == (r = S.find.attr(e, t)) ? void 0 : r) + }, + attrHooks: { + type: { + set: function(e, t) { + if (!y.radioValue && "radio" === t && A(e, "input")) { + var n = e.value; + return e.setAttribute("type", t), n && (e.value = n), t + } + } + } + }, + removeAttr: function(e, t) { + var n, r = 0, + i = t && t.match(P); + if (i && 1 === e.nodeType) + while (n = i[r++]) e.removeAttribute(n) + } + }), ct = { + set: function(e, t, n) { + return !1 === t ? S.removeAttr(e, n) : e.setAttribute(n, n), n + } + }, S.each(S.expr.match.bool.source.match(/\w+/g), function(e, t) { + var a = ft[t] || S.find.attr; + ft[t] = function(e, t, n) { + var r, i, o = t.toLowerCase(); + return n || (i = ft[o], ft[o] = r, r = null != a(e, t, n) ? o : null, ft[o] = i), r + } + }); + var pt = /^(?:input|select|textarea|button)$/i, + dt = /^(?:a|area)$/i; + + function ht(e) { + return (e.match(P) || []).join(" ") + } + + function gt(e) { + return e.getAttribute && e.getAttribute("class") || "" + } + + function vt(e) { + return Array.isArray(e) ? e : "string" == typeof e && e.match(P) || [] + } + S.fn.extend({ + prop: function(e, t) { + return $(this, S.prop, e, t, 1 < arguments.length) + }, + removeProp: function(e) { + return this.each(function() { + delete this[S.propFix[e] || e] + }) + } + }), S.extend({ + prop: function(e, t, n) { + var r, i, o = e.nodeType; + if (3 !== o && 8 !== o && 2 !== o) return 1 === o && S.isXMLDoc(e) || (t = S.propFix[t] || t, i = S.propHooks[t]), void 0 !== n ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get" in i && null !== (r = i.get(e, t)) ? r : e[t] + }, + propHooks: { + tabIndex: { + get: function(e) { + var t = S.find.attr(e, "tabindex"); + return t ? parseInt(t, 10) : pt.test(e.nodeName) || dt.test(e.nodeName) && e.href ? 0 : -1 + } + } + }, + propFix: { + "for": "htmlFor", + "class": "className" + } + }), y.optSelected || (S.propHooks.selected = { + get: function(e) { + var t = e.parentNode; + return t && t.parentNode && t.parentNode.selectedIndex, null + }, + set: function(e) { + var t = e.parentNode; + t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex) + } + }), S.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() { + S.propFix[this.toLowerCase()] = this + }), S.fn.extend({ + addClass: function(t) { + var e, n, r, i, o, a, s, u = 0; + if (m(t)) return this.each(function(e) { + S(this).addClass(t.call(this, e, gt(this))) + }); + if ((e = vt(t)).length) + while (n = this[u++]) + if (i = gt(n), r = 1 === n.nodeType && " " + ht(i) + " ") { + a = 0; + while (o = e[a++]) r.indexOf(" " + o + " ") < 0 && (r += o + " "); + i !== (s = ht(r)) && n.setAttribute("class", s) + } + return this + }, + removeClass: function(t) { + var e, n, r, i, o, a, s, u = 0; + if (m(t)) return this.each(function(e) { + S(this).removeClass(t.call(this, e, gt(this))) + }); + if (!arguments.length) return this.attr("class", ""); + if ((e = vt(t)).length) + while (n = this[u++]) + if (i = gt(n), r = 1 === n.nodeType && " " + ht(i) + " ") { + a = 0; + while (o = e[a++]) + while (-1 < r.indexOf(" " + o + " ")) r = r.replace(" " + o + " ", " "); + i !== (s = ht(r)) && n.setAttribute("class", s) + } + return this + }, + toggleClass: function(i, t) { + var o = typeof i, + a = "string" === o || Array.isArray(i); + return "boolean" == typeof t && a ? t ? this.addClass(i) : this.removeClass(i) : m(i) ? this.each(function(e) { + S(this).toggleClass(i.call(this, e, gt(this), t), t) + }) : this.each(function() { + var e, t, n, r; + if (a) { + t = 0, n = S(this), r = vt(i); + while (e = r[t++]) n.hasClass(e) ? n.removeClass(e) : n.addClass(e) + } else void 0 !== i && "boolean" !== o || ((e = gt(this)) && Y.set(this, "__className__", e), this.setAttribute && this.setAttribute("class", e || !1 === i ? "" : Y.get(this, "__className__") || "")) + }) + }, + hasClass: function(e) { + var t, n, r = 0; + t = " " + e + " "; + while (n = this[r++]) + if (1 === n.nodeType && -1 < (" " + ht(gt(n)) + " ").indexOf(t)) return !0; + return !1 + } + }); + var yt = /\r/g; + S.fn.extend({ + val: function(n) { + var r, e, i, t = this[0]; + return arguments.length ? (i = m(n), this.each(function(e) { + var t; + 1 === this.nodeType && (null == (t = i ? n.call(this, e, S(this).val()) : n) ? t = "" : "number" == typeof t ? t += "" : Array.isArray(t) && (t = S.map(t, function(e) { + return null == e ? "" : e + "" + })), (r = S.valHooks[this.type] || S.valHooks[this.nodeName.toLowerCase()]) && "set" in r && void 0 !== r.set(this, t, "value") || (this.value = t)) + })) : t ? (r = S.valHooks[t.type] || S.valHooks[t.nodeName.toLowerCase()]) && "get" in r && void 0 !== (e = r.get(t, "value")) ? e : "string" == typeof(e = t.value) ? e.replace(yt, "") : null == e ? "" : e : void 0 + } + }), S.extend({ + valHooks: { + option: { + get: function(e) { + var t = S.find.attr(e, "value"); + return null != t ? t : ht(S.text(e)) + } + }, + select: { + get: function(e) { + var t, n, r, i = e.options, + o = e.selectedIndex, + a = "select-one" === e.type, + s = a ? null : [], + u = a ? o + 1 : i.length; + for (r = o < 0 ? u : a ? o : 0; r < u; r++) + if (((n = i[r]).selected || r === o) && !n.disabled && (!n.parentNode.disabled || !A(n.parentNode, "optgroup"))) { + if (t = S(n).val(), a) return t; + s.push(t) + } + return s + }, + set: function(e, t) { + var n, r, i = e.options, + o = S.makeArray(t), + a = i.length; + while (a--)((r = i[a]).selected = -1 < S.inArray(S.valHooks.option.get(r), o)) && (n = !0); + return n || (e.selectedIndex = -1), o + } + } + } + }), S.each(["radio", "checkbox"], function() { + S.valHooks[this] = { + set: function(e, t) { + if (Array.isArray(t)) return e.checked = -1 < S.inArray(S(e).val(), t) + } + }, y.checkOn || (S.valHooks[this].get = function(e) { + return null === e.getAttribute("value") ? "on" : e.value + }) + }), y.focusin = "onfocusin" in C; + var mt = /^(?:focusinfocus|focusoutblur)$/, + xt = function(e) { + e.stopPropagation() + }; + S.extend(S.event, { + trigger: function(e, t, n, r) { + var i, o, a, s, u, l, c, f, p = [n || E], + d = v.call(e, "type") ? e.type : e, + h = v.call(e, "namespace") ? e.namespace.split(".") : []; + if (o = f = a = n = n || E, 3 !== n.nodeType && 8 !== n.nodeType && !mt.test(d + S.event.triggered) && (-1 < d.indexOf(".") && (d = (h = d.split(".")).shift(), h.sort()), u = d.indexOf(":") < 0 && "on" + d, (e = e[S.expando] ? e : new S.Event(d, "object" == typeof e && e)).isTrigger = r ? 2 : 3, e.namespace = h.join("."), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = n), t = null == t ? [e] : S.makeArray(t, [e]), c = S.event.special[d] || {}, r || !c.trigger || !1 !== c.trigger.apply(n, t))) { + if (!r && !c.noBubble && !x(n)) { + for (s = c.delegateType || d, mt.test(s + d) || (o = o.parentNode); o; o = o.parentNode) p.push(o), a = o; + a === (n.ownerDocument || E) && p.push(a.defaultView || a.parentWindow || C) + } + i = 0; + while ((o = p[i++]) && !e.isPropagationStopped()) f = o, e.type = 1 < i ? s : c.bindType || d, (l = (Y.get(o, "events") || Object.create(null))[e.type] && Y.get(o, "handle")) && l.apply(o, t), (l = u && o[u]) && l.apply && V(o) && (e.result = l.apply(o, t), !1 === e.result && e.preventDefault()); + return e.type = d, r || e.isDefaultPrevented() || c._default && !1 !== c._default.apply(p.pop(), t) || !V(n) || u && m(n[d]) && !x(n) && ((a = n[u]) && (n[u] = null), S.event.triggered = d, e.isPropagationStopped() && f.addEventListener(d, xt), n[d](), e.isPropagationStopped() && f.removeEventListener(d, xt), S.event.triggered = void 0, a && (n[u] = a)), e.result + } + }, + simulate: function(e, t, n) { + var r = S.extend(new S.Event, n, { + type: e, + isSimulated: !0 + }); + S.event.trigger(r, null, t) + } + }), S.fn.extend({ + trigger: function(e, t) { + return this.each(function() { + S.event.trigger(e, t, this) + }) + }, + triggerHandler: function(e, t) { + var n = this[0]; + if (n) return S.event.trigger(e, t, n, !0) + } + }), y.focusin || S.each({ + focus: "focusin", + blur: "focusout" + }, function(n, r) { + var i = function(e) { + S.event.simulate(r, e.target, S.event.fix(e)) + }; + S.event.special[r] = { + setup: function() { + var e = this.ownerDocument || this.document || this, + t = Y.access(e, r); + t || e.addEventListener(n, i, !0), Y.access(e, r, (t || 0) + 1) + }, + teardown: function() { + var e = this.ownerDocument || this.document || this, + t = Y.access(e, r) - 1; + t ? Y.access(e, r, t) : (e.removeEventListener(n, i, !0), Y.remove(e, r)) + } + } + }); + var bt = C.location, + wt = { + guid: Date.now() + }, + Tt = /\?/; + S.parseXML = function(e) { + var t, n; + if (!e || "string" != typeof e) return null; + try { + t = (new C.DOMParser).parseFromString(e, "text/xml") + } catch (e) {} + return n = t && t.getElementsByTagName("parsererror")[0], t && !n || S.error("Invalid XML: " + (n ? S.map(n.childNodes, function(e) { + return e.textContent + }).join("\n") : e)), t + }; + var Ct = /\[\]$/, + Et = /\r?\n/g, + St = /^(?:submit|button|image|reset|file)$/i, + kt = /^(?:input|select|textarea|keygen)/i; + + function At(n, e, r, i) { + var t; + if (Array.isArray(e)) S.each(e, function(e, t) { + r || Ct.test(n) ? i(n, t) : At(n + "[" + ("object" == typeof t && null != t ? e : "") + "]", t, r, i) + }); + else if (r || "object" !== w(e)) i(n, e); + else + for (t in e) At(n + "[" + t + "]", e[t], r, i) + } + S.param = function(e, t) { + var n, r = [], + i = function(e, t) { + var n = m(t) ? t() : t; + r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n) + }; + if (null == e) return ""; + if (Array.isArray(e) || e.jquery && !S.isPlainObject(e)) S.each(e, function() { + i(this.name, this.value) + }); + else + for (n in e) At(n, e[n], t, i); + return r.join("&") + }, S.fn.extend({ + serialize: function() { + return S.param(this.serializeArray()) + }, + serializeArray: function() { + return this.map(function() { + var e = S.prop(this, "elements"); + return e ? S.makeArray(e) : this + }).filter(function() { + var e = this.type; + return this.name && !S(this).is(":disabled") && kt.test(this.nodeName) && !St.test(e) && (this.checked || !pe.test(e)) + }).map(function(e, t) { + var n = S(this).val(); + return null == n ? null : Array.isArray(n) ? S.map(n, function(e) { + return { + name: t.name, + value: e.replace(Et, "\r\n") + } + }) : { + name: t.name, + value: n.replace(Et, "\r\n") + } + }).get() + } + }); + var Nt = /%20/g, + jt = /#.*$/, + Dt = /([?&])_=[^&]*/, + qt = /^(.*?):[ \t]*([^\r\n]*)$/gm, + Lt = /^(?:GET|HEAD)$/, + Ht = /^\/\//, + Ot = {}, + Pt = {}, + Rt = "*/".concat("*"), + Mt = E.createElement("a"); + + function It(o) { + return function(e, t) { + "string" != typeof e && (t = e, e = "*"); + var n, r = 0, + i = e.toLowerCase().match(P) || []; + if (m(t)) + while (n = i[r++]) "+" === n[0] ? (n = n.slice(1) || "*", (o[n] = o[n] || []).unshift(t)) : (o[n] = o[n] || []).push(t) + } + } + + function Wt(t, i, o, a) { + var s = {}, + u = t === Pt; + + function l(e) { + var r; + return s[e] = !0, S.each(t[e] || [], function(e, t) { + var n = t(i, o, a); + return "string" != typeof n || u || s[n] ? u ? !(r = n) : void 0 : (i.dataTypes.unshift(n), l(n), !1) + }), r + } + return l(i.dataTypes[0]) || !s["*"] && l("*") + } + + function Ft(e, t) { + var n, r, i = S.ajaxSettings.flatOptions || {}; + for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); + return r && S.extend(!0, e, r), e + } + Mt.href = bt.href, S.extend({ + active: 0, + lastModified: {}, + etag: {}, + ajaxSettings: { + url: bt.href, + type: "GET", + isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol), + global: !0, + processData: !0, + async: !0, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + accepts: { + "*": Rt, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + converters: { + "* text": String, + "text html": !0, + "text json": JSON.parse, + "text xml": S.parseXML + }, + flatOptions: { + url: !0, + context: !0 + } + }, + ajaxSetup: function(e, t) { + return t ? Ft(Ft(e, S.ajaxSettings), t) : Ft(S.ajaxSettings, e) + }, + ajaxPrefilter: It(Ot), + ajaxTransport: It(Pt), + ajax: function(e, t) { + "object" == typeof e && (t = e, e = void 0), t = t || {}; + var c, f, p, n, d, r, h, g, i, o, v = S.ajaxSetup({}, t), + y = v.context || v, + m = v.context && (y.nodeType || y.jquery) ? S(y) : S.event, + x = S.Deferred(), + b = S.Callbacks("once memory"), + w = v.statusCode || {}, + a = {}, + s = {}, + u = "canceled", + T = { + readyState: 0, + getResponseHeader: function(e) { + var t; + if (h) { + if (!n) { + n = {}; + while (t = qt.exec(p)) n[t[1].toLowerCase() + " "] = (n[t[1].toLowerCase() + " "] || []).concat(t[2]) + } + t = n[e.toLowerCase() + " "] + } + return null == t ? null : t.join(", ") + }, + getAllResponseHeaders: function() { + return h ? p : null + }, + setRequestHeader: function(e, t) { + return null == h && (e = s[e.toLowerCase()] = s[e.toLowerCase()] || e, a[e] = t), this + }, + overrideMimeType: function(e) { + return null == h && (v.mimeType = e), this + }, + statusCode: function(e) { + var t; + if (e) + if (h) T.always(e[T.status]); + else + for (t in e) w[t] = [w[t], e[t]]; + return this + }, + abort: function(e) { + var t = e || u; + return c && c.abort(t), l(0, t), this + } + }; + if (x.promise(T), v.url = ((e || v.url || bt.href) + "").replace(Ht, bt.protocol + "//"), v.type = t.method || t.type || v.method || v.type, v.dataTypes = (v.dataType || "*").toLowerCase().match(P) || [""], null == v.crossDomain) { + r = E.createElement("a"); + try { + r.href = v.url, r.href = r.href, v.crossDomain = Mt.protocol + "//" + Mt.host != r.protocol + "//" + r.host + } catch (e) { + v.crossDomain = !0 + } + } + if (v.data && v.processData && "string" != typeof v.data && (v.data = S.param(v.data, v.traditional)), Wt(Ot, v, t, T), h) return T; + for (i in (g = S.event && v.global) && 0 == S.active++ && S.event.trigger("ajaxStart"), v.type = v.type.toUpperCase(), v.hasContent = !Lt.test(v.type), f = v.url.replace(jt, ""), v.hasContent ? v.data && v.processData && 0 === (v.contentType || "").indexOf("application/x-www-form-urlencoded") && (v.data = v.data.replace(Nt, "+")) : (o = v.url.slice(f.length), v.data && (v.processData || "string" == typeof v.data) && (f += (Tt.test(f) ? "&" : "?") + v.data, delete v.data), !1 === v.cache && (f = f.replace(Dt, "$1"), o = (Tt.test(f) ? "&" : "?") + "_=" + wt.guid++ + o), v.url = f + o), v.ifModified && (S.lastModified[f] && T.setRequestHeader("If-Modified-Since", S.lastModified[f]), S.etag[f] && T.setRequestHeader("If-None-Match", S.etag[f])), (v.data && v.hasContent && !1 !== v.contentType || t.contentType) && T.setRequestHeader("Content-Type", v.contentType), T.setRequestHeader("Accept", v.dataTypes[0] && v.accepts[v.dataTypes[0]] ? v.accepts[v.dataTypes[0]] + ("*" !== v.dataTypes[0] ? ", " + Rt + "; q=0.01" : "") : v.accepts["*"]), v.headers) T.setRequestHeader(i, v.headers[i]); + if (v.beforeSend && (!1 === v.beforeSend.call(y, T, v) || h)) return T.abort(); + if (u = "abort", b.add(v.complete), T.done(v.success), T.fail(v.error), c = Wt(Pt, v, t, T)) { + if (T.readyState = 1, g && m.trigger("ajaxSend", [T, v]), h) return T; + v.async && 0 < v.timeout && (d = C.setTimeout(function() { + T.abort("timeout") + }, v.timeout)); + try { + h = !1, c.send(a, l) + } catch (e) { + if (h) throw e; + l(-1, e) + } + } else l(-1, "No Transport"); + + function l(e, t, n, r) { + var i, o, a, s, u, l = t; + h || (h = !0, d && C.clearTimeout(d), c = void 0, p = r || "", T.readyState = 0 < e ? 4 : 0, i = 200 <= e && e < 300 || 304 === e, n && (s = function(e, t, n) { + var r, i, o, a, s = e.contents, + u = e.dataTypes; + while ("*" === u[0]) u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type")); + if (r) + for (i in s) + if (s[i] && s[i].test(r)) { + u.unshift(i); + break + } + if (u[0] in n) o = u[0]; + else { + for (i in n) { + if (!u[0] || e.converters[i + " " + u[0]]) { + o = i; + break + } + a || (a = i) + } + o = o || a + } + if (o) return o !== u[0] && u.unshift(o), n[o] + }(v, T, n)), !i && -1 < S.inArray("script", v.dataTypes) && S.inArray("json", v.dataTypes) < 0 && (v.converters["text script"] = function() {}), s = function(e, t, n, r) { + var i, o, a, s, u, l = {}, + c = e.dataTypes.slice(); + if (c[1]) + for (a in e.converters) l[a.toLowerCase()] = e.converters[a]; + o = c.shift(); + while (o) + if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift()) + if ("*" === o) o = u; + else if ("*" !== u && u !== o) { + if (!(a = l[u + " " + o] || l["* " + o])) + for (i in l) + if ((s = i.split(" "))[1] === o && (a = l[u + " " + s[0]] || l["* " + s[0]])) { + !0 === a ? a = l[i] : !0 !== l[i] && (o = s[0], c.unshift(s[1])); + break + } + if (!0 !== a) + if (a && e["throws"]) t = a(t); + else try { + t = a(t) + } catch (e) { + return { + state: "parsererror", + error: a ? e : "No conversion from " + u + " to " + o + } + } + } + return { + state: "success", + data: t + } + }(v, s, T, i), i ? (v.ifModified && ((u = T.getResponseHeader("Last-Modified")) && (S.lastModified[f] = u), (u = T.getResponseHeader("etag")) && (S.etag[f] = u)), 204 === e || "HEAD" === v.type ? l = "nocontent" : 304 === e ? l = "notmodified" : (l = s.state, o = s.data, i = !(a = s.error))) : (a = l, !e && l || (l = "error", e < 0 && (e = 0))), T.status = e, T.statusText = (t || l) + "", i ? x.resolveWith(y, [o, l, T]) : x.rejectWith(y, [T, l, a]), T.statusCode(w), w = void 0, g && m.trigger(i ? "ajaxSuccess" : "ajaxError", [T, v, i ? o : a]), b.fireWith(y, [T, l]), g && (m.trigger("ajaxComplete", [T, v]), --S.active || S.event.trigger("ajaxStop"))) + } + return T + }, + getJSON: function(e, t, n) { + return S.get(e, t, n, "json") + }, + getScript: function(e, t) { + return S.get(e, void 0, t, "script") + } + }), S.each(["get", "post"], function(e, i) { + S[i] = function(e, t, n, r) { + return m(t) && (r = r || n, n = t, t = void 0), S.ajax(S.extend({ + url: e, + type: i, + dataType: r, + data: t, + success: n + }, S.isPlainObject(e) && e)) + } + }), S.ajaxPrefilter(function(e) { + var t; + for (t in e.headers) "content-type" === t.toLowerCase() && (e.contentType = e.headers[t] || "") + }), S._evalUrl = function(e, t, n) { + return S.ajax({ + url: e, + type: "GET", + dataType: "script", + cache: !0, + async: !1, + global: !1, + converters: { + "text script": function() {} + }, + dataFilter: function(e) { + S.globalEval(e, t, n) + } + }) + }, S.fn.extend({ + wrapAll: function(e) { + var t; + return this[0] && (m(e) && (e = e.call(this[0])), t = S(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function() { + var e = this; + while (e.firstElementChild) e = e.firstElementChild; + return e + }).append(this)), this + }, + wrapInner: function(n) { + return m(n) ? this.each(function(e) { + S(this).wrapInner(n.call(this, e)) + }) : this.each(function() { + var e = S(this), + t = e.contents(); + t.length ? t.wrapAll(n) : e.append(n) + }) + }, + wrap: function(t) { + var n = m(t); + return this.each(function(e) { + S(this).wrapAll(n ? t.call(this, e) : t) + }) + }, + unwrap: function(e) { + return this.parent(e).not("body").each(function() { + S(this).replaceWith(this.childNodes) + }), this + } + }), S.expr.pseudos.hidden = function(e) { + return !S.expr.pseudos.visible(e) + }, S.expr.pseudos.visible = function(e) { + return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length) + }, S.ajaxSettings.xhr = function() { + try { + return new C.XMLHttpRequest + } catch (e) {} + }; + var Bt = { + 0: 200, + 1223: 204 + }, + $t = S.ajaxSettings.xhr(); + y.cors = !!$t && "withCredentials" in $t, y.ajax = $t = !!$t, S.ajaxTransport(function(i) { + var o, a; + if (y.cors || $t && !i.crossDomain) return { + send: function(e, t) { + var n, r = i.xhr(); + if (r.open(i.type, i.url, i.async, i.username, i.password), i.xhrFields) + for (n in i.xhrFields) r[n] = i.xhrFields[n]; + for (n in i.mimeType && r.overrideMimeType && r.overrideMimeType(i.mimeType), i.crossDomain || e["X-Requested-With"] || (e["X-Requested-With"] = "XMLHttpRequest"), e) r.setRequestHeader(n, e[n]); + o = function(e) { + return function() { + o && (o = a = r.onload = r.onerror = r.onabort = r.ontimeout = r.onreadystatechange = null, "abort" === e ? r.abort() : "error" === e ? "number" != typeof r.status ? t(0, "error") : t(r.status, r.statusText) : t(Bt[r.status] || r.status, r.statusText, "text" !== (r.responseType || "text") || "string" != typeof r.responseText ? { + binary: r.response + } : { + text: r.responseText + }, r.getAllResponseHeaders())) + } + }, r.onload = o(), a = r.onerror = r.ontimeout = o("error"), void 0 !== r.onabort ? r.onabort = a : r.onreadystatechange = function() { + 4 === r.readyState && C.setTimeout(function() { + o && a() + }) + }, o = o("abort"); + try { + r.send(i.hasContent && i.data || null) + } catch (e) { + if (o) throw e + } + }, + abort: function() { + o && o() + } + } + }), S.ajaxPrefilter(function(e) { + e.crossDomain && (e.contents.script = !1) + }), S.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function(e) { + return S.globalEval(e), e + } + } + }), S.ajaxPrefilter("script", function(e) { + void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET") + }), S.ajaxTransport("script", function(n) { + var r, i; + if (n.crossDomain || n.scriptAttrs) return { + send: function(e, t) { + r = S("<script>").attr(n.scriptAttrs || {}).prop({ + charset: n.scriptCharset, + src: n.url + }).on("load error", i = function(e) { + r.remove(), i = null, e && t("error" === e.type ? 404 : 200, e.type) + }), E.head.appendChild(r[0]) + }, + abort: function() { + i && i() + } + } + }); + var _t, zt = [], + Ut = /(=)\?(?=&|$)|\?\?/; + S.ajaxSetup({ + jsonp: "callback", + jsonpCallback: function() { + var e = zt.pop() || S.expando + "_" + wt.guid++; + return this[e] = !0, e + } + }), S.ajaxPrefilter("json jsonp", function(e, t, n) { + var r, i, o, a = !1 !== e.jsonp && (Ut.test(e.url) ? "url" : "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && Ut.test(e.data) && "data"); + if (a || "jsonp" === e.dataTypes[0]) return r = e.jsonpCallback = m(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback, a ? e[a] = e[a].replace(Ut, "$1" + r) : !1 !== e.jsonp && (e.url += (Tt.test(e.url) ? "&" : "?") + e.jsonp + "=" + r), e.converters["script json"] = function() { + return o || S.error(r + " was not called"), o[0] + }, e.dataTypes[0] = "json", i = C[r], C[r] = function() { + o = arguments + }, n.always(function() { + void 0 === i ? S(C).removeProp(r) : C[r] = i, e[r] && (e.jsonpCallback = t.jsonpCallback, zt.push(r)), o && m(i) && i(o[0]), o = i = void 0 + }), "script" + }), y.createHTMLDocument = ((_t = E.implementation.createHTMLDocument("").body).innerHTML = "<form></form><form></form>", 2 === _t.childNodes.length), S.parseHTML = function(e, t, n) { + return "string" != typeof e ? [] : ("boolean" == typeof t && (n = t, t = !1), t || (y.createHTMLDocument ? ((r = (t = E.implementation.createHTMLDocument("")).createElement("base")).href = E.location.href, t.head.appendChild(r)) : t = E), o = !n && [], (i = N.exec(e)) ? [t.createElement(i[1])] : (i = xe([e], t, o), o && o.length && S(o).remove(), S.merge([], i.childNodes))); + var r, i, o + }, S.fn.load = function(e, t, n) { + var r, i, o, a = this, + s = e.indexOf(" "); + return -1 < s && (r = ht(e.slice(s)), e = e.slice(0, s)), m(t) ? (n = t, t = void 0) : t && "object" == typeof t && (i = "POST"), 0 < a.length && S.ajax({ + url: e, + type: i || "GET", + dataType: "html", + data: t + }).done(function(e) { + o = arguments, a.html(r ? S("<div>").append(S.parseHTML(e)).find(r) : e) + }).always(n && function(e, t) { + a.each(function() { + n.apply(this, o || [e.responseText, t, e]) + }) + }), this + }, S.expr.pseudos.animated = function(t) { + return S.grep(S.timers, function(e) { + return t === e.elem + }).length + }, S.offset = { + setOffset: function(e, t, n) { + var r, i, o, a, s, u, l = S.css(e, "position"), + c = S(e), + f = {}; + "static" === l && (e.style.position = "relative"), s = c.offset(), o = S.css(e, "top"), u = S.css(e, "left"), ("absolute" === l || "fixed" === l) && -1 < (o + u).indexOf("auto") ? (a = (r = c.position()).top, i = r.left) : (a = parseFloat(o) || 0, i = parseFloat(u) || 0), m(t) && (t = t.call(e, n, S.extend({}, s))), null != t.top && (f.top = t.top - s.top + a), null != t.left && (f.left = t.left - s.left + i), "using" in t ? t.using.call(e, f) : c.css(f) + } + }, S.fn.extend({ + offset: function(t) { + if (arguments.length) return void 0 === t ? this : this.each(function(e) { + S.offset.setOffset(this, t, e) + }); + var e, n, r = this[0]; + return r ? r.getClientRects().length ? (e = r.getBoundingClientRect(), n = r.ownerDocument.defaultView, { + top: e.top + n.pageYOffset, + left: e.left + n.pageXOffset + }) : { + top: 0, + left: 0 + } : void 0 + }, + position: function() { + if (this[0]) { + var e, t, n, r = this[0], + i = { + top: 0, + left: 0 + }; + if ("fixed" === S.css(r, "position")) t = r.getBoundingClientRect(); + else { + t = this.offset(), n = r.ownerDocument, e = r.offsetParent || n.documentElement; + while (e && (e === n.body || e === n.documentElement) && "static" === S.css(e, "position")) e = e.parentNode; + e && e !== r && 1 === e.nodeType && ((i = S(e).offset()).top += S.css(e, "borderTopWidth", !0), i.left += S.css(e, "borderLeftWidth", !0)) + } + return { + top: t.top - i.top - S.css(r, "marginTop", !0), + left: t.left - i.left - S.css(r, "marginLeft", !0) + } + } + }, + offsetParent: function() { + return this.map(function() { + var e = this.offsetParent; + while (e && "static" === S.css(e, "position")) e = e.offsetParent; + return e || re + }) + } + }), S.each({ + scrollLeft: "pageXOffset", + scrollTop: "pageYOffset" + }, function(t, i) { + var o = "pageYOffset" === i; + S.fn[t] = function(e) { + return $(this, function(e, t, n) { + var r; + if (x(e) ? r = e : 9 === e.nodeType && (r = e.defaultView), void 0 === n) return r ? r[i] : e[t]; + r ? r.scrollTo(o ? r.pageXOffset : n, o ? n : r.pageYOffset) : e[t] = n + }, t, e, arguments.length) + } + }), S.each(["top", "left"], function(e, n) { + S.cssHooks[n] = Fe(y.pixelPosition, function(e, t) { + if (t) return t = We(e, n), Pe.test(t) ? S(e).position()[n] + "px" : t + }) + }), S.each({ + Height: "height", + Width: "width" + }, function(a, s) { + S.each({ + padding: "inner" + a, + content: s, + "": "outer" + a + }, function(r, o) { + S.fn[o] = function(e, t) { + var n = arguments.length && (r || "boolean" != typeof e), + i = r || (!0 === e || !0 === t ? "margin" : "border"); + return $(this, function(e, t, n) { + var r; + return x(e) ? 0 === o.indexOf("outer") ? e["inner" + a] : e.document.documentElement["client" + a] : 9 === e.nodeType ? (r = e.documentElement, Math.max(e.body["scroll" + a], r["scroll" + a], e.body["offset" + a], r["offset" + a], r["client" + a])) : void 0 === n ? S.css(e, t, i) : S.style(e, t, n, i) + }, s, n ? e : void 0, n) + } + }) + }), S.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(e, t) { + S.fn[t] = function(e) { + return this.on(t, e) + } + }), S.fn.extend({ + bind: function(e, t, n) { + return this.on(e, null, t, n) + }, + unbind: function(e, t) { + return this.off(e, null, t) + }, + delegate: function(e, t, n, r) { + return this.on(t, e, n, r) + }, + undelegate: function(e, t, n) { + return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n) + }, + hover: function(e, t) { + return this.mouseenter(e).mouseleave(t || e) + } + }), S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function(e, n) { + S.fn[n] = function(e, t) { + return 0 < arguments.length ? this.on(n, null, e, t) : this.trigger(n) + } + }); + var Xt = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + S.proxy = function(e, t) { + var n, r, i; + if ("string" == typeof t && (n = e[t], t = e, e = n), m(e)) return r = s.call(arguments, 2), (i = function() { + return e.apply(t || this, r.concat(s.call(arguments))) + }).guid = e.guid = e.guid || S.guid++, i + }, S.holdReady = function(e) { + e ? S.readyWait++ : S.ready(!0) + }, S.isArray = Array.isArray, S.parseJSON = JSON.parse, S.nodeName = A, S.isFunction = m, S.isWindow = x, S.camelCase = X, S.type = w, S.now = Date.now, S.isNumeric = function(e) { + var t = S.type(e); + return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e)) + }, S.trim = function(e) { + return null == e ? "" : (e + "").replace(Xt, "") + }, "function" == typeof define && define.amd && define("jquery", [], function() { + return S + }); + var Vt = C.jQuery, + Gt = C.$; + return S.noConflict = function(e) { + return C.$ === S && (C.$ = Gt), e && C.jQuery === S && (C.jQuery = Vt), S + }, "undefined" == typeof e && (C.jQuery = C.$ = S), S +}); \ No newline at end of file diff --git a/js/plugins.js b/js/plugins.js new file mode 100644 index 0000000000000000000000000000000000000000..4f8acbf1b140208d407f2e630886bd5aec217012 --- /dev/null +++ b/js/plugins.js @@ -0,0 +1,2982 @@ +/* + * Copyright (c) 2024 SRBThemes + * Author: SRBThemes + * This file is made for CURRENT TEMPLATE + */ + + +/* + List of plugins + + 1. Waypoints + 2. Isotope + + +*/ + +/*------------------------------------------------------------------*/ +/* WAYPOINTS +/*------------------------------------------------------------------*/ + +/*! +Waypoints - 4.0.1 +Copyright © 2011-2016 Caleb Troughton +Licensed under the MIT license. +https://github.com/imakewebthings/waypoints/blob/master/licenses.txt +*/ +! function() { + "use strict"; + + function t(o) { + if (!o) throw new Error("No options passed to Waypoint constructor"); + if (!o.element) throw new Error("No element option passed to Waypoint constructor"); + if (!o.handler) throw new Error("No handler option passed to Waypoint constructor"); + this.key = "waypoint-" + e, this.options = t.Adapter.extend({}, t.defaults, o), this.element = this.options.element, this.adapter = new t.Adapter(this.element), this.callback = o.handler, this.axis = this.options.horizontal ? "horizontal" : "vertical", this.enabled = this.options.enabled, this.triggerPoint = null, this.group = t.Group.findOrCreate({ + name: this.options.group, + axis: this.axis + }), this.context = t.Context.findOrCreateByElement(this.options.context), t.offsetAliases[this.options.offset] && (this.options.offset = t.offsetAliases[this.options.offset]), this.group.add(this), this.context.add(this), i[this.key] = this, e += 1 + } + var e = 0, + i = {}; + t.prototype.queueTrigger = function(t) { + this.group.queueTrigger(this, t) + }, t.prototype.trigger = function(t) { + this.enabled && this.callback && this.callback.apply(this, t) + }, t.prototype.destroy = function() { + this.context.remove(this), this.group.remove(this), delete i[this.key] + }, t.prototype.disable = function() { + return this.enabled = !1, this + }, t.prototype.enable = function() { + return this.context.refresh(), this.enabled = !0, this + }, t.prototype.next = function() { + return this.group.next(this) + }, t.prototype.previous = function() { + return this.group.previous(this) + }, t.invokeAll = function(t) { + var e = []; + for (var o in i) e.push(i[o]); + for (var n = 0, r = e.length; r > n; n++) e[n][t]() + }, t.destroyAll = function() { + t.invokeAll("destroy") + }, t.disableAll = function() { + t.invokeAll("disable") + }, t.enableAll = function() { + t.Context.refreshAll(); + for (var e in i) i[e].enabled = !0; + return this + }, t.refreshAll = function() { + t.Context.refreshAll() + }, t.viewportHeight = function() { + return window.innerHeight || document.documentElement.clientHeight + }, t.viewportWidth = function() { + return document.documentElement.clientWidth + }, t.adapters = [], t.defaults = { + context: window, + continuous: !0, + enabled: !0, + group: "default", + horizontal: !1, + offset: 0 + }, t.offsetAliases = { + "bottom-in-view": function() { + return this.context.innerHeight() - this.adapter.outerHeight() + }, + "right-in-view": function() { + return this.context.innerWidth() - this.adapter.outerWidth() + } + }, window.Waypoint = t +}(), +function() { + "use strict"; + + function t(t) { + window.setTimeout(t, 1e3 / 60) + } + + function e(t) { + this.element = t, this.Adapter = n.Adapter, this.adapter = new this.Adapter(t), this.key = "waypoint-context-" + i, this.didScroll = !1, this.didResize = !1, this.oldScroll = { + x: this.adapter.scrollLeft(), + y: this.adapter.scrollTop() + }, this.waypoints = { + vertical: {}, + horizontal: {} + }, t.waypointContextKey = this.key, o[t.waypointContextKey] = this, i += 1, n.windowContext || (n.windowContext = !0, n.windowContext = new e(window)), this.createThrottledScrollHandler(), this.createThrottledResizeHandler() + } + var i = 0, + o = {}, + n = window.Waypoint, + r = window.onload; + e.prototype.add = function(t) { + var e = t.options.horizontal ? "horizontal" : "vertical"; + this.waypoints[e][t.key] = t, this.refresh() + }, e.prototype.checkEmpty = function() { + var t = this.Adapter.isEmptyObject(this.waypoints.horizontal), + e = this.Adapter.isEmptyObject(this.waypoints.vertical), + i = this.element == this.element.window; + t && e && !i && (this.adapter.off(".waypoints"), delete o[this.key]) + }, e.prototype.createThrottledResizeHandler = function() { + function t() { + e.handleResize(), e.didResize = !1 + } + var e = this; + this.adapter.on("resize.waypoints", function() { + e.didResize || (e.didResize = !0, n.requestAnimationFrame(t)) + }) + }, e.prototype.createThrottledScrollHandler = function() { + function t() { + e.handleScroll(), e.didScroll = !1 + } + var e = this; + this.adapter.on("scroll.waypoints", function() { + (!e.didScroll || n.isTouch) && (e.didScroll = !0, n.requestAnimationFrame(t)) + }) + }, e.prototype.handleResize = function() { + n.Context.refreshAll() + }, e.prototype.handleScroll = function() { + var t = {}, + e = { + horizontal: { + newScroll: this.adapter.scrollLeft(), + oldScroll: this.oldScroll.x, + forward: "right", + backward: "left" + }, + vertical: { + newScroll: this.adapter.scrollTop(), + oldScroll: this.oldScroll.y, + forward: "down", + backward: "up" + } + }; + for (var i in e) { + var o = e[i], + n = o.newScroll > o.oldScroll, + r = n ? o.forward : o.backward; + for (var s in this.waypoints[i]) { + var a = this.waypoints[i][s]; + if (null !== a.triggerPoint) { + var l = o.oldScroll < a.triggerPoint, + h = o.newScroll >= a.triggerPoint, + p = l && h, + u = !l && !h; + (p || u) && (a.queueTrigger(r), t[a.group.id] = a.group) + } + } + } + for (var c in t) t[c].flushTriggers(); + this.oldScroll = { + x: e.horizontal.newScroll, + y: e.vertical.newScroll + } + }, e.prototype.innerHeight = function() { + return this.element == this.element.window ? n.viewportHeight() : this.adapter.innerHeight() + }, e.prototype.remove = function(t) { + delete this.waypoints[t.axis][t.key], this.checkEmpty() + }, e.prototype.innerWidth = function() { + return this.element == this.element.window ? n.viewportWidth() : this.adapter.innerWidth() + }, e.prototype.destroy = function() { + var t = []; + for (var e in this.waypoints) + for (var i in this.waypoints[e]) t.push(this.waypoints[e][i]); + for (var o = 0, n = t.length; n > o; o++) t[o].destroy() + }, e.prototype.refresh = function() { + var t, e = this.element == this.element.window, + i = e ? void 0 : this.adapter.offset(), + o = {}; + this.handleScroll(), t = { + horizontal: { + contextOffset: e ? 0 : i.left, + contextScroll: e ? 0 : this.oldScroll.x, + contextDimension: this.innerWidth(), + oldScroll: this.oldScroll.x, + forward: "right", + backward: "left", + offsetProp: "left" + }, + vertical: { + contextOffset: e ? 0 : i.top, + contextScroll: e ? 0 : this.oldScroll.y, + contextDimension: this.innerHeight(), + oldScroll: this.oldScroll.y, + forward: "down", + backward: "up", + offsetProp: "top" + } + }; + for (var r in t) { + var s = t[r]; + for (var a in this.waypoints[r]) { + var l, h, p, u, c, d = this.waypoints[r][a], + f = d.options.offset, + w = d.triggerPoint, + y = 0, + g = null == w; + d.element !== d.element.window && (y = d.adapter.offset()[s.offsetProp]), "function" == typeof f ? f = f.apply(d) : "string" == typeof f && (f = parseFloat(f), d.options.offset.indexOf("%") > -1 && (f = Math.ceil(s.contextDimension * f / 100))), l = s.contextScroll - s.contextOffset, d.triggerPoint = Math.floor(y + l - f), h = w < s.oldScroll, p = d.triggerPoint >= s.oldScroll, u = h && p, c = !h && !p, !g && u ? (d.queueTrigger(s.backward), o[d.group.id] = d.group) : !g && c ? (d.queueTrigger(s.forward), o[d.group.id] = d.group) : g && s.oldScroll >= d.triggerPoint && (d.queueTrigger(s.forward), o[d.group.id] = d.group) + } + } + return n.requestAnimationFrame(function() { + for (var t in o) o[t].flushTriggers() + }), this + }, e.findOrCreateByElement = function(t) { + return e.findByElement(t) || new e(t) + }, e.refreshAll = function() { + for (var t in o) o[t].refresh() + }, e.findByElement = function(t) { + return o[t.waypointContextKey] + }, window.onload = function() { + r && r(), e.refreshAll() + }, n.requestAnimationFrame = function(e) { + var i = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || t; + i.call(window, e) + }, n.Context = e +}(), +function() { + "use strict"; + + function t(t, e) { + return t.triggerPoint - e.triggerPoint + } + + function e(t, e) { + return e.triggerPoint - t.triggerPoint + } + + function i(t) { + this.name = t.name, this.axis = t.axis, this.id = this.name + "-" + this.axis, this.waypoints = [], this.clearTriggerQueues(), o[this.axis][this.name] = this + } + var o = { + vertical: {}, + horizontal: {} + }, + n = window.Waypoint; + i.prototype.add = function(t) { + this.waypoints.push(t) + }, i.prototype.clearTriggerQueues = function() { + this.triggerQueues = { + up: [], + down: [], + left: [], + right: [] + } + }, i.prototype.flushTriggers = function() { + for (var i in this.triggerQueues) { + var o = this.triggerQueues[i], + n = "up" === i || "left" === i; + o.sort(n ? e : t); + for (var r = 0, s = o.length; s > r; r += 1) { + var a = o[r]; + (a.options.continuous || r === o.length - 1) && a.trigger([i]) + } + } + this.clearTriggerQueues() + }, i.prototype.next = function(e) { + this.waypoints.sort(t); + var i = n.Adapter.inArray(e, this.waypoints), + o = i === this.waypoints.length - 1; + return o ? null : this.waypoints[i + 1] + }, i.prototype.previous = function(e) { + this.waypoints.sort(t); + var i = n.Adapter.inArray(e, this.waypoints); + return i ? this.waypoints[i - 1] : null + }, i.prototype.queueTrigger = function(t, e) { + this.triggerQueues[e].push(t) + }, i.prototype.remove = function(t) { + var e = n.Adapter.inArray(t, this.waypoints); + e > -1 && this.waypoints.splice(e, 1) + }, i.prototype.first = function() { + return this.waypoints[0] + }, i.prototype.last = function() { + return this.waypoints[this.waypoints.length - 1] + }, i.findOrCreate = function(t) { + return o[t.axis][t.name] || new i(t) + }, n.Group = i +}(), +function() { + "use strict"; + + function t(t) { + this.$element = e(t) + } + var e = window.jQuery, + i = window.Waypoint; + e.each(["innerHeight", "innerWidth", "off", "offset", "on", "outerHeight", "outerWidth", "scrollLeft", "scrollTop"], function(e, i) { + t.prototype[i] = function() { + var t = Array.prototype.slice.call(arguments); + return this.$element[i].apply(this.$element, t) + } + }), e.each(["extend", "inArray", "isEmptyObject"], function(i, o) { + t[o] = e[o] + }), i.adapters.push({ + name: "jquery", + Adapter: t + }), i.Adapter = t +}(), +function() { + "use strict"; + + function t(t) { + return function() { + var i = [], + o = arguments[0]; + return t.isFunction(arguments[0]) && (o = t.extend({}, arguments[1]), o.handler = arguments[0]), this.each(function() { + var n = t.extend({}, o, { + element: this + }); + "string" == typeof n.context && (n.context = t(this).closest(n.context)[0]), i.push(new e(n)) + }), i + } + } + var e = window.Waypoint; + window.jQuery && (window.jQuery.fn.waypoint = t(window.jQuery)), window.Zepto && (window.Zepto.fn.waypoint = t(window.Zepto)) +}(); + + + +/*! + * Isotope PACKAGED v3.0.6 + * + * Licensed GPLv3 for open source use + * or Isotope Commercial License for commercial use + * + * https://isotope.metafizzy.co + * Copyright 2010-2018 Metafizzy + */ + +! function(t, e) { + "function" == typeof define && define.amd ? define("jquery-bridget/jquery-bridget", ["jquery"], function(i) { + return e(t, i) + }) : "object" == typeof module && module.exports ? module.exports = e(t, require("jquery")) : t.jQueryBridget = e(t, t.jQuery) +}(window, function(t, e) { + "use strict"; + + function i(i, s, a) { + function u(t, e, o) { + var n, s = "$()." + i + '("' + e + '")'; + return t.each(function(t, u) { + var h = a.data(u, i); + if (!h) return void r(i + " not initialized. Cannot call methods, i.e. " + s); + var d = h[e]; + if (!d || "_" == e.charAt(0)) return void r(s + " is not a valid method"); + var l = d.apply(h, o); + n = void 0 === n ? l : n + }), void 0 !== n ? n : t + } + + function h(t, e) { + t.each(function(t, o) { + var n = a.data(o, i); + n ? (n.option(e), n._init()) : (n = new s(o, e), a.data(o, i, n)) + }) + } + a = a || e || t.jQuery, a && (s.prototype.option || (s.prototype.option = function(t) { + a.isPlainObject(t) && (this.options = a.extend(!0, this.options, t)) + }), a.fn[i] = function(t) { + if ("string" == typeof t) { + var e = n.call(arguments, 1); + return u(this, t, e) + } + return h(this, t), this + }, o(a)) + } + + function o(t) { + !t || t && t.bridget || (t.bridget = i) + } + var n = Array.prototype.slice, + s = t.console, + r = "undefined" == typeof s ? function() {} : function(t) { + s.error(t) + }; + return o(e || t.jQuery), i +}), +function(t, e) { + "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", e) : "object" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e() +}("undefined" != typeof window ? window : this, function() { + function t() {} + var e = t.prototype; + return e.on = function(t, e) { + if (t && e) { + var i = this._events = this._events || {}, + o = i[t] = i[t] || []; + return o.indexOf(e) == -1 && o.push(e), this + } + }, e.once = function(t, e) { + if (t && e) { + this.on(t, e); + var i = this._onceEvents = this._onceEvents || {}, + o = i[t] = i[t] || {}; + return o[e] = !0, this + } + }, e.off = function(t, e) { + var i = this._events && this._events[t]; + if (i && i.length) { + var o = i.indexOf(e); + return o != -1 && i.splice(o, 1), this + } + }, e.emitEvent = function(t, e) { + var i = this._events && this._events[t]; + if (i && i.length) { + i = i.slice(0), e = e || []; + for (var o = this._onceEvents && this._onceEvents[t], n = 0; n < i.length; n++) { + var s = i[n], + r = o && o[s]; + r && (this.off(t, s), delete o[s]), s.apply(this, e) + } + return this + } + }, e.allOff = function() { + delete this._events, delete this._onceEvents + }, t +}), +function(t, e) { + "function" == typeof define && define.amd ? define("get-size/get-size", e) : "object" == typeof module && module.exports ? module.exports = e() : t.getSize = e() +}(window, function() { + "use strict"; + + function t(t) { + var e = parseFloat(t), + i = t.indexOf("%") == -1 && !isNaN(e); + return i && e + } + + function e() {} + + function i() { + for (var t = { + width: 0, + height: 0, + innerWidth: 0, + innerHeight: 0, + outerWidth: 0, + outerHeight: 0 + }, e = 0; e < h; e++) { + var i = u[e]; + t[i] = 0 + } + return t + } + + function o(t) { + var e = getComputedStyle(t); + return e || a("Style returned " + e + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"), e + } + + function n() { + if (!d) { + d = !0; + var e = document.createElement("div"); + e.style.width = "200px", e.style.padding = "1px 2px 3px 4px", e.style.borderStyle = "solid", e.style.borderWidth = "1px 2px 3px 4px", e.style.boxSizing = "border-box"; + var i = document.body || document.documentElement; + i.appendChild(e); + var n = o(e); + r = 200 == Math.round(t(n.width)), s.isBoxSizeOuter = r, i.removeChild(e) + } + } + + function s(e) { + if (n(), "string" == typeof e && (e = document.querySelector(e)), e && "object" == typeof e && e.nodeType) { + var s = o(e); + if ("none" == s.display) return i(); + var a = {}; + a.width = e.offsetWidth, a.height = e.offsetHeight; + for (var d = a.isBorderBox = "border-box" == s.boxSizing, l = 0; l < h; l++) { + var f = u[l], + c = s[f], + m = parseFloat(c); + a[f] = isNaN(m) ? 0 : m + } + var p = a.paddingLeft + a.paddingRight, + y = a.paddingTop + a.paddingBottom, + g = a.marginLeft + a.marginRight, + v = a.marginTop + a.marginBottom, + _ = a.borderLeftWidth + a.borderRightWidth, + z = a.borderTopWidth + a.borderBottomWidth, + I = d && r, + x = t(s.width); + x !== !1 && (a.width = x + (I ? 0 : p + _)); + var S = t(s.height); + return S !== !1 && (a.height = S + (I ? 0 : y + z)), a.innerWidth = a.width - (p + _), a.innerHeight = a.height - (y + z), a.outerWidth = a.width + g, a.outerHeight = a.height + v, a + } + } + var r, a = "undefined" == typeof console ? e : function(t) { + console.error(t) + }, + u = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"], + h = u.length, + d = !1; + return s +}), +function(t, e) { + "use strict"; + "function" == typeof define && define.amd ? define("desandro-matches-selector/matches-selector", e) : "object" == typeof module && module.exports ? module.exports = e() : t.matchesSelector = e() +}(window, function() { + "use strict"; + var t = function() { + var t = window.Element.prototype; + if (t.matches) return "matches"; + if (t.matchesSelector) return "matchesSelector"; + for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) { + var o = e[i], + n = o + "MatchesSelector"; + if (t[n]) return n + } + }(); + return function(e, i) { + return e[t](i) + } +}), +function(t, e) { + "function" == typeof define && define.amd ? define("fizzy-ui-utils/utils", ["desandro-matches-selector/matches-selector"], function(i) { + return e(t, i) + }) : "object" == typeof module && module.exports ? module.exports = e(t, require("desandro-matches-selector")) : t.fizzyUIUtils = e(t, t.matchesSelector) +}(window, function(t, e) { + var i = {}; + i.extend = function(t, e) { + for (var i in e) t[i] = e[i]; + return t + }, i.modulo = function(t, e) { + return (t % e + e) % e + }; + var o = Array.prototype.slice; + i.makeArray = function(t) { + if (Array.isArray(t)) return t; + if (null === t || void 0 === t) return []; + var e = "object" == typeof t && "number" == typeof t.length; + return e ? o.call(t) : [t] + }, i.removeFrom = function(t, e) { + var i = t.indexOf(e); + i != -1 && t.splice(i, 1) + }, i.getParent = function(t, i) { + for (; t.parentNode && t != document.body;) + if (t = t.parentNode, e(t, i)) return t + }, i.getQueryElement = function(t) { + return "string" == typeof t ? document.querySelector(t) : t + }, i.handleEvent = function(t) { + var e = "on" + t.type; + this[e] && this[e](t) + }, i.filterFindElements = function(t, o) { + t = i.makeArray(t); + var n = []; + return t.forEach(function(t) { + if (t instanceof HTMLElement) { + if (!o) return void n.push(t); + e(t, o) && n.push(t); + for (var i = t.querySelectorAll(o), s = 0; s < i.length; s++) n.push(i[s]) + } + }), n + }, i.debounceMethod = function(t, e, i) { + i = i || 100; + var o = t.prototype[e], + n = e + "Timeout"; + t.prototype[e] = function() { + var t = this[n]; + clearTimeout(t); + var e = arguments, + s = this; + this[n] = setTimeout(function() { + o.apply(s, e), delete s[n] + }, i) + } + }, i.docReady = function(t) { + var e = document.readyState; + "complete" == e || "interactive" == e ? setTimeout(t) : document.addEventListener("DOMContentLoaded", t) + }, i.toDashed = function(t) { + return t.replace(/(.)([A-Z])/g, function(t, e, i) { + return e + "-" + i + }).toLowerCase() + }; + var n = t.console; + return i.htmlInit = function(e, o) { + i.docReady(function() { + var s = i.toDashed(o), + r = "data-" + s, + a = document.querySelectorAll("[" + r + "]"), + u = document.querySelectorAll(".js-" + s), + h = i.makeArray(a).concat(i.makeArray(u)), + d = r + "-options", + l = t.jQuery; + h.forEach(function(t) { + var i, s = t.getAttribute(r) || t.getAttribute(d); + try { + i = s && JSON.parse(s) + } catch (a) { + return void(n && n.error("Error parsing " + r + " on " + t.className + ": " + a)) + } + var u = new e(t, i); + l && l.data(t, o, u) + }) + }) + }, i +}), +function(t, e) { + "function" == typeof define && define.amd ? define("outlayer/item", ["ev-emitter/ev-emitter", "get-size/get-size"], e) : "object" == typeof module && module.exports ? module.exports = e(require("ev-emitter"), require("get-size")) : (t.Outlayer = {}, t.Outlayer.Item = e(t.EvEmitter, t.getSize)) +}(window, function(t, e) { + "use strict"; + + function i(t) { + for (var e in t) return !1; + return e = null, !0 + } + + function o(t, e) { + t && (this.element = t, this.layout = e, this.position = { + x: 0, + y: 0 + }, this._create()) + } + + function n(t) { + return t.replace(/([A-Z])/g, function(t) { + return "-" + t.toLowerCase() + }) + } + var s = document.documentElement.style, + r = "string" == typeof s.transition ? "transition" : "WebkitTransition", + a = "string" == typeof s.transform ? "transform" : "WebkitTransform", + u = { + WebkitTransition: "webkitTransitionEnd", + transition: "transitionend" + }[r], + h = { + transform: a, + transition: r, + transitionDuration: r + "Duration", + transitionProperty: r + "Property", + transitionDelay: r + "Delay" + }, + d = o.prototype = Object.create(t.prototype); + d.constructor = o, d._create = function() { + this._transn = { + ingProperties: {}, + clean: {}, + onEnd: {} + }, this.css({ + position: "absolute" + }) + }, d.handleEvent = function(t) { + var e = "on" + t.type; + this[e] && this[e](t) + }, d.getSize = function() { + this.size = e(this.element) + }, d.css = function(t) { + var e = this.element.style; + for (var i in t) { + var o = h[i] || i; + e[o] = t[i] + } + }, d.getPosition = function() { + var t = getComputedStyle(this.element), + e = this.layout._getOption("originLeft"), + i = this.layout._getOption("originTop"), + o = t[e ? "left" : "right"], + n = t[i ? "top" : "bottom"], + s = parseFloat(o), + r = parseFloat(n), + a = this.layout.size; + o.indexOf("%") != -1 && (s = s / 100 * a.width), n.indexOf("%") != -1 && (r = r / 100 * a.height), s = isNaN(s) ? 0 : s, r = isNaN(r) ? 0 : r, s -= e ? a.paddingLeft : a.paddingRight, r -= i ? a.paddingTop : a.paddingBottom, this.position.x = s, this.position.y = r + }, d.layoutPosition = function() { + var t = this.layout.size, + e = {}, + i = this.layout._getOption("originLeft"), + o = this.layout._getOption("originTop"), + n = i ? "paddingLeft" : "paddingRight", + s = i ? "left" : "right", + r = i ? "right" : "left", + a = this.position.x + t[n]; + e[s] = this.getXValue(a), e[r] = ""; + var u = o ? "paddingTop" : "paddingBottom", + h = o ? "top" : "bottom", + d = o ? "bottom" : "top", + l = this.position.y + t[u]; + e[h] = this.getYValue(l), e[d] = "", this.css(e), this.emitEvent("layout", [this]) + }, d.getXValue = function(t) { + var e = this.layout._getOption("horizontal"); + return this.layout.options.percentPosition && !e ? t / this.layout.size.width * 100 + "%" : t + "px" + }, d.getYValue = function(t) { + var e = this.layout._getOption("horizontal"); + return this.layout.options.percentPosition && e ? t / this.layout.size.height * 100 + "%" : t + "px" + }, d._transitionTo = function(t, e) { + this.getPosition(); + var i = this.position.x, + o = this.position.y, + n = t == this.position.x && e == this.position.y; + if (this.setPosition(t, e), n && !this.isTransitioning) return void this.layoutPosition(); + var s = t - i, + r = e - o, + a = {}; + a.transform = this.getTranslate(s, r), this.transition({ + to: a, + onTransitionEnd: { + transform: this.layoutPosition + }, + isCleaning: !0 + }) + }, d.getTranslate = function(t, e) { + var i = this.layout._getOption("originLeft"), + o = this.layout._getOption("originTop"); + return t = i ? t : -t, e = o ? e : -e, "translate3d(" + t + "px, " + e + "px, 0)" + }, d.goTo = function(t, e) { + this.setPosition(t, e), this.layoutPosition() + }, d.moveTo = d._transitionTo, d.setPosition = function(t, e) { + this.position.x = parseFloat(t), this.position.y = parseFloat(e) + }, d._nonTransition = function(t) { + this.css(t.to), t.isCleaning && this._removeStyles(t.to); + for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this) + }, d.transition = function(t) { + if (!parseFloat(this.layout.options.transitionDuration)) return void this._nonTransition(t); + var e = this._transn; + for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i]; + for (i in t.to) e.ingProperties[i] = !0, t.isCleaning && (e.clean[i] = !0); + if (t.from) { + this.css(t.from); + var o = this.element.offsetHeight; + o = null + } + this.enableTransition(t.to), this.css(t.to), this.isTransitioning = !0 + }; + var l = "opacity," + n(a); + d.enableTransition = function() { + if (!this.isTransitioning) { + var t = this.layout.options.transitionDuration; + t = "number" == typeof t ? t + "ms" : t, this.css({ + transitionProperty: l, + transitionDuration: t, + transitionDelay: this.staggerDelay || 0 + }), this.element.addEventListener(u, this, !1) + } + }, d.onwebkitTransitionEnd = function(t) { + this.ontransitionend(t) + }, d.onotransitionend = function(t) { + this.ontransitionend(t) + }; + var f = { + "-webkit-transform": "transform" + }; + d.ontransitionend = function(t) { + if (t.target === this.element) { + var e = this._transn, + o = f[t.propertyName] || t.propertyName; + if (delete e.ingProperties[o], i(e.ingProperties) && this.disableTransition(), o in e.clean && (this.element.style[t.propertyName] = "", delete e.clean[o]), o in e.onEnd) { + var n = e.onEnd[o]; + n.call(this), delete e.onEnd[o] + } + this.emitEvent("transitionEnd", [this]) + } + }, d.disableTransition = function() { + this.removeTransitionStyles(), this.element.removeEventListener(u, this, !1), this.isTransitioning = !1 + }, d._removeStyles = function(t) { + var e = {}; + for (var i in t) e[i] = ""; + this.css(e) + }; + var c = { + transitionProperty: "", + transitionDuration: "", + transitionDelay: "" + }; + return d.removeTransitionStyles = function() { + this.css(c) + }, d.stagger = function(t) { + t = isNaN(t) ? 0 : t, this.staggerDelay = t + "ms" + }, d.removeElem = function() { + this.element.parentNode.removeChild(this.element), this.css({ + display: "" + }), this.emitEvent("remove", [this]) + }, d.remove = function() { + return r && parseFloat(this.layout.options.transitionDuration) ? (this.once("transitionEnd", function() { + this.removeElem() + }), void this.hide()) : void this.removeElem() + }, d.reveal = function() { + delete this.isHidden, this.css({ + display: "" + }); + var t = this.layout.options, + e = {}, + i = this.getHideRevealTransitionEndProperty("visibleStyle"); + e[i] = this.onRevealTransitionEnd, this.transition({ + from: t.hiddenStyle, + to: t.visibleStyle, + isCleaning: !0, + onTransitionEnd: e + }) + }, d.onRevealTransitionEnd = function() { + this.isHidden || this.emitEvent("reveal") + }, d.getHideRevealTransitionEndProperty = function(t) { + var e = this.layout.options[t]; + if (e.opacity) return "opacity"; + for (var i in e) return i + }, d.hide = function() { + this.isHidden = !0, this.css({ + display: "" + }); + var t = this.layout.options, + e = {}, + i = this.getHideRevealTransitionEndProperty("hiddenStyle"); + e[i] = this.onHideTransitionEnd, this.transition({ + from: t.visibleStyle, + to: t.hiddenStyle, + isCleaning: !0, + onTransitionEnd: e + }) + }, d.onHideTransitionEnd = function() { + this.isHidden && (this.css({ + display: "none" + }), this.emitEvent("hide")) + }, d.destroy = function() { + this.css({ + position: "", + left: "", + right: "", + top: "", + bottom: "", + transition: "", + transform: "" + }) + }, o +}), +function(t, e) { + "use strict"; + "function" == typeof define && define.amd ? define("outlayer/outlayer", ["ev-emitter/ev-emitter", "get-size/get-size", "fizzy-ui-utils/utils", "./item"], function(i, o, n, s) { + return e(t, i, o, n, s) + }) : "object" == typeof module && module.exports ? module.exports = e(t, require("ev-emitter"), require("get-size"), require("fizzy-ui-utils"), require("./item")) : t.Outlayer = e(t, t.EvEmitter, t.getSize, t.fizzyUIUtils, t.Outlayer.Item) +}(window, function(t, e, i, o, n) { + "use strict"; + + function s(t, e) { + var i = o.getQueryElement(t); + if (!i) return void(u && u.error("Bad element for " + this.constructor.namespace + ": " + (i || t))); + this.element = i, h && (this.$element = h(this.element)), this.options = o.extend({}, this.constructor.defaults), this.option(e); + var n = ++l; + this.element.outlayerGUID = n, f[n] = this, this._create(); + var s = this._getOption("initLayout"); + s && this.layout() + } + + function r(t) { + function e() { + t.apply(this, arguments) + } + return e.prototype = Object.create(t.prototype), e.prototype.constructor = e, e + } + + function a(t) { + if ("number" == typeof t) return t; + var e = t.match(/(^\d*\.?\d*)(\w*)/), + i = e && e[1], + o = e && e[2]; + if (!i.length) return 0; + i = parseFloat(i); + var n = m[o] || 1; + return i * n + } + var u = t.console, + h = t.jQuery, + d = function() {}, + l = 0, + f = {}; + s.namespace = "outlayer", s.Item = n, s.defaults = { + containerStyle: { + position: "relative" + }, + initLayout: !0, + originLeft: !0, + originTop: !0, + resize: !0, + resizeContainer: !0, + transitionDuration: "0.4s", + hiddenStyle: { + opacity: 0, + transform: "scale(0.001)" + }, + visibleStyle: { + opacity: 1, + transform: "scale(1)" + } + }; + var c = s.prototype; + o.extend(c, e.prototype), c.option = function(t) { + o.extend(this.options, t) + }, c._getOption = function(t) { + var e = this.constructor.compatOptions[t]; + return e && void 0 !== this.options[e] ? this.options[e] : this.options[t] + }, s.compatOptions = { + initLayout: "isInitLayout", + horizontal: "isHorizontal", + layoutInstant: "isLayoutInstant", + originLeft: "isOriginLeft", + originTop: "isOriginTop", + resize: "isResizeBound", + resizeContainer: "isResizingContainer" + }, c._create = function() { + this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), o.extend(this.element.style, this.options.containerStyle); + var t = this._getOption("resize"); + t && this.bindResize() + }, c.reloadItems = function() { + this.items = this._itemize(this.element.children) + }, c._itemize = function(t) { + for (var e = this._filterFindItemElements(t), i = this.constructor.Item, o = [], n = 0; n < e.length; n++) { + var s = e[n], + r = new i(s, this); + o.push(r) + } + return o + }, c._filterFindItemElements = function(t) { + return o.filterFindElements(t, this.options.itemSelector) + }, c.getItemElements = function() { + return this.items.map(function(t) { + return t.element + }) + }, c.layout = function() { + this._resetLayout(), this._manageStamps(); + var t = this._getOption("layoutInstant"), + e = void 0 !== t ? t : !this._isLayoutInited; + this.layoutItems(this.items, e), this._isLayoutInited = !0 + }, c._init = c.layout, c._resetLayout = function() { + this.getSize() + }, c.getSize = function() { + this.size = i(this.element) + }, c._getMeasurement = function(t, e) { + var o, n = this.options[t]; + n ? ("string" == typeof n ? o = this.element.querySelector(n) : n instanceof HTMLElement && (o = n), this[t] = o ? i(o)[e] : n) : this[t] = 0 + }, c.layoutItems = function(t, e) { + t = this._getItemsForLayout(t), this._layoutItems(t, e), this._postLayout() + }, c._getItemsForLayout = function(t) { + return t.filter(function(t) { + return !t.isIgnored + }) + }, c._layoutItems = function(t, e) { + if (this._emitCompleteOnItems("layout", t), t && t.length) { + var i = []; + t.forEach(function(t) { + var o = this._getItemLayoutPosition(t); + o.item = t, o.isInstant = e || t.isLayoutInstant, i.push(o) + }, this), this._processLayoutQueue(i) + } + }, c._getItemLayoutPosition = function() { + return { + x: 0, + y: 0 + } + }, c._processLayoutQueue = function(t) { + this.updateStagger(), t.forEach(function(t, e) { + this._positionItem(t.item, t.x, t.y, t.isInstant, e) + }, this) + }, c.updateStagger = function() { + var t = this.options.stagger; + return null === t || void 0 === t ? void(this.stagger = 0) : (this.stagger = a(t), this.stagger) + }, c._positionItem = function(t, e, i, o, n) { + o ? t.goTo(e, i) : (t.stagger(n * this.stagger), t.moveTo(e, i)) + }, c._postLayout = function() { + this.resizeContainer() + }, c.resizeContainer = function() { + var t = this._getOption("resizeContainer"); + if (t) { + var e = this._getContainerSize(); + e && (this._setContainerMeasure(e.width, !0), this._setContainerMeasure(e.height, !1)) + } + }, c._getContainerSize = d, c._setContainerMeasure = function(t, e) { + if (void 0 !== t) { + var i = this.size; + i.isBorderBox && (t += e ? i.paddingLeft + i.paddingRight + i.borderLeftWidth + i.borderRightWidth : i.paddingBottom + i.paddingTop + i.borderTopWidth + i.borderBottomWidth), t = Math.max(t, 0), this.element.style[e ? "width" : "height"] = t + "px" + } + }, c._emitCompleteOnItems = function(t, e) { + function i() { + n.dispatchEvent(t + "Complete", null, [e]) + } + + function o() { + r++, r == s && i() + } + var n = this, + s = e.length; + if (!e || !s) return void i(); + var r = 0; + e.forEach(function(e) { + e.once(t, o) + }) + }, c.dispatchEvent = function(t, e, i) { + var o = e ? [e].concat(i) : i; + if (this.emitEvent(t, o), h) + if (this.$element = this.$element || h(this.element), e) { + var n = h.Event(e); + n.type = t, this.$element.trigger(n, i) + } else this.$element.trigger(t, i) + }, c.ignore = function(t) { + var e = this.getItem(t); + e && (e.isIgnored = !0) + }, c.unignore = function(t) { + var e = this.getItem(t); + e && delete e.isIgnored + }, c.stamp = function(t) { + t = this._find(t), t && (this.stamps = this.stamps.concat(t), t.forEach(this.ignore, this)) + }, c.unstamp = function(t) { + t = this._find(t), t && t.forEach(function(t) { + o.removeFrom(this.stamps, t), this.unignore(t) + }, this) + }, c._find = function(t) { + if (t) return "string" == typeof t && (t = this.element.querySelectorAll(t)), t = o.makeArray(t) + }, c._manageStamps = function() { + this.stamps && this.stamps.length && (this._getBoundingRect(), this.stamps.forEach(this._manageStamp, this)) + }, c._getBoundingRect = function() { + var t = this.element.getBoundingClientRect(), + e = this.size; + this._boundingRect = { + left: t.left + e.paddingLeft + e.borderLeftWidth, + top: t.top + e.paddingTop + e.borderTopWidth, + right: t.right - (e.paddingRight + e.borderRightWidth), + bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth) + } + }, c._manageStamp = d, c._getElementOffset = function(t) { + var e = t.getBoundingClientRect(), + o = this._boundingRect, + n = i(t), + s = { + left: e.left - o.left - n.marginLeft, + top: e.top - o.top - n.marginTop, + right: o.right - e.right - n.marginRight, + bottom: o.bottom - e.bottom - n.marginBottom + }; + return s + }, c.handleEvent = o.handleEvent, c.bindResize = function() { + t.addEventListener("resize", this), this.isResizeBound = !0 + }, c.unbindResize = function() { + t.removeEventListener("resize", this), this.isResizeBound = !1 + }, c.onresize = function() { + this.resize() + }, o.debounceMethod(s, "onresize", 100), c.resize = function() { + this.isResizeBound && this.needsResizeLayout() && this.layout() + }, c.needsResizeLayout = function() { + var t = i(this.element), + e = this.size && t; + return e && t.innerWidth !== this.size.innerWidth + }, c.addItems = function(t) { + var e = this._itemize(t); + return e.length && (this.items = this.items.concat(e)), e + }, c.appended = function(t) { + var e = this.addItems(t); + e.length && (this.layoutItems(e, !0), this.reveal(e)) + }, c.prepended = function(t) { + var e = this._itemize(t); + if (e.length) { + var i = this.items.slice(0); + this.items = e.concat(i), this._resetLayout(), this._manageStamps(), this.layoutItems(e, !0), this.reveal(e), this.layoutItems(i) + } + }, c.reveal = function(t) { + if (this._emitCompleteOnItems("reveal", t), t && t.length) { + var e = this.updateStagger(); + t.forEach(function(t, i) { + t.stagger(i * e), t.reveal() + }) + } + }, c.hide = function(t) { + if (this._emitCompleteOnItems("hide", t), t && t.length) { + var e = this.updateStagger(); + t.forEach(function(t, i) { + t.stagger(i * e), t.hide() + }) + } + }, c.revealItemElements = function(t) { + var e = this.getItems(t); + this.reveal(e) + }, c.hideItemElements = function(t) { + var e = this.getItems(t); + this.hide(e) + }, c.getItem = function(t) { + for (var e = 0; e < this.items.length; e++) { + var i = this.items[e]; + if (i.element == t) return i + } + }, c.getItems = function(t) { + t = o.makeArray(t); + var e = []; + return t.forEach(function(t) { + var i = this.getItem(t); + i && e.push(i) + }, this), e + }, c.remove = function(t) { + var e = this.getItems(t); + this._emitCompleteOnItems("remove", e), e && e.length && e.forEach(function(t) { + t.remove(), o.removeFrom(this.items, t) + }, this) + }, c.destroy = function() { + var t = this.element.style; + t.height = "", t.position = "", t.width = "", this.items.forEach(function(t) { + t.destroy() + }), this.unbindResize(); + var e = this.element.outlayerGUID; + delete f[e], delete this.element.outlayerGUID, h && h.removeData(this.element, this.constructor.namespace) + }, s.data = function(t) { + t = o.getQueryElement(t); + var e = t && t.outlayerGUID; + return e && f[e] + }, s.create = function(t, e) { + var i = r(s); + return i.defaults = o.extend({}, s.defaults), o.extend(i.defaults, e), i.compatOptions = o.extend({}, s.compatOptions), i.namespace = t, i.data = s.data, i.Item = r(n), o.htmlInit(i, t), h && h.bridget && h.bridget(t, i), i + }; + var m = { + ms: 1, + s: 1e3 + }; + return s.Item = n, s +}), +function(t, e) { + "function" == typeof define && define.amd ? define("isotope-layout/js/item", ["outlayer/outlayer"], e) : "object" == typeof module && module.exports ? module.exports = e(require("outlayer")) : (t.Isotope = t.Isotope || {}, t.Isotope.Item = e(t.Outlayer)) +}(window, function(t) { + "use strict"; + + function e() { + t.Item.apply(this, arguments) + } + var i = e.prototype = Object.create(t.Item.prototype), + o = i._create; + i._create = function() { + this.id = this.layout.itemGUID++, o.call(this), this.sortData = {} + }, i.updateSortData = function() { + if (!this.isIgnored) { + this.sortData.id = this.id, this.sortData["original-order"] = this.id, this.sortData.random = Math.random(); + var t = this.layout.options.getSortData, + e = this.layout._sorters; + for (var i in t) { + var o = e[i]; + this.sortData[i] = o(this.element, this) + } + } + }; + var n = i.destroy; + return i.destroy = function() { + n.apply(this, arguments), this.css({ + display: "" + }) + }, e +}), +function(t, e) { + "function" == typeof define && define.amd ? define("isotope-layout/js/layout-mode", ["get-size/get-size", "outlayer/outlayer"], e) : "object" == typeof module && module.exports ? module.exports = e(require("get-size"), require("outlayer")) : (t.Isotope = t.Isotope || {}, t.Isotope.LayoutMode = e(t.getSize, t.Outlayer)) +}(window, function(t, e) { + "use strict"; + + function i(t) { + this.isotope = t, t && (this.options = t.options[this.namespace], this.element = t.element, this.items = t.filteredItems, this.size = t.size) + } + var o = i.prototype, + n = ["_resetLayout", "_getItemLayoutPosition", "_manageStamp", "_getContainerSize", "_getElementOffset", "needsResizeLayout", "_getOption"]; + return n.forEach(function(t) { + o[t] = function() { + return e.prototype[t].apply(this.isotope, arguments) + } + }), o.needsVerticalResizeLayout = function() { + var e = t(this.isotope.element), + i = this.isotope.size && e; + return i && e.innerHeight != this.isotope.size.innerHeight + }, o._getMeasurement = function() { + this.isotope._getMeasurement.apply(this, arguments) + }, o.getColumnWidth = function() { + this.getSegmentSize("column", "Width") + }, o.getRowHeight = function() { + this.getSegmentSize("row", "Height") + }, o.getSegmentSize = function(t, e) { + var i = t + e, + o = "outer" + e; + if (this._getMeasurement(i, o), !this[i]) { + var n = this.getFirstItemSize(); + this[i] = n && n[o] || this.isotope.size["inner" + e] + } + }, o.getFirstItemSize = function() { + var e = this.isotope.filteredItems[0]; + return e && e.element && t(e.element) + }, o.layout = function() { + this.isotope.layout.apply(this.isotope, arguments) + }, o.getSize = function() { + this.isotope.getSize(), this.size = this.isotope.size + }, i.modes = {}, i.create = function(t, e) { + function n() { + i.apply(this, arguments) + } + return n.prototype = Object.create(o), n.prototype.constructor = n, e && (n.options = e), n.prototype.namespace = t, i.modes[t] = n, n + }, i +}), +function(t, e) { + "function" == typeof define && define.amd ? define("masonry-layout/masonry", ["outlayer/outlayer", "get-size/get-size"], e) : "object" == typeof module && module.exports ? module.exports = e(require("outlayer"), require("get-size")) : t.Masonry = e(t.Outlayer, t.getSize) +}(window, function(t, e) { + var i = t.create("masonry"); + i.compatOptions.fitWidth = "isFitWidth"; + var o = i.prototype; + return o._resetLayout = function() { + this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns(), this.colYs = []; + for (var t = 0; t < this.cols; t++) this.colYs.push(0); + this.maxY = 0, this.horizontalColIndex = 0 + }, o.measureColumns = function() { + if (this.getContainerWidth(), !this.columnWidth) { + var t = this.items[0], + i = t && t.element; + this.columnWidth = i && e(i).outerWidth || this.containerWidth + } + var o = this.columnWidth += this.gutter, + n = this.containerWidth + this.gutter, + s = n / o, + r = o - n % o, + a = r && r < 1 ? "round" : "floor"; + s = Math[a](s), this.cols = Math.max(s, 1) + }, o.getContainerWidth = function() { + var t = this._getOption("fitWidth"), + i = t ? this.element.parentNode : this.element, + o = e(i); + this.containerWidth = o && o.innerWidth + }, o._getItemLayoutPosition = function(t) { + t.getSize(); + var e = t.size.outerWidth % this.columnWidth, + i = e && e < 1 ? "round" : "ceil", + o = Math[i](t.size.outerWidth / this.columnWidth); + o = Math.min(o, this.cols); + for (var n = this.options.horizontalOrder ? "_getHorizontalColPosition" : "_getTopColPosition", s = this[n](o, t), r = { + x: this.columnWidth * s.col, + y: s.y + }, a = s.y + t.size.outerHeight, u = o + s.col, h = s.col; h < u; h++) this.colYs[h] = a; + return r + }, o._getTopColPosition = function(t) { + var e = this._getTopColGroup(t), + i = Math.min.apply(Math, e); + return { + col: e.indexOf(i), + y: i + } + }, o._getTopColGroup = function(t) { + if (t < 2) return this.colYs; + for (var e = [], i = this.cols + 1 - t, o = 0; o < i; o++) e[o] = this._getColGroupY(o, t); + return e + }, o._getColGroupY = function(t, e) { + if (e < 2) return this.colYs[t]; + var i = this.colYs.slice(t, t + e); + return Math.max.apply(Math, i) + }, o._getHorizontalColPosition = function(t, e) { + var i = this.horizontalColIndex % this.cols, + o = t > 1 && i + t > this.cols; + i = o ? 0 : i; + var n = e.size.outerWidth && e.size.outerHeight; + return this.horizontalColIndex = n ? i + t : this.horizontalColIndex, { + col: i, + y: this._getColGroupY(i, t) + } + }, o._manageStamp = function(t) { + var i = e(t), + o = this._getElementOffset(t), + n = this._getOption("originLeft"), + s = n ? o.left : o.right, + r = s + i.outerWidth, + a = Math.floor(s / this.columnWidth); + a = Math.max(0, a); + var u = Math.floor(r / this.columnWidth); + u -= r % this.columnWidth ? 0 : 1, u = Math.min(this.cols - 1, u); + for (var h = this._getOption("originTop"), d = (h ? o.top : o.bottom) + i.outerHeight, l = a; l <= u; l++) this.colYs[l] = Math.max(d, this.colYs[l]) + }, o._getContainerSize = function() { + this.maxY = Math.max.apply(Math, this.colYs); + var t = { + height: this.maxY + }; + return this._getOption("fitWidth") && (t.width = this._getContainerFitWidth()), t + }, o._getContainerFitWidth = function() { + for (var t = 0, e = this.cols; --e && 0 === this.colYs[e];) t++; + return (this.cols - t) * this.columnWidth - this.gutter + }, o.needsResizeLayout = function() { + var t = this.containerWidth; + return this.getContainerWidth(), t != this.containerWidth + }, i +}), +function(t, e) { + "function" == typeof define && define.amd ? define("isotope-layout/js/layout-modes/masonry", ["../layout-mode", "masonry-layout/masonry"], e) : "object" == typeof module && module.exports ? module.exports = e(require("../layout-mode"), require("masonry-layout")) : e(t.Isotope.LayoutMode, t.Masonry) +}(window, function(t, e) { + "use strict"; + var i = t.create("masonry"), + o = i.prototype, + n = { + _getElementOffset: !0, + layout: !0, + _getMeasurement: !0 + }; + for (var s in e.prototype) n[s] || (o[s] = e.prototype[s]); + var r = o.measureColumns; + o.measureColumns = function() { + this.items = this.isotope.filteredItems, r.call(this) + }; + var a = o._getOption; + return o._getOption = function(t) { + return "fitWidth" == t ? void 0 !== this.options.isFitWidth ? this.options.isFitWidth : this.options.fitWidth : a.apply(this.isotope, arguments) + }, i +}), +function(t, e) { + "function" == typeof define && define.amd ? define("isotope-layout/js/layout-modes/fit-rows", ["../layout-mode"], e) : "object" == typeof exports ? module.exports = e(require("../layout-mode")) : e(t.Isotope.LayoutMode) +}(window, function(t) { + "use strict"; + var e = t.create("fitRows"), + i = e.prototype; + return i._resetLayout = function() { + this.x = 0, this.y = 0, this.maxY = 0, this._getMeasurement("gutter", "outerWidth") + }, i._getItemLayoutPosition = function(t) { + t.getSize(); + var e = t.size.outerWidth + this.gutter, + i = this.isotope.size.innerWidth + this.gutter; + 0 !== this.x && e + this.x > i && (this.x = 0, this.y = this.maxY); + var o = { + x: this.x, + y: this.y + }; + return this.maxY = Math.max(this.maxY, this.y + t.size.outerHeight), this.x += e, o + }, i._getContainerSize = function() { + return { + height: this.maxY + } + }, e +}), +function(t, e) { + "function" == typeof define && define.amd ? define("isotope-layout/js/layout-modes/vertical", ["../layout-mode"], e) : "object" == typeof module && module.exports ? module.exports = e(require("../layout-mode")) : e(t.Isotope.LayoutMode) +}(window, function(t) { + "use strict"; + var e = t.create("vertical", { + horizontalAlignment: 0 + }), + i = e.prototype; + return i._resetLayout = function() { + this.y = 0 + }, i._getItemLayoutPosition = function(t) { + t.getSize(); + var e = (this.isotope.size.innerWidth - t.size.outerWidth) * this.options.horizontalAlignment, + i = this.y; + return this.y += t.size.outerHeight, { + x: e, + y: i + } + }, i._getContainerSize = function() { + return { + height: this.y + } + }, e +}), +function(t, e) { + "function" == typeof define && define.amd ? define(["outlayer/outlayer", "get-size/get-size", "desandro-matches-selector/matches-selector", "fizzy-ui-utils/utils", "isotope-layout/js/item", "isotope-layout/js/layout-mode", "isotope-layout/js/layout-modes/masonry", "isotope-layout/js/layout-modes/fit-rows", "isotope-layout/js/layout-modes/vertical"], function(i, o, n, s, r, a) { + return e(t, i, o, n, s, r, a) + }) : "object" == typeof module && module.exports ? module.exports = e(t, require("outlayer"), require("get-size"), require("desandro-matches-selector"), require("fizzy-ui-utils"), require("isotope-layout/js/item"), require("isotope-layout/js/layout-mode"), require("isotope-layout/js/layout-modes/masonry"), require("isotope-layout/js/layout-modes/fit-rows"), require("isotope-layout/js/layout-modes/vertical")) : t.Isotope = e(t, t.Outlayer, t.getSize, t.matchesSelector, t.fizzyUIUtils, t.Isotope.Item, t.Isotope.LayoutMode) +}(window, function(t, e, i, o, n, s, r) { + function a(t, e) { + return function(i, o) { + for (var n = 0; n < t.length; n++) { + var s = t[n], + r = i.sortData[s], + a = o.sortData[s]; + if (r > a || r < a) { + var u = void 0 !== e[s] ? e[s] : e, + h = u ? 1 : -1; + return (r > a ? 1 : -1) * h + } + } + return 0 + } + } + var u = t.jQuery, + h = String.prototype.trim ? function(t) { + return t.trim() + } : function(t) { + return t.replace(/^\s+|\s+$/g, "") + }, + d = e.create("isotope", { + layoutMode: "masonry", + isJQueryFiltering: !0, + sortAscending: !0 + }); + d.Item = s, d.LayoutMode = r; + var l = d.prototype; + l._create = function() { + this.itemGUID = 0, this._sorters = {}, this._getSorters(), e.prototype._create.call(this), this.modes = {}, this.filteredItems = this.items, this.sortHistory = ["original-order"]; + for (var t in r.modes) this._initLayoutMode(t) + }, l.reloadItems = function() { + this.itemGUID = 0, e.prototype.reloadItems.call(this) + }, l._itemize = function() { + for (var t = e.prototype._itemize.apply(this, arguments), i = 0; i < t.length; i++) { + var o = t[i]; + o.id = this.itemGUID++ + } + return this._updateItemsSortData(t), t + }, l._initLayoutMode = function(t) { + var e = r.modes[t], + i = this.options[t] || {}; + this.options[t] = e.options ? n.extend(e.options, i) : i, this.modes[t] = new e(this) + }, l.layout = function() { + return !this._isLayoutInited && this._getOption("initLayout") ? void this.arrange() : void this._layout() + }, l._layout = function() { + var t = this._getIsInstant(); + this._resetLayout(), this._manageStamps(), this.layoutItems(this.filteredItems, t), this._isLayoutInited = !0 + }, l.arrange = function(t) { + this.option(t), this._getIsInstant(); + var e = this._filter(this.items); + this.filteredItems = e.matches, this._bindArrangeComplete(), this._isInstant ? this._noTransition(this._hideReveal, [e]) : this._hideReveal(e), this._sort(), this._layout() + }, l._init = l.arrange, l._hideReveal = function(t) { + this.reveal(t.needReveal), this.hide(t.needHide) + }, l._getIsInstant = function() { + var t = this._getOption("layoutInstant"), + e = void 0 !== t ? t : !this._isLayoutInited; + return this._isInstant = e, e + }, l._bindArrangeComplete = function() { + function t() { + e && i && o && n.dispatchEvent("arrangeComplete", null, [n.filteredItems]) + } + var e, i, o, n = this; + this.once("layoutComplete", function() { + e = !0, t() + }), this.once("hideComplete", function() { + i = !0, t() + }), this.once("revealComplete", function() { + o = !0, t() + }) + }, l._filter = function(t) { + var e = this.options.filter; + e = e || "*"; + for (var i = [], o = [], n = [], s = this._getFilterTest(e), r = 0; r < t.length; r++) { + var a = t[r]; + if (!a.isIgnored) { + var u = s(a); + u && i.push(a), u && a.isHidden ? o.push(a) : u || a.isHidden || n.push(a) + } + } + return { + matches: i, + needReveal: o, + needHide: n + } + }, l._getFilterTest = function(t) { + return u && this.options.isJQueryFiltering ? function(e) { + return u(e.element).is(t); + } : "function" == typeof t ? function(e) { + return t(e.element) + } : function(e) { + return o(e.element, t) + } + }, l.updateSortData = function(t) { + var e; + t ? (t = n.makeArray(t), e = this.getItems(t)) : e = this.items, this._getSorters(), this._updateItemsSortData(e) + }, l._getSorters = function() { + var t = this.options.getSortData; + for (var e in t) { + var i = t[e]; + this._sorters[e] = f(i) + } + }, l._updateItemsSortData = function(t) { + for (var e = t && t.length, i = 0; e && i < e; i++) { + var o = t[i]; + o.updateSortData() + } + }; + var f = function() { + function t(t) { + if ("string" != typeof t) return t; + var i = h(t).split(" "), + o = i[0], + n = o.match(/^\[(.+)\]$/), + s = n && n[1], + r = e(s, o), + a = d.sortDataParsers[i[1]]; + return t = a ? function(t) { + return t && a(r(t)) + } : function(t) { + return t && r(t) + } + } + + function e(t, e) { + return t ? function(e) { + return e.getAttribute(t) + } : function(t) { + var i = t.querySelector(e); + return i && i.textContent + } + } + return t + }(); + d.sortDataParsers = { + parseInt: function(t) { + return parseInt(t, 10) + }, + parseFloat: function(t) { + return parseFloat(t) + } + }, l._sort = function() { + if (this.options.sortBy) { + var t = n.makeArray(this.options.sortBy); + this._getIsSameSortBy(t) || (this.sortHistory = t.concat(this.sortHistory)); + var e = a(this.sortHistory, this.options.sortAscending); + this.filteredItems.sort(e) + } + }, l._getIsSameSortBy = function(t) { + for (var e = 0; e < t.length; e++) + if (t[e] != this.sortHistory[e]) return !1; + return !0 + }, l._mode = function() { + var t = this.options.layoutMode, + e = this.modes[t]; + if (!e) throw new Error("No layout mode: " + t); + return e.options = this.options[t], e + }, l._resetLayout = function() { + e.prototype._resetLayout.call(this), this._mode()._resetLayout() + }, l._getItemLayoutPosition = function(t) { + return this._mode()._getItemLayoutPosition(t) + }, l._manageStamp = function(t) { + this._mode()._manageStamp(t) + }, l._getContainerSize = function() { + return this._mode()._getContainerSize() + }, l.needsResizeLayout = function() { + return this._mode().needsResizeLayout() + }, l.appended = function(t) { + var e = this.addItems(t); + if (e.length) { + var i = this._filterRevealAdded(e); + this.filteredItems = this.filteredItems.concat(i) + } + }, l.prepended = function(t) { + var e = this._itemize(t); + if (e.length) { + this._resetLayout(), this._manageStamps(); + var i = this._filterRevealAdded(e); + this.layoutItems(this.filteredItems), this.filteredItems = i.concat(this.filteredItems), this.items = e.concat(this.items) + } + }, l._filterRevealAdded = function(t) { + var e = this._filter(t); + return this.hide(e.needHide), this.reveal(e.matches), this.layoutItems(e.matches, !0), e.matches + }, l.insert = function(t) { + var e = this.addItems(t); + if (e.length) { + var i, o, n = e.length; + for (i = 0; i < n; i++) o = e[i], this.element.appendChild(o.element); + var s = this._filter(e).matches; + for (i = 0; i < n; i++) e[i].isLayoutInstant = !0; + for (this.arrange(), i = 0; i < n; i++) delete e[i].isLayoutInstant; + this.reveal(s) + } + }; + var c = l.remove; + return l.remove = function(t) { + t = n.makeArray(t); + var e = this.getItems(t); + c.call(this, t); + for (var i = e && e.length, o = 0; i && o < i; o++) { + var s = e[o]; + n.removeFrom(this.filteredItems, s) + } + }, l.shuffle = function() { + for (var t = 0; t < this.items.length; t++) { + var e = this.items[t]; + e.sortData.random = Math.random() + } + this.options.sortBy = "random", this._sort(), this._layout() + }, l._noTransition = function(t, e) { + var i = this.options.transitionDuration; + this.options.transitionDuration = 0; + var o = t.apply(this, e); + return this.options.transitionDuration = i, o + }, l.getFilteredItemElements = function() { + return this.filteredItems.map(function(t) { + return t.element + }) + }, d +}); + + +// onePageNav +! function(t, i, n, s) { + var e = function(s, e) { + this.elem = s, this.$elem = t(s), this.options = e, this.metadata = this.$elem.data("plugin-options"), this.$win = t(i), this.sections = {}, this.didScroll = !1, this.$doc = t(n), this.docHeight = this.$doc.height() + }; + e.prototype = { + defaults: { + navItems: "a", + currentClass: "current", + changeHash: !1, + easing: "swing", + filter: "", + scrollSpeed: 750, + scrollThreshold: .5, + begin: !1, + end: !1, + scrollChange: !1 + }, + init: function() { + return this.config = t.extend({}, this.defaults, this.options, this.metadata), this.$nav = this.$elem.find(this.config.navItems), "" !== this.config.filter && (this.$nav = this.$nav.filter(this.config.filter)), this.$nav.on("click.onePageNav", t.proxy(this.handleClick, this)), this.getPositions(), this.bindInterval(), this.$win.on("resize.onePageNav", t.proxy(this.getPositions, this)), this + }, + adjustNav: function(t, i) { + t.$elem.find("." + t.config.currentClass).removeClass(t.config.currentClass), i.addClass(t.config.currentClass) + }, + bindInterval: function() { + var t, i = this; + i.$win.on("scroll.onePageNav", function() { + i.didScroll = !0 + }), i.t = setInterval(function() { + t = i.$doc.height(), i.didScroll && (i.didScroll = !1, i.scrollChange()), t !== i.docHeight && (i.docHeight = t, i.getPositions()) + }, 250) + }, + getHash: function(t) { + return t.attr("href").split("#")[1] + }, + getPositions: function() { + var i, n, s, e = this; + e.$nav.each(function() { + "" != (i = e.getHash(t(this))) && (s = t("#" + i)).length && (n = s.offset().top, e.sections[i] = Math.round(n)) + }) + }, + getSection: function(t) { + var i = null, + n = Math.round(this.$win.height() * this.config.scrollThreshold); + for (var s in this.sections) this.sections[s] - n < t && (i = s); + return i + }, + handleClick: function(n) { + var s = this, + e = t(n.currentTarget), + o = e.parent(), + a = "#" + s.getHash(e); + o.hasClass(s.config.currentClass) || (s.config.begin && s.config.begin(), s.adjustNav(s, o), s.unbindInterval(), s.scrollTo(a, function() { + s.config.changeHash && (i.location.hash = a), s.bindInterval(), s.config.end && s.config.end() + })), n.preventDefault() + }, + scrollChange: function() { + var t, i = this.$win.scrollTop(), + n = this.getSection(i); + null !== n && !(t = this.$elem.find('a[href$="#' + n + '"]').parent()).hasClass(this.config.currentClass) && (this.adjustNav(this, t), this.config.scrollChange && this.config.scrollChange(t)) + }, + scrollTo: function(i, n) { + var s = t(i).offset().top; + t("html, body").animate({ + scrollTop: s - 150 + }, this.config.scrollSpeed, this.config.easing, n) + }, + unbindInterval: function() { + clearInterval(this.t), this.$win.unbind("scroll.onePageNav") + } + }, e.defaults = e.prototype.defaults, t.fn.onePageNav = function(t) { + return this.each(function() { + new e(this, t).init() + }) + } +}(jQuery, window, document); + + +/*! tooltipster v4.2.6 */ +! function(a, b) { + "function" == typeof define && define.amd ? define(["jquery"], function(a) { + return b(a) + }) : "object" == typeof exports ? module.exports = b(require("jquery")) : b(jQuery) +}(this, function(a) { + function b(a) { + this.$container, this.constraints = null, this.__$tooltip, this.__init(a) + } + + function c(b, c) { + var d = !0; + return a.each(b, function(a, e) { + return void 0 === c[a] || b[a] !== c[a] ? (d = !1, !1) : void 0 + }), d + } + + function d(b) { + var c = b.attr("id"), + d = c ? h.window.document.getElementById(c) : null; + return d ? d === b[0] : a.contains(h.window.document.body, b[0]) + } + + function e() { + if (!g) return !1; + var a = g.document.body || g.document.documentElement, + b = a.style, + c = "transition", + d = ["Moz", "Webkit", "Khtml", "O", "ms"]; + if ("string" == typeof b[c]) return !0; + c = c.charAt(0).toUpperCase() + c.substr(1); + for (var e = 0; e < d.length; e++) + if ("string" == typeof b[d[e] + c]) return !0; + return !1 + } + var f = { + animation: "fade", + animationDuration: 350, + content: null, + contentAsHTML: !1, + contentCloning: !1, + debug: !0, + delay: 300, + delayTouch: [300, 500], + functionInit: null, + functionBefore: null, + functionReady: null, + functionAfter: null, + functionFormat: null, + IEmin: 6, + interactive: !1, + multiple: !1, + parent: null, + plugins: ["sideTip"], + repositionOnScroll: !1, + restoration: "none", + selfDestruction: !0, + theme: [], + timer: 0, + trackerInterval: 500, + trackOrigin: !1, + trackTooltip: !1, + trigger: "hover", + triggerClose: { + click: !1, + mouseleave: !1, + originClick: !1, + scroll: !1, + tap: !1, + touchleave: !1 + }, + triggerOpen: { + click: !1, + mouseenter: !1, + tap: !1, + touchstart: !1 + }, + updateAnimation: "rotate", + zIndex: 9999999 + }, + g = "undefined" != typeof window ? window : null, + h = { + hasTouchCapability: !(!g || !("ontouchstart" in g || g.DocumentTouch && g.document instanceof g.DocumentTouch || g.navigator.maxTouchPoints)), + hasTransitions: e(), + IE: !1, + semVer: "4.2.6", + window: g + }, + i = function() { + this.__$emitterPrivate = a({}), this.__$emitterPublic = a({}), this.__instancesLatestArr = [], this.__plugins = {}, this._env = h + }; + i.prototype = { + __bridge: function(b, c, d) { + if (!c[d]) { + var e = function() {}; + e.prototype = b; + var g = new e; + g.__init && g.__init(c), a.each(b, function(a, b) { + 0 != a.indexOf("__") && (c[a] ? f.debug : (c[a] = function() { + return g[a].apply(g, Array.prototype.slice.apply(arguments)) + }, c[a].bridged = g)) + }), c[d] = g + } + return this + }, + __setWindow: function(a) { + return h.window = a, this + }, + _getRuler: function(a) { + return new b(a) + }, + _off: function() { + return this.__$emitterPrivate.off.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this + }, + _on: function() { + return this.__$emitterPrivate.on.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this + }, + _one: function() { + return this.__$emitterPrivate.one.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this + }, + _plugin: function(b) { + var c = this; + if ("string" == typeof b) { + var d = b, + e = null; + return d.indexOf(".") > 0 ? e = c.__plugins[d] : a.each(c.__plugins, function(a, b) { + return b.name.substring(b.name.length - d.length - 1) == "." + d ? (e = b, !1) : void 0 + }), e + } + if (b.name.indexOf(".") < 0) throw new Error("Plugins must be namespaced"); + return c.__plugins[b.name] = b, b.core && c.__bridge(b.core, c, b.name), this + }, + _trigger: function() { + var a = Array.prototype.slice.apply(arguments); + return "string" == typeof a[0] && (a[0] = { + type: a[0] + }), this.__$emitterPrivate.trigger.apply(this.__$emitterPrivate, a), this.__$emitterPublic.trigger.apply(this.__$emitterPublic, a), this + }, + instances: function(b) { + var c = [], + d = b || ".tooltipstered"; + return a(d).each(function() { + var b = a(this), + d = b.data("tooltipster-ns"); + d && a.each(d, function(a, d) { + c.push(b.data(d)) + }) + }), c + }, + instancesLatest: function() { + return this.__instancesLatestArr + }, + off: function() { + return this.__$emitterPublic.off.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this + }, + on: function() { + return this.__$emitterPublic.on.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this + }, + one: function() { + return this.__$emitterPublic.one.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this + }, + origins: function(b) { + var c = b ? b + " " : ""; + return a(c + ".tooltipstered").toArray() + }, + setDefaults: function(b) { + return a.extend(f, b), this + }, + triggerHandler: function() { + return this.__$emitterPublic.triggerHandler.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this + } + }, a.tooltipster = new i, a.Tooltipster = function(b, c) { + this.__callbacks = { + close: [], + open: [] + }, this.__closingTime, this.__Content, this.__contentBcr, this.__destroyed = !1, this.__$emitterPrivate = a({}), this.__$emitterPublic = a({}), this.__enabled = !0, this.__garbageCollector, this.__Geometry, this.__lastPosition, this.__namespace = "tooltipster-" + Math.round(1e6 * Math.random()), this.__options, this.__$originParents, this.__pointerIsOverOrigin = !1, this.__previousThemes = [], this.__state = "closed", this.__timeouts = { + close: [], + open: null + }, this.__touchEvents = [], this.__tracker = null, this._$origin, this._$tooltip, this.__init(b, c) + }, a.Tooltipster.prototype = { + __init: function(b, c) { + var d = this; + if (d._$origin = a(b), d.__options = a.extend(!0, {}, f, c), d.__optionsFormat(), !h.IE || h.IE >= d.__options.IEmin) { + var e = null; + if (void 0 === d._$origin.data("tooltipster-initialTitle") && (e = d._$origin.attr("title"), void 0 === e && (e = null), d._$origin.data("tooltipster-initialTitle", e)), null !== d.__options.content) d.__contentSet(d.__options.content); + else { + var g, i = d._$origin.attr("data-tooltip-content"); + i && (g = a(i)), g && g[0] ? d.__contentSet(g.first()) : d.__contentSet(e) + } + d._$origin.removeAttr("title").addClass("tooltipstered"), d.__prepareOrigin(), d.__prepareGC(), a.each(d.__options.plugins, function(a, b) { + d._plug(b) + }), h.hasTouchCapability && a(h.window.document.body).on("touchmove." + d.__namespace + "-triggerOpen", function(a) { + d._touchRecordEvent(a) + }), d._on("created", function() { + d.__prepareTooltip() + })._on("repositioned", function(a) { + d.__lastPosition = a.position + }) + } else d.__options.disabled = !0 + }, + __contentInsert: function() { + var a = this, + b = a._$tooltip.find(".tooltipster-content"), + c = a.__Content, + d = function(a) { + c = a + }; + return a._trigger({ + type: "format", + content: a.__Content, + format: d + }), a.__options.functionFormat && (c = a.__options.functionFormat.call(a, a, { + origin: a._$origin[0] + }, a.__Content)), "string" != typeof c || a.__options.contentAsHTML ? b.empty().append(c) : b.text(c), a + }, + __contentSet: function(b) { + return b instanceof a && this.__options.contentCloning && (b = b.clone(!0)), this.__Content = b, this._trigger({ + type: "updated", + content: b + }), this + }, + __destroyError: function() { + throw new Error("This tooltip has been destroyed and cannot execute your method call.") + }, + __geometry: function() { + var b = this, + c = b._$origin, + d = b._$origin.is("area"); + if (d) { + var e = b._$origin.parent().attr("name"); + c = a('img[usemap="#' + e + '"]') + } + var f = c[0].getBoundingClientRect(), + g = a(h.window.document), + i = a(h.window), + j = c, + k = { + available: { + document: null, + window: null + }, + document: { + size: { + height: g.height(), + width: g.width() + } + }, + window: { + scroll: { + left: h.window.scrollX || h.window.document.documentElement.scrollLeft, + top: h.window.scrollY || h.window.document.documentElement.scrollTop + }, + size: { + height: i.height(), + width: i.width() + } + }, + origin: { + fixedLineage: !1, + offset: {}, + size: { + height: f.bottom - f.top, + width: f.right - f.left + }, + usemapImage: d ? c[0] : null, + windowOffset: { + bottom: f.bottom, + left: f.left, + right: f.right, + top: f.top + } + } + }; + if (d) { + var l = b._$origin.attr("shape"), + m = b._$origin.attr("coords"); + if (m && (m = m.split(","), a.map(m, function(a, b) { + m[b] = parseInt(a) + })), "default" != l) switch (l) { + case "circle": + var n = m[0], + o = m[1], + p = m[2], + q = o - p, + r = n - p; + k.origin.size.height = 2 * p, k.origin.size.width = k.origin.size.height, k.origin.windowOffset.left += r, k.origin.windowOffset.top += q; + break; + case "rect": + var s = m[0], + t = m[1], + u = m[2], + v = m[3]; + k.origin.size.height = v - t, k.origin.size.width = u - s, k.origin.windowOffset.left += s, k.origin.windowOffset.top += t; + break; + case "poly": + for (var w = 0, x = 0, y = 0, z = 0, A = "even", B = 0; B < m.length; B++) { + var C = m[B]; + "even" == A ? (C > y && (y = C, 0 === B && (w = y)), w > C && (w = C), A = "odd") : (C > z && (z = C, 1 == B && (x = z)), x > C && (x = C), A = "even") + } + k.origin.size.height = z - x, k.origin.size.width = y - w, k.origin.windowOffset.left += w, k.origin.windowOffset.top += x + } + } + var D = function(a) { + k.origin.size.height = a.height, k.origin.windowOffset.left = a.left, k.origin.windowOffset.top = a.top, k.origin.size.width = a.width + }; + for (b._trigger({ + type: "geometry", + edit: D, + geometry: { + height: k.origin.size.height, + left: k.origin.windowOffset.left, + top: k.origin.windowOffset.top, + width: k.origin.size.width + } + }), k.origin.windowOffset.right = k.origin.windowOffset.left + k.origin.size.width, k.origin.windowOffset.bottom = k.origin.windowOffset.top + k.origin.size.height, k.origin.offset.left = k.origin.windowOffset.left + k.window.scroll.left, k.origin.offset.top = k.origin.windowOffset.top + k.window.scroll.top, k.origin.offset.bottom = k.origin.offset.top + k.origin.size.height, k.origin.offset.right = k.origin.offset.left + k.origin.size.width, k.available.document = { + bottom: { + height: k.document.size.height - k.origin.offset.bottom, + width: k.document.size.width + }, + left: { + height: k.document.size.height, + width: k.origin.offset.left + }, + right: { + height: k.document.size.height, + width: k.document.size.width - k.origin.offset.right + }, + top: { + height: k.origin.offset.top, + width: k.document.size.width + } + }, k.available.window = { + bottom: { + height: Math.max(k.window.size.height - Math.max(k.origin.windowOffset.bottom, 0), 0), + width: k.window.size.width + }, + left: { + height: k.window.size.height, + width: Math.max(k.origin.windowOffset.left, 0) + }, + right: { + height: k.window.size.height, + width: Math.max(k.window.size.width - Math.max(k.origin.windowOffset.right, 0), 0) + }, + top: { + height: Math.max(k.origin.windowOffset.top, 0), + width: k.window.size.width + } + }; + "html" != j[0].tagName.toLowerCase();) { + if ("fixed" == j.css("position")) { + k.origin.fixedLineage = !0; + break + } + j = j.parent() + } + return k + }, + __optionsFormat: function() { + return "number" == typeof this.__options.animationDuration && (this.__options.animationDuration = [this.__options.animationDuration, this.__options.animationDuration]), "number" == typeof this.__options.delay && (this.__options.delay = [this.__options.delay, this.__options.delay]), "number" == typeof this.__options.delayTouch && (this.__options.delayTouch = [this.__options.delayTouch, this.__options.delayTouch]), "string" == typeof this.__options.theme && (this.__options.theme = [this.__options.theme]), null === this.__options.parent ? this.__options.parent = a(h.window.document.body) : "string" == typeof this.__options.parent && (this.__options.parent = a(this.__options.parent)), "hover" == this.__options.trigger ? (this.__options.triggerOpen = { + mouseenter: !0, + touchstart: !0 + }, this.__options.triggerClose = { + mouseleave: !0, + originClick: !0, + touchleave: !0 + }) : "click" == this.__options.trigger && (this.__options.triggerOpen = { + click: !0, + tap: !0 + }, this.__options.triggerClose = { + click: !0, + tap: !0 + }), this._trigger("options"), this + }, + __prepareGC: function() { + var b = this; + return b.__options.selfDestruction ? b.__garbageCollector = setInterval(function() { + var c = (new Date).getTime(); + b.__touchEvents = a.grep(b.__touchEvents, function(a, b) { + return c - a.time > 6e4 + }), d(b._$origin) || b.close(function() { + b.destroy() + }) + }, 2e4) : clearInterval(b.__garbageCollector), b + }, + __prepareOrigin: function() { + var a = this; + if (a._$origin.off("." + a.__namespace + "-triggerOpen"), h.hasTouchCapability && a._$origin.on("touchstart." + a.__namespace + "-triggerOpen touchend." + a.__namespace + "-triggerOpen touchcancel." + a.__namespace + "-triggerOpen", function(b) { + a._touchRecordEvent(b) + }), a.__options.triggerOpen.click || a.__options.triggerOpen.tap && h.hasTouchCapability) { + var b = ""; + a.__options.triggerOpen.click && (b += "click." + a.__namespace + "-triggerOpen "), a.__options.triggerOpen.tap && h.hasTouchCapability && (b += "touchend." + a.__namespace + "-triggerOpen"), a._$origin.on(b, function(b) { + a._touchIsMeaningfulEvent(b) && a._open(b) + }) + } + if (a.__options.triggerOpen.mouseenter || a.__options.triggerOpen.touchstart && h.hasTouchCapability) { + var b = ""; + a.__options.triggerOpen.mouseenter && (b += "mouseenter." + a.__namespace + "-triggerOpen "), a.__options.triggerOpen.touchstart && h.hasTouchCapability && (b += "touchstart." + a.__namespace + "-triggerOpen"), a._$origin.on(b, function(b) { + !a._touchIsTouchEvent(b) && a._touchIsEmulatedEvent(b) || (a.__pointerIsOverOrigin = !0, a._openShortly(b)) + }) + } + if (a.__options.triggerClose.mouseleave || a.__options.triggerClose.touchleave && h.hasTouchCapability) { + var b = ""; + a.__options.triggerClose.mouseleave && (b += "mouseleave." + a.__namespace + "-triggerOpen "), a.__options.triggerClose.touchleave && h.hasTouchCapability && (b += "touchend." + a.__namespace + "-triggerOpen touchcancel." + a.__namespace + "-triggerOpen"), a._$origin.on(b, function(b) { + a._touchIsMeaningfulEvent(b) && (a.__pointerIsOverOrigin = !1) + }) + } + return a + }, + __prepareTooltip: function() { + var b = this, + c = b.__options.interactive ? "auto" : ""; + return b._$tooltip.attr("id", b.__namespace).css({ + "pointer-events": c, + zIndex: b.__options.zIndex + }), a.each(b.__previousThemes, function(a, c) { + b._$tooltip.removeClass(c) + }), a.each(b.__options.theme, function(a, c) { + b._$tooltip.addClass(c) + }), b.__previousThemes = a.merge([], b.__options.theme), b + }, + __scrollHandler: function(b) { + var c = this; + if (c.__options.triggerClose.scroll) c._close(b); + else if (d(c._$origin) && d(c._$tooltip)) { + var e = null; + if (b.target === h.window.document) c.__Geometry.origin.fixedLineage || c.__options.repositionOnScroll && c.reposition(b); + else { + e = c.__geometry(); + var f = !1; + if ("fixed" != c._$origin.css("position") && c.__$originParents.each(function(b, c) { + var d = a(c), + g = d.css("overflow-x"), + h = d.css("overflow-y"); + if ("visible" != g || "visible" != h) { + var i = c.getBoundingClientRect(); + if ("visible" != g && (e.origin.windowOffset.left < i.left || e.origin.windowOffset.right > i.right)) return f = !0, !1; + if ("visible" != h && (e.origin.windowOffset.top < i.top || e.origin.windowOffset.bottom > i.bottom)) return f = !0, !1 + } + return "fixed" == d.css("position") ? !1 : void 0 + }), f) c._$tooltip.css("visibility", "hidden"); + else if (c._$tooltip.css("visibility", "visible"), c.__options.repositionOnScroll) c.reposition(b); + else { + var g = e.origin.offset.left - c.__Geometry.origin.offset.left, + i = e.origin.offset.top - c.__Geometry.origin.offset.top; + c._$tooltip.css({ + left: c.__lastPosition.coord.left + g, + top: c.__lastPosition.coord.top + i + }) + } + } + c._trigger({ + type: "scroll", + event: b, + geo: e + }) + } + return c + }, + __stateSet: function(a) { + return this.__state = a, this._trigger({ + type: "state", + state: a + }), this + }, + __timeoutsClear: function() { + return clearTimeout(this.__timeouts.open), this.__timeouts.open = null, a.each(this.__timeouts.close, function(a, b) { + clearTimeout(b) + }), this.__timeouts.close = [], this + }, + __trackerStart: function() { + var a = this, + b = a._$tooltip.find(".tooltipster-content"); + return a.__options.trackTooltip && (a.__contentBcr = b[0].getBoundingClientRect()), a.__tracker = setInterval(function() { + if (d(a._$origin) && d(a._$tooltip)) { + if (a.__options.trackOrigin) { + var e = a.__geometry(), + f = !1; + c(e.origin.size, a.__Geometry.origin.size) && (a.__Geometry.origin.fixedLineage ? c(e.origin.windowOffset, a.__Geometry.origin.windowOffset) && (f = !0) : c(e.origin.offset, a.__Geometry.origin.offset) && (f = !0)), f || (a.__options.triggerClose.mouseleave ? a._close() : a.reposition()) + } + if (a.__options.trackTooltip) { + var g = b[0].getBoundingClientRect(); + g.height === a.__contentBcr.height && g.width === a.__contentBcr.width || (a.reposition(), a.__contentBcr = g) + } + } else a._close() + }, a.__options.trackerInterval), a + }, + _close: function(b, c, d) { + var e = this, + f = !0; + if (e._trigger({ + type: "close", + event: b, + stop: function() { + f = !1 + } + }), f || d) { + c && e.__callbacks.close.push(c), e.__callbacks.open = [], e.__timeoutsClear(); + var g = function() { + a.each(e.__callbacks.close, function(a, c) { + c.call(e, e, { + event: b, + origin: e._$origin[0] + }) + }), e.__callbacks.close = [] + }; + if ("closed" != e.__state) { + var i = !0, + j = new Date, + k = j.getTime(), + l = k + e.__options.animationDuration[1]; + if ("disappearing" == e.__state && l > e.__closingTime && e.__options.animationDuration[1] > 0 && (i = !1), i) { + e.__closingTime = l, "disappearing" != e.__state && e.__stateSet("disappearing"); + var m = function() { + clearInterval(e.__tracker), e._trigger({ + type: "closing", + event: b + }), e._$tooltip.off("." + e.__namespace + "-triggerClose").removeClass("tooltipster-dying"), a(h.window).off("." + e.__namespace + "-triggerClose"), e.__$originParents.each(function(b, c) { + a(c).off("scroll." + e.__namespace + "-triggerClose") + }), e.__$originParents = null, a(h.window.document.body).off("." + e.__namespace + "-triggerClose"), e._$origin.off("." + e.__namespace + "-triggerClose"), e._off("dismissable"), e.__stateSet("closed"), e._trigger({ + type: "after", + event: b + }), e.__options.functionAfter && e.__options.functionAfter.call(e, e, { + event: b, + origin: e._$origin[0] + }), g() + }; + h.hasTransitions ? (e._$tooltip.css({ + "-moz-animation-duration": e.__options.animationDuration[1] + "ms", + "-ms-animation-duration": e.__options.animationDuration[1] + "ms", + "-o-animation-duration": e.__options.animationDuration[1] + "ms", + "-webkit-animation-duration": e.__options.animationDuration[1] + "ms", + "animation-duration": e.__options.animationDuration[1] + "ms", + "transition-duration": e.__options.animationDuration[1] + "ms" + }), e._$tooltip.clearQueue().removeClass("tooltipster-show").addClass("tooltipster-dying"), e.__options.animationDuration[1] > 0 && e._$tooltip.delay(e.__options.animationDuration[1]), e._$tooltip.queue(m)) : e._$tooltip.stop().fadeOut(e.__options.animationDuration[1], m) + } + } else g() + } + return e + }, + _off: function() { + return this.__$emitterPrivate.off.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this + }, + _on: function() { + return this.__$emitterPrivate.on.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this + }, + _one: function() { + return this.__$emitterPrivate.one.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this + }, + _open: function(b, c) { + var e = this; + if (!e.__destroying && d(e._$origin) && e.__enabled) { + var f = !0; + if ("closed" == e.__state && (e._trigger({ + type: "before", + event: b, + stop: function() { + f = !1 + } + }), f && e.__options.functionBefore && (f = e.__options.functionBefore.call(e, e, { + event: b, + origin: e._$origin[0] + }))), f !== !1 && null !== e.__Content) { + c && e.__callbacks.open.push(c), e.__callbacks.close = [], e.__timeoutsClear(); + var g, i = function() { + "stable" != e.__state && e.__stateSet("stable"), a.each(e.__callbacks.open, function(a, b) { + b.call(e, e, { + origin: e._$origin[0], + tooltip: e._$tooltip[0] + }) + }), e.__callbacks.open = [] + }; + if ("closed" !== e.__state) g = 0, "disappearing" === e.__state ? (e.__stateSet("appearing"), h.hasTransitions ? (e._$tooltip.clearQueue().removeClass("tooltipster-dying").addClass("tooltipster-show"), e.__options.animationDuration[0] > 0 && e._$tooltip.delay(e.__options.animationDuration[0]), e._$tooltip.queue(i)) : e._$tooltip.stop().fadeIn(i)) : "stable" == e.__state && i(); + else { + if (e.__stateSet("appearing"), g = e.__options.animationDuration[0], e.__contentInsert(), e.reposition(b, !0), h.hasTransitions ? (e._$tooltip.addClass("tooltipster-" + e.__options.animation).addClass("tooltipster-initial").css({ + "-moz-animation-duration": e.__options.animationDuration[0] + "ms", + "-ms-animation-duration": e.__options.animationDuration[0] + "ms", + "-o-animation-duration": e.__options.animationDuration[0] + "ms", + "-webkit-animation-duration": e.__options.animationDuration[0] + "ms", + "animation-duration": e.__options.animationDuration[0] + "ms", + "transition-duration": e.__options.animationDuration[0] + "ms" + }), setTimeout(function() { + "closed" != e.__state && (e._$tooltip.addClass("tooltipster-show").removeClass("tooltipster-initial"), e.__options.animationDuration[0] > 0 && e._$tooltip.delay(e.__options.animationDuration[0]), e._$tooltip.queue(i)) + }, 0)) : e._$tooltip.css("display", "none").fadeIn(e.__options.animationDuration[0], i), e.__trackerStart(), a(h.window).on("resize." + e.__namespace + "-triggerClose", function(b) { + var c = a(document.activeElement); + (c.is("input") || c.is("textarea")) && a.contains(e._$tooltip[0], c[0]) || e.reposition(b) + }).on("scroll." + e.__namespace + "-triggerClose", function(a) { + e.__scrollHandler(a) + }), e.__$originParents = e._$origin.parents(), e.__$originParents.each(function(b, c) { + a(c).on("scroll." + e.__namespace + "-triggerClose", function(a) { + e.__scrollHandler(a) + }) + }), e.__options.triggerClose.mouseleave || e.__options.triggerClose.touchleave && h.hasTouchCapability) { + e._on("dismissable", function(a) { + a.dismissable ? a.delay ? (m = setTimeout(function() { + e._close(a.event) + }, a.delay), e.__timeouts.close.push(m)) : e._close(a) : clearTimeout(m) + }); + var j = e._$origin, + k = "", + l = "", + m = null; + e.__options.interactive && (j = j.add(e._$tooltip)), e.__options.triggerClose.mouseleave && (k += "mouseenter." + e.__namespace + "-triggerClose ", l += "mouseleave." + e.__namespace + "-triggerClose "), e.__options.triggerClose.touchleave && h.hasTouchCapability && (k += "touchstart." + e.__namespace + "-triggerClose", l += "touchend." + e.__namespace + "-triggerClose touchcancel." + e.__namespace + "-triggerClose"), j.on(l, function(a) { + if (e._touchIsTouchEvent(a) || !e._touchIsEmulatedEvent(a)) { + var b = "mouseleave" == a.type ? e.__options.delay : e.__options.delayTouch; + e._trigger({ + delay: b[1], + dismissable: !0, + event: a, + type: "dismissable" + }) + } + }).on(k, function(a) { + !e._touchIsTouchEvent(a) && e._touchIsEmulatedEvent(a) || e._trigger({ + dismissable: !1, + event: a, + type: "dismissable" + }) + }) + } + e.__options.triggerClose.originClick && e._$origin.on("click." + e.__namespace + "-triggerClose", function(a) { + e._touchIsTouchEvent(a) || e._touchIsEmulatedEvent(a) || e._close(a) + }), (e.__options.triggerClose.click || e.__options.triggerClose.tap && h.hasTouchCapability) && setTimeout(function() { + if ("closed" != e.__state) { + var b = "", + c = a(h.window.document.body); + e.__options.triggerClose.click && (b += "click." + e.__namespace + "-triggerClose "), e.__options.triggerClose.tap && h.hasTouchCapability && (b += "touchend." + e.__namespace + "-triggerClose"), c.on(b, function(b) { + e._touchIsMeaningfulEvent(b) && (e._touchRecordEvent(b), e.__options.interactive && a.contains(e._$tooltip[0], b.target) || e._close(b)) + }), e.__options.triggerClose.tap && h.hasTouchCapability && c.on("touchstart." + e.__namespace + "-triggerClose", function(a) { + e._touchRecordEvent(a) + }) + } + }, 0), e._trigger("ready"), e.__options.functionReady && e.__options.functionReady.call(e, e, { + origin: e._$origin[0], + tooltip: e._$tooltip[0] + }) + } + if (e.__options.timer > 0) { + var m = setTimeout(function() { + e._close() + }, e.__options.timer + g); + e.__timeouts.close.push(m) + } + } + } + return e + }, + _openShortly: function(a) { + var b = this, + c = !0; + if ("stable" != b.__state && "appearing" != b.__state && !b.__timeouts.open && (b._trigger({ + type: "start", + event: a, + stop: function() { + c = !1 + } + }), c)) { + var d = 0 == a.type.indexOf("touch") ? b.__options.delayTouch : b.__options.delay; + d[0] ? b.__timeouts.open = setTimeout(function() { + b.__timeouts.open = null, b.__pointerIsOverOrigin && b._touchIsMeaningfulEvent(a) ? (b._trigger("startend"), b._open(a)) : b._trigger("startcancel") + }, d[0]) : (b._trigger("startend"), b._open(a)) + } + return b + }, + _optionsExtract: function(b, c) { + var d = this, + e = a.extend(!0, {}, c), + f = d.__options[b]; + return f || (f = {}, a.each(c, function(a, b) { + var c = d.__options[a]; + void 0 !== c && (f[a] = c) + })), a.each(e, function(b, c) { + void 0 !== f[b] && ("object" != typeof c || c instanceof Array || null == c || "object" != typeof f[b] || f[b] instanceof Array || null == f[b] ? e[b] = f[b] : a.extend(e[b], f[b])) + }), e + }, + _plug: function(b) { + var c = a.tooltipster._plugin(b); + if (!c) throw new Error('The "' + b + '" plugin is not defined'); + return c.instance && a.tooltipster.__bridge(c.instance, this, c.name), this + }, + _touchIsEmulatedEvent: function(a) { + for (var b = !1, c = (new Date).getTime(), d = this.__touchEvents.length - 1; d >= 0; d--) { + var e = this.__touchEvents[d]; + if (!(c - e.time < 500)) break; + e.target === a.target && (b = !0) + } + return b + }, + _touchIsMeaningfulEvent: function(a) { + return this._touchIsTouchEvent(a) && !this._touchSwiped(a.target) || !this._touchIsTouchEvent(a) && !this._touchIsEmulatedEvent(a) + }, + _touchIsTouchEvent: function(a) { + return 0 == a.type.indexOf("touch") + }, + _touchRecordEvent: function(a) { + return this._touchIsTouchEvent(a) && (a.time = (new Date).getTime(), this.__touchEvents.push(a)), this + }, + _touchSwiped: function(a) { + for (var b = !1, c = this.__touchEvents.length - 1; c >= 0; c--) { + var d = this.__touchEvents[c]; + if ("touchmove" == d.type) { + b = !0; + break + } + if ("touchstart" == d.type && a === d.target) break + } + return b + }, + _trigger: function() { + var b = Array.prototype.slice.apply(arguments); + return "string" == typeof b[0] && (b[0] = { + type: b[0] + }), b[0].instance = this, b[0].origin = this._$origin ? this._$origin[0] : null, b[0].tooltip = this._$tooltip ? this._$tooltip[0] : null, this.__$emitterPrivate.trigger.apply(this.__$emitterPrivate, b), a.tooltipster._trigger.apply(a.tooltipster, b), this.__$emitterPublic.trigger.apply(this.__$emitterPublic, b), this + }, + _unplug: function(b) { + var c = this; + if (c[b]) { + var d = a.tooltipster._plugin(b); + d.instance && a.each(d.instance, function(a, d) { + c[a] && c[a].bridged === c[b] && delete c[a] + }), c[b].__destroy && c[b].__destroy(), delete c[b] + } + return c + }, + close: function(a) { + return this.__destroyed ? this.__destroyError() : this._close(null, a), this + }, + content: function(a) { + var b = this; + if (void 0 === a) return b.__Content; + if (b.__destroyed) b.__destroyError(); + else if (b.__contentSet(a), null !== b.__Content) { + if ("closed" !== b.__state && (b.__contentInsert(), b.reposition(), b.__options.updateAnimation)) + if (h.hasTransitions) { + var c = b.__options.updateAnimation; + b._$tooltip.addClass("tooltipster-update-" + c), setTimeout(function() { + "closed" != b.__state && b._$tooltip.removeClass("tooltipster-update-" + c) + }, 1e3) + } else b._$tooltip.fadeTo(200, .5, function() { + "closed" != b.__state && b._$tooltip.fadeTo(200, 1) + }) + } else b._close(); + return b + }, + destroy: function() { + var b = this; + if (b.__destroyed) b.__destroyError(); + else { + "closed" != b.__state ? b.option("animationDuration", 0)._close(null, null, !0) : b.__timeoutsClear(), b._trigger("destroy"), b.__destroyed = !0, b._$origin.removeData(b.__namespace).off("." + b.__namespace + "-triggerOpen"), a(h.window.document.body).off("." + b.__namespace + "-triggerOpen"); + var c = b._$origin.data("tooltipster-ns"); + if (c) + if (1 === c.length) { + var d = null; + "previous" == b.__options.restoration ? d = b._$origin.data("tooltipster-initialTitle") : "current" == b.__options.restoration && (d = "string" == typeof b.__Content ? b.__Content : a("<div></div>").append(b.__Content).html()), d && b._$origin.attr("title", d), b._$origin.removeClass("tooltipstered"), b._$origin.removeData("tooltipster-ns").removeData("tooltipster-initialTitle") + } else c = a.grep(c, function(a, c) { + return a !== b.__namespace + }), b._$origin.data("tooltipster-ns", c); + b._trigger("destroyed"), b._off(), b.off(), b.__Content = null, b.__$emitterPrivate = null, b.__$emitterPublic = null, b.__options.parent = null, b._$origin = null, b._$tooltip = null, a.tooltipster.__instancesLatestArr = a.grep(a.tooltipster.__instancesLatestArr, function(a, c) { + return b !== a + }), clearInterval(b.__garbageCollector) + } + return b + }, + disable: function() { + return this.__destroyed ? (this.__destroyError(), this) : (this._close(), this.__enabled = !1, this) + }, + elementOrigin: function() { + return this.__destroyed ? void this.__destroyError() : this._$origin[0] + }, + elementTooltip: function() { + return this._$tooltip ? this._$tooltip[0] : null + }, + enable: function() { + return this.__enabled = !0, this + }, + hide: function(a) { + return this.close(a) + }, + instance: function() { + return this + }, + off: function() { + return this.__destroyed || this.__$emitterPublic.off.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this + }, + on: function() { + return this.__destroyed ? this.__destroyError() : this.__$emitterPublic.on.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this + }, + one: function() { + return this.__destroyed ? this.__destroyError() : this.__$emitterPublic.one.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this + }, + open: function(a) { + return this.__destroyed ? this.__destroyError() : this._open(null, a), this + }, + option: function(b, c) { + return void 0 === c ? this.__options[b] : (this.__destroyed ? this.__destroyError() : (this.__options[b] = c, this.__optionsFormat(), a.inArray(b, ["trigger", "triggerClose", "triggerOpen"]) >= 0 && this.__prepareOrigin(), "selfDestruction" === b && this.__prepareGC()), this) + }, + reposition: function(a, b) { + var c = this; + return c.__destroyed ? c.__destroyError() : "closed" != c.__state && d(c._$origin) && (b || d(c._$tooltip)) && (b || c._$tooltip.detach(), c.__Geometry = c.__geometry(), c._trigger({ + type: "reposition", + event: a, + helper: { + geo: c.__Geometry + } + })), c + }, + show: function(a) { + return this.open(a) + }, + status: function() { + return { + destroyed: this.__destroyed, + enabled: this.__enabled, + open: "closed" !== this.__state, + state: this.__state + } + }, + triggerHandler: function() { + return this.__destroyed ? this.__destroyError() : this.__$emitterPublic.triggerHandler.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this + } + }, a.fn.tooltipster = function() { + var b = Array.prototype.slice.apply(arguments), + c = "You are using a single HTML element as content for several tooltips. You probably want to set the contentCloning option to TRUE."; + if (0 === this.length) return this; + if ("string" == typeof b[0]) { + var d = "#*$~&"; + return this.each(function() { + var e = a(this).data("tooltipster-ns"), + f = e ? a(this).data(e[0]) : null; + if (!f) throw new Error("You called Tooltipster's \"" + b[0] + '" method on an uninitialized element'); + if ("function" != typeof f[b[0]]) throw new Error('Unknown method "' + b[0] + '"'); + this.length > 1 && "content" == b[0] && (b[1] instanceof a || "object" == typeof b[1] && null != b[1] && b[1].tagName) && !f.__options.contentCloning && f.__options.debug && console.log(c); + var g = f[b[0]](b[1], b[2]); + return g !== f || "instance" === b[0] ? (d = g, !1) : void 0 + }), "#*$~&" !== d ? d : this + } + a.tooltipster.__instancesLatestArr = []; + var e = b[0] && void 0 !== b[0].multiple, + g = e && b[0].multiple || !e && f.multiple, + h = b[0] && void 0 !== b[0].content, + i = h && b[0].content || !h && f.content, + j = b[0] && void 0 !== b[0].contentCloning, + k = j && b[0].contentCloning || !j && f.contentCloning, + l = b[0] && void 0 !== b[0].debug, + m = l && b[0].debug || !l && f.debug; + return this.length > 1 && (i instanceof a || "object" == typeof i && null != i && i.tagName) && !k && m && console.log(c), this.each(function() { + var c = !1, + d = a(this), + e = d.data("tooltipster-ns"), + f = null; + e ? g ? c = !0 : m : c = !0, c && (f = new a.Tooltipster(this, b[0]), e || (e = []), e.push(f.__namespace), d.data("tooltipster-ns", e), d.data(f.__namespace, f), f.__options.functionInit && f.__options.functionInit.call(f, f, { + origin: this + }), f._trigger("init")), a.tooltipster.__instancesLatestArr.push(f) + }), this + }, b.prototype = { + __init: function(b) { + this.__$tooltip = b, this.__$tooltip.css({ + left: 0, + overflow: "hidden", + position: "absolute", + top: 0 + }).find(".tooltipster-content").css("overflow", "auto"), this.$container = a('<div class="tooltipster-ruler"></div>').append(this.__$tooltip).appendTo(h.window.document.body) + }, + __forceRedraw: function() { + var a = this.__$tooltip.parent(); + this.__$tooltip.detach(), this.__$tooltip.appendTo(a) + }, + constrain: function(a, b) { + return this.constraints = { + width: a, + height: b + }, this.__$tooltip.css({ + display: "block", + height: "", + overflow: "auto", + width: a + }), this + }, + destroy: function() { + this.__$tooltip.detach().find(".tooltipster-content").css({ + display: "", + overflow: "" + }), this.$container.remove() + }, + free: function() { + return this.constraints = null, this.__$tooltip.css({ + display: "", + height: "", + overflow: "visible", + width: "" + }), this + }, + measure: function() { + this.__forceRedraw(); + var a = this.__$tooltip[0].getBoundingClientRect(), + b = { + size: { + height: a.height || a.bottom - a.top, + width: a.width || a.right - a.left + } + }; + if (this.constraints) { + var c = this.__$tooltip.find(".tooltipster-content"), + d = this.__$tooltip.outerHeight(), + e = c[0].getBoundingClientRect(), + f = { + height: d <= this.constraints.height, + width: a.width <= this.constraints.width && e.width >= c[0].scrollWidth - 1 + }; + b.fits = f.height && f.width + } + return h.IE && h.IE <= 11 && b.size.width !== h.window.document.documentElement.clientWidth && (b.size.width = Math.ceil(b.size.width) + 1), b + } + }; + var j = navigator.userAgent.toLowerCase(); - 1 != j.indexOf("msie") ? h.IE = parseInt(j.split("msie")[1]) : -1 !== j.toLowerCase().indexOf("trident") && -1 !== j.indexOf(" rv:11") ? h.IE = 11 : -1 != j.toLowerCase().indexOf("edge/") && (h.IE = parseInt(j.toLowerCase().split("edge/")[1])); + var k = "tooltipster.sideTip"; + return a.tooltipster._plugin({ + name: k, + instance: { + __defaults: function() { + return { + arrow: !0, + distance: 6, + functionPosition: null, + maxWidth: null, + minIntersection: 16, + minWidth: 0, + position: null, + side: "top", + viewportAware: !0 + } + }, + __init: function(a) { + var b = this; + b.__instance = a, b.__namespace = "tooltipster-sideTip-" + Math.round(1e6 * Math.random()), b.__previousState = "closed", b.__options, b.__optionsFormat(), b.__instance._on("state." + b.__namespace, function(a) { + "closed" == a.state ? b.__close() : "appearing" == a.state && "closed" == b.__previousState && b.__create(), b.__previousState = a.state + }), b.__instance._on("options." + b.__namespace, function() { + b.__optionsFormat() + }), b.__instance._on("reposition." + b.__namespace, function(a) { + b.__reposition(a.event, a.helper) + }) + }, + __close: function() { + this.__instance.content() instanceof a && this.__instance.content().detach(), this.__instance._$tooltip.remove(), this.__instance._$tooltip = null + }, + __create: function() { + var b = a('<div class="tooltipster-base tooltipster-sidetip"><div class="tooltipster-box"><div class="tooltipster-content"></div></div><div class="tooltipster-arrow"><div class="tooltipster-arrow-uncropped"><div class="tooltipster-arrow-border"></div><div class="tooltipster-arrow-background"></div></div></div></div>'); + this.__options.arrow || b.find(".tooltipster-box").css("margin", 0).end().find(".tooltipster-arrow").hide(), this.__options.minWidth && b.css("min-width", this.__options.minWidth + "px"), this.__options.maxWidth && b.css("max-width", this.__options.maxWidth + "px"), + this.__instance._$tooltip = b, this.__instance._trigger("created") + }, + __destroy: function() { + this.__instance._off("." + self.__namespace) + }, + __optionsFormat: function() { + var b = this; + if (b.__options = b.__instance._optionsExtract(k, b.__defaults()), b.__options.position && (b.__options.side = b.__options.position), "object" != typeof b.__options.distance && (b.__options.distance = [b.__options.distance]), b.__options.distance.length < 4 && (void 0 === b.__options.distance[1] && (b.__options.distance[1] = b.__options.distance[0]), void 0 === b.__options.distance[2] && (b.__options.distance[2] = b.__options.distance[0]), void 0 === b.__options.distance[3] && (b.__options.distance[3] = b.__options.distance[1]), b.__options.distance = { + top: b.__options.distance[0], + right: b.__options.distance[1], + bottom: b.__options.distance[2], + left: b.__options.distance[3] + }), "string" == typeof b.__options.side) { + var c = { + top: "bottom", + right: "left", + bottom: "top", + left: "right" + }; + b.__options.side = [b.__options.side, c[b.__options.side]], "left" == b.__options.side[0] || "right" == b.__options.side[0] ? b.__options.side.push("top", "bottom") : b.__options.side.push("right", "left") + } + 6 === a.tooltipster._env.IE && b.__options.arrow !== !0 && (b.__options.arrow = !1) + }, + __reposition: function(b, c) { + var d, e = this, + f = e.__targetFind(c), + g = []; + e.__instance._$tooltip.detach(); + var h = e.__instance._$tooltip.clone(), + i = a.tooltipster._getRuler(h), + j = !1, + k = e.__instance.option("animation"); + switch (k && h.removeClass("tooltipster-" + k), a.each(["window", "document"], function(d, k) { + var l = null; + if (e.__instance._trigger({ + container: k, + helper: c, + satisfied: j, + takeTest: function(a) { + l = a + }, + results: g, + type: "positionTest" + }), 1 == l || 0 != l && 0 == j && ("window" != k || e.__options.viewportAware)) + for (var d = 0; d < e.__options.side.length; d++) { + var m = { + horizontal: 0, + vertical: 0 + }, + n = e.__options.side[d]; + "top" == n || "bottom" == n ? m.vertical = e.__options.distance[n] : m.horizontal = e.__options.distance[n], e.__sideChange(h, n), a.each(["natural", "constrained"], function(a, d) { + if (l = null, e.__instance._trigger({ + container: k, + event: b, + helper: c, + mode: d, + results: g, + satisfied: j, + side: n, + takeTest: function(a) { + l = a + }, + type: "positionTest" + }), 1 == l || 0 != l && 0 == j) { + var h = { + container: k, + distance: m, + fits: null, + mode: d, + outerSize: null, + side: n, + size: null, + target: f[n], + whole: null + }, + o = "natural" == d ? i.free() : i.constrain(c.geo.available[k][n].width - m.horizontal, c.geo.available[k][n].height - m.vertical), + p = o.measure(); + if (h.size = p.size, h.outerSize = { + height: p.size.height + m.vertical, + width: p.size.width + m.horizontal + }, "natural" == d ? c.geo.available[k][n].width >= h.outerSize.width && c.geo.available[k][n].height >= h.outerSize.height ? h.fits = !0 : h.fits = !1 : h.fits = p.fits, "window" == k && (h.fits ? "top" == n || "bottom" == n ? h.whole = c.geo.origin.windowOffset.right >= e.__options.minIntersection && c.geo.window.size.width - c.geo.origin.windowOffset.left >= e.__options.minIntersection : h.whole = c.geo.origin.windowOffset.bottom >= e.__options.minIntersection && c.geo.window.size.height - c.geo.origin.windowOffset.top >= e.__options.minIntersection : h.whole = !1), g.push(h), h.whole) j = !0; + else if ("natural" == h.mode && (h.fits || h.size.width <= c.geo.available[k][n].width)) return !1 + } + }) + } + }), e.__instance._trigger({ + edit: function(a) { + g = a + }, + event: b, + helper: c, + results: g, + type: "positionTested" + }), g.sort(function(a, b) { + if (a.whole && !b.whole) return -1; + if (!a.whole && b.whole) return 1; + if (a.whole && b.whole) { + var c = e.__options.side.indexOf(a.side), + d = e.__options.side.indexOf(b.side); + return d > c ? -1 : c > d ? 1 : "natural" == a.mode ? -1 : 1 + } + if (a.fits && !b.fits) return -1; + if (!a.fits && b.fits) return 1; + if (a.fits && b.fits) { + var c = e.__options.side.indexOf(a.side), + d = e.__options.side.indexOf(b.side); + return d > c ? -1 : c > d ? 1 : "natural" == a.mode ? -1 : 1 + } + return "document" == a.container && "bottom" == a.side && "natural" == a.mode ? -1 : 1 + }), d = g[0], d.coord = {}, d.side) { + case "left": + case "right": + d.coord.top = Math.floor(d.target - d.size.height / 2); + break; + case "bottom": + case "top": + d.coord.left = Math.floor(d.target - d.size.width / 2) + } + switch (d.side) { + case "left": + d.coord.left = c.geo.origin.windowOffset.left - d.outerSize.width; + break; + case "right": + d.coord.left = c.geo.origin.windowOffset.right + d.distance.horizontal; + break; + case "top": + d.coord.top = c.geo.origin.windowOffset.top - d.outerSize.height; + break; + case "bottom": + d.coord.top = c.geo.origin.windowOffset.bottom + d.distance.vertical + } + "window" == d.container ? "top" == d.side || "bottom" == d.side ? d.coord.left < 0 ? c.geo.origin.windowOffset.right - this.__options.minIntersection >= 0 ? d.coord.left = 0 : d.coord.left = c.geo.origin.windowOffset.right - this.__options.minIntersection - 1 : d.coord.left > c.geo.window.size.width - d.size.width && (c.geo.origin.windowOffset.left + this.__options.minIntersection <= c.geo.window.size.width ? d.coord.left = c.geo.window.size.width - d.size.width : d.coord.left = c.geo.origin.windowOffset.left + this.__options.minIntersection + 1 - d.size.width) : d.coord.top < 0 ? c.geo.origin.windowOffset.bottom - this.__options.minIntersection >= 0 ? d.coord.top = 0 : d.coord.top = c.geo.origin.windowOffset.bottom - this.__options.minIntersection - 1 : d.coord.top > c.geo.window.size.height - d.size.height && (c.geo.origin.windowOffset.top + this.__options.minIntersection <= c.geo.window.size.height ? d.coord.top = c.geo.window.size.height - d.size.height : d.coord.top = c.geo.origin.windowOffset.top + this.__options.minIntersection + 1 - d.size.height) : (d.coord.left > c.geo.window.size.width - d.size.width && (d.coord.left = c.geo.window.size.width - d.size.width), d.coord.left < 0 && (d.coord.left = 0)), e.__sideChange(h, d.side), c.tooltipClone = h[0], c.tooltipParent = e.__instance.option("parent").parent[0], c.mode = d.mode, c.whole = d.whole, c.origin = e.__instance._$origin[0], c.tooltip = e.__instance._$tooltip[0], delete d.container, delete d.fits, delete d.mode, delete d.outerSize, delete d.whole, d.distance = d.distance.horizontal || d.distance.vertical; + var l = a.extend(!0, {}, d); + if (e.__instance._trigger({ + edit: function(a) { + d = a + }, + event: b, + helper: c, + position: l, + type: "position" + }), e.__options.functionPosition) { + var m = e.__options.functionPosition.call(e, e.__instance, c, l); + m && (d = m) + } + i.destroy(); + var n, o; + "top" == d.side || "bottom" == d.side ? (n = { + prop: "left", + val: d.target - d.coord.left + }, o = d.size.width - this.__options.minIntersection) : (n = { + prop: "top", + val: d.target - d.coord.top + }, o = d.size.height - this.__options.minIntersection), n.val < this.__options.minIntersection ? n.val = this.__options.minIntersection : n.val > o && (n.val = o); + var p; + p = c.geo.origin.fixedLineage ? c.geo.origin.windowOffset : { + left: c.geo.origin.windowOffset.left + c.geo.window.scroll.left, + top: c.geo.origin.windowOffset.top + c.geo.window.scroll.top + }, d.coord = { + left: p.left + (d.coord.left - c.geo.origin.windowOffset.left), + top: p.top + (d.coord.top - c.geo.origin.windowOffset.top) + }, e.__sideChange(e.__instance._$tooltip, d.side), c.geo.origin.fixedLineage ? e.__instance._$tooltip.css("position", "fixed") : e.__instance._$tooltip.css("position", ""), e.__instance._$tooltip.css({ + left: d.coord.left, + top: d.coord.top, + height: d.size.height, + width: d.size.width + }).find(".tooltipster-arrow").css({ + left: "", + top: "" + }).css(n.prop, n.val), e.__instance._$tooltip.appendTo(e.__instance.option("parent")), e.__instance._trigger({ + type: "repositioned", + event: b, + position: d + }) + }, + __sideChange: function(a, b) { + a.removeClass("tooltipster-bottom").removeClass("tooltipster-left").removeClass("tooltipster-right").removeClass("tooltipster-top").addClass("tooltipster-" + b) + }, + __targetFind: function(a) { + var b = {}, + c = this.__instance._$origin[0].getClientRects(); + if (c.length > 1) { + var d = this.__instance._$origin.css("opacity"); + 1 == d && (this.__instance._$origin.css("opacity", .99), c = this.__instance._$origin[0].getClientRects(), this.__instance._$origin.css("opacity", 1)) + } + if (c.length < 2) b.top = Math.floor(a.geo.origin.windowOffset.left + a.geo.origin.size.width / 2), b.bottom = b.top, b.left = Math.floor(a.geo.origin.windowOffset.top + a.geo.origin.size.height / 2), b.right = b.left; + else { + var e = c[0]; + b.top = Math.floor(e.left + (e.right - e.left) / 2), e = c.length > 2 ? c[Math.ceil(c.length / 2) - 1] : c[0], b.right = Math.floor(e.top + (e.bottom - e.top) / 2), e = c[c.length - 1], b.bottom = Math.floor(e.left + (e.right - e.left) / 2), e = c.length > 2 ? c[Math.ceil((c.length + 1) / 2) - 1] : c[c.length - 1], b.left = Math.floor(e.top + (e.bottom - e.top) / 2) + } + return b + } + } + }), a +}); + + + + +/** + * jQuery.marquee - scrolling text like old marquee element + * @author Aamir Afridi - aamirafridi(at)gmail(dot)com / http://aamirafridi.com/jquery/jquery-marquee-plugin + */ +(function(f) { + f.fn.marquee = function(x) { + return this.each(function() { + var a = f.extend({}, f.fn.marquee.defaults, x), + b = f(this), + c, t, e = 3, + y = "animation-play-state", + p = !1, + E = function(a, b, c) { + for (var e = ["webkit", "moz", "MS", "o", ""], d = 0; d < e.length; d++) e[d] || (b = b.toLowerCase()), a.addEventListener(e[d] + b, c, !1) + }, + F = function(a) { + var b = [], + c; + for (c in a) a.hasOwnProperty(c) && b.push(c + ":" + a[c]); + b.push(); + return "{" + b.join(",") + "}" + }, + l = { + pause: function() { + p && a.allowCss3Support ? c.css(y, "paused") : f.fn.pause && c.pause(); + b.data("runningStatus", + "paused"); + b.trigger("paused") + }, + resume: function() { + p && a.allowCss3Support ? c.css(y, "running") : f.fn.resume && c.resume(); + b.data("runningStatus", "resumed"); + b.trigger("resumed") + }, + toggle: function() { + l["resumed" == b.data("runningStatus") ? "pause" : "resume"]() + }, + destroy: function() { + clearTimeout(b.timer); + b.find("*").addBack().unbind(); + b.html(b.find(".js-marquee:first").html()) + } + }; + if ("string" === typeof x) f.isFunction(l[x]) && (c || (c = b.find(".js-marquee-wrapper")), !0 === b.data("css3AnimationIsSupported") && (p = !0), l[x]()); + else { + var u; + f.each(a, function(c, d) { + u = b.attr("data-" + c); + if ("undefined" !== typeof u) { + switch (u) { + case "true": + u = !0; + break; + case "false": + u = !1 + } + a[c] = u + } + }); + a.speed && (a.duration = parseInt(b.width(), 10) / a.speed * 1E3); + var v = "up" == a.direction || "down" == a.direction; + a.gap = a.duplicated ? parseInt(a.gap) : 0; + b.wrapInner('<div class="js-marquee"></div>'); + var h = b.find(".js-marquee").css({ + "margin-right": a.gap, + "float": "left" + }); + a.duplicated && h.clone(!0).appendTo(b); + b.wrapInner('<div style="width:100000px" class="js-marquee-wrapper"></div>'); + c = b.find(".js-marquee-wrapper"); + if (v) { + var k = b.height(); + c.removeAttr("style"); + b.height(k); + b.find(".js-marquee").css({ + "float": "none", + "margin-bottom": a.gap, + "margin-right": 0 + }); + a.duplicated && b.find(".js-marquee:last").css({ + "margin-bottom": 0 + }); + var q = b.find(".js-marquee:first").height() + a.gap; + a.startVisible && !a.duplicated ? (a._completeDuration = (parseInt(q, 10) + parseInt(k, 10)) / parseInt(k, 10) * a.duration, a.duration *= parseInt(q, 10) / parseInt(k, 10)) : a.duration *= (parseInt(q, 10) + parseInt(k, 10)) / parseInt(k, 10) + } else { + var m = + b.find(".js-marquee:first").width() + a.gap; + var n = b.width(); + a.startVisible && !a.duplicated ? (a._completeDuration = (parseInt(m, 10) + parseInt(n, 10)) / parseInt(n, 10) * a.duration, a.duration *= parseInt(m, 10) / parseInt(n, 10)) : a.duration *= (parseInt(m, 10) + parseInt(n, 10)) / parseInt(n, 10) + } + a.duplicated && (a.duration /= 2); + if (a.allowCss3Support) { + h = document.body || document.createElement("div"); + var g = "marqueeAnimation-" + Math.floor(1E7 * Math.random()), + A = ["Webkit", "Moz", "O", "ms", "Khtml"], + B = "animation", + d = "", + r = ""; + h.style.animation && + (r = "@keyframes " + g + " ", p = !0); + if (!1 === p) + for (var z = 0; z < A.length; z++) + if (void 0 !== h.style[A[z] + "AnimationName"]) { + h = "-" + A[z].toLowerCase() + "-"; + B = h + B; + y = h + y; + r = "@" + h + "keyframes " + g + " "; + p = !0; + break + } + p && (d = g + " " + a.duration / 1E3 + "s " + a.delayBeforeStart / 1E3 + "s infinite " + a.css3easing, b.data("css3AnimationIsSupported", !0)) + } + var C = function() { + c.css("transform", "translateY(" + ("up" == a.direction ? k + "px" : "-" + q + "px") + ")") + }, + D = function() { + c.css("transform", "translateX(" + ("left" == a.direction ? n + "px" : "-" + m + "px") + ")") + }; + a.duplicated ? + (v ? a.startVisible ? c.css("transform", "translateY(0)") : c.css("transform", "translateY(" + ("up" == a.direction ? k + "px" : "-" + (2 * q - a.gap) + "px") + ")") : a.startVisible ? c.css("transform", "translateX(0)") : c.css("transform", "translateX(" + ("left" == a.direction ? n + "px" : "-" + (2 * m - a.gap) + "px") + ")"), a.startVisible || (e = 1)) : a.startVisible ? e = 2 : v ? C() : D(); + var w = function() { + a.duplicated && (1 === e ? (a._originalDuration = a.duration, a.duration = v ? "up" == a.direction ? a.duration + k / (q / a.duration) : 2 * a.duration : "left" == a.direction ? a.duration + n / + (m / a.duration) : 2 * a.duration, d && (d = g + " " + a.duration / 1E3 + "s " + a.delayBeforeStart / 1E3 + "s " + a.css3easing), e++) : 2 === e && (a.duration = a._originalDuration, d && (g += "0", r = f.trim(r) + "0 ", d = g + " " + a.duration / 1E3 + "s 0s infinite " + a.css3easing), e++)); + v ? a.duplicated ? (2 < e && c.css("transform", "translateY(" + ("up" == a.direction ? 0 : "-" + q + "px") + ")"), t = { + transform: "translateY(" + ("up" == a.direction ? "-" + q + "px" : 0) + ")" + }) : a.startVisible ? 2 === e ? (d && (d = g + " " + a.duration / 1E3 + "s " + a.delayBeforeStart / 1E3 + "s " + a.css3easing), t = { + transform: "translateY(" + + ("up" == a.direction ? "-" + q + "px" : k + "px") + ")" + }, e++) : 3 === e && (a.duration = a._completeDuration, d && (g += "0", r = f.trim(r) + "0 ", d = g + " " + a.duration / 1E3 + "s 0s infinite " + a.css3easing), C()) : (C(), t = { + transform: "translateY(" + ("up" == a.direction ? "-" + c.height() + "px" : k + "px") + ")" + }) : a.duplicated ? (2 < e && c.css("transform", "translateX(" + ("left" == a.direction ? 0 : "-" + m + "px") + ")"), t = { + transform: "translateX(" + ("left" == a.direction ? "-" + m + "px" : 0) + ")" + }) : a.startVisible ? 2 === e ? (d && (d = g + " " + a.duration / 1E3 + "s " + a.delayBeforeStart / 1E3 + "s " + a.css3easing), + t = { + transform: "translateX(" + ("left" == a.direction ? "-" + m + "px" : n + "px") + ")" + }, e++) : 3 === e && (a.duration = a._completeDuration, d && (g += "0", r = f.trim(r) + "0 ", d = g + " " + a.duration / 1E3 + "s 0s infinite " + a.css3easing), D()) : (D(), t = { + transform: "translateX(" + ("left" == a.direction ? "-" + m + "px" : n + "px") + ")" + }); + b.trigger("beforeStarting"); + if (p) { + c.css(B, d); + var h = r + " { 100% " + F(t) + "}", + l = c.find("style"); + 0 !== l.length ? l.filter(":last").html(h) : f("head").append("<style>" + h + "</style>"); + E(c[0], "AnimationIteration", function() { + b.trigger("finished") + }); + E(c[0], "AnimationEnd", function() { + w(); + b.trigger("finished") + }) + } else c.animate(t, a.duration, a.easing, function() { + b.trigger("finished"); + a.pauseOnCycle ? b.timer = setTimeout(w, a.delayBeforeStart) : w() + }); + b.data("runningStatus", "resumed") + }; + b.bind("pause", l.pause); + b.bind("resume", l.resume); + a.pauseOnHover && (b.bind("mouseenter", l.pause), b.bind("mouseleave", l.resume)); + p && a.allowCss3Support ? w() : b.timer = setTimeout(w, a.delayBeforeStart) + } + }) + }; + f.fn.marquee.defaults = { + allowCss3Support: !0, + css3easing: "linear", + easing: "linear", + delayBeforeStart: 1E3, + direction: "left", + duplicated: !1, + duration: 5E3, + gap: 20, + pauseOnCycle: !1, + pauseOnHover: !1, + startVisible: !1 + } +})(jQuery); \ No newline at end of file diff --git a/models.html b/models.html new file mode 100644 index 0000000000000000000000000000000000000000..ccada8bb359181bff1f0fabe3b67315cfc4ae39f --- /dev/null +++ b/models.html @@ -0,0 +1,1516 @@ +<!DOCTYPE html> +<!--[if lt IE 7 ]><html class="ie ie6" lang="en"> <![endif]--> +<!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]--> +<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]--> +<!--[if (gte IE 9)|!(IE)]><!--> +<html lang="en"> +<!--<![endif]--> + +<head> + + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + + <meta name="description" content="TechWave"> + <meta name="author" content="SRBThemes"> + + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + + <title>Finetuned Models - TechWave</title> + + + <script> + if (!localStorage.frenify_skin) { + localStorage.frenify_skin = 'dark'; + } + if (!localStorage.frenify_panel) { + localStorage.frenify_panel = ''; + } + document.documentElement.setAttribute("data-techwave-skin", localStorage.frenify_skin); + if (localStorage.frenify_panel !== '') { + document.documentElement.classList.add(localStorage.frenify_panel); + } + </script> + + <!-- Google Fonts --> + <link rel="preconnect" href="https://fonts.googleapis.com"> + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> + <link href="https://fonts.googleapis.com/css2?family=Heebo:wght@100;200;300;400;500;600;700;800;900&family=Work+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet"> + <!-- !Google Fonts --> + + <!-- Styles --> + <link type="text/css" rel="stylesheet" href="css/plugins.css?ver=1.0.0" /> + <link type="text/css" rel="stylesheet" href="css/style.css?ver=1.0.0" /> + <!--[if lt IE 9]> <script type="text/javascript" src="js/modernizr.custom.js"></script> <![endif]--> + <!-- !Styles --> + +</head> + +<body> + + + <!-- Moving Submenu --> + <div class="techwave_fn_fixedsub"> + <ul></ul> + </div> + <!-- !Moving Submenu --> + + <!-- Preloader --> + <div class="techwave_fn_preloader"> + <svg> + <circle class="first_circle" cx="50%" cy="50%" r="110"></circle> + <circle class="second_circle" cx="50%" cy="50%" r="110"></circle> + </svg> + </div> + <!-- !Preloader --> + + <!-- Report --> + <div class="techwave_fn_report"> + <a href="#" class="fn__closer fn__icon_button"> + <img src="svg/close.svg" alt="" class="fn__svg"> + </a> + <div class="report__closer"></div> + <div class="report__content"> + <h3 class="title">Report Item</h3> + <h3 class="subtitle">What is the main reason for your report?</h3> + <input class="reason_field" type="text" placeholder="Type here..."> + <div class="btns"> + <a href="#" class="report techwave_fn_button"> + <span>Report</span> + </a> + <a href="#" class="cancel techwave_fn_button"> + <span>Cancel</span> + </a> + </div> + </div> + </div> + <!-- !Report --> + + <!-- Image Lightbox --> + <div class="techwave_fn_img_lightbox"> + + <!-- top section (of the image lightbox) --> + <div class="lightbox__top"> + <div class="lightbox__tl"> + <div class="lightbox__tlbar"> + <div class="lightbox__tlbar_left"> + <div class="item item__share fn__icon_options medium_size"> + <a href="#" class="item__btn fn__icon_button"> + <img src="svg/share.svg" alt="" class="fn__svg"> + </a> + <div class="fn__icon_popup"> + <ul> + <li><a href="#">Facebook</a></li> + <li><a href="#">Twitter</a></li> + <li><a href="#">Instagram</a></li> + <li><a href="#">Linkedin</a></li> + <li><a href="#">Pinterest</a></li> + <li><a href="#" class="fn__copy" data-copied="Copied!">Copy Link</a></li> + </ul> + </div> + </div> + <div class="item item__download fn__icon_options medium_size"> + <a href="#" class="item__btn fn__icon_button"> + <img src="svg/download.svg" alt="" class="fn__svg"> + </a> + <div class="fn__icon_popup"> + <ul> + <li><a href="#">Original Image</a></li> + <li><a href="#">Creative Upscaled Image</a></li> + <li><a href="#">HD Upscaled Image</a></li> + </ul> + </div> + </div> + <div class="item item__more fn__icon_options medium_size"> + <a href="#" class="item__btn fn__icon_button"> + <span class="dots"></span> + </a> + <div class="fn__icon_popup"> + <ul> + <li><a href="#">Remove Background</a></li> + <li><a href="#">Creative Upscale</a></li> + <li><a href="#">Alternative Upscale</a></li> + <li class="high_priorety"><a href="#" class="fn__report">Report Image</a></li> + </ul> + </div> + </div> + </div> + <div class="lightbox__tlbar_center"> + <a href="#" class="img_nav nav_prev"> + <img src="svg/arrow.svg" alt="" class="fn__svg"> + </a> + <a href="#" class="img_nav nav_next"> + <img src="svg/arrow.svg" alt="" class="fn__svg"> + </a> + </div> + <div class="lightbox__tlbar_right"> + <a href="#" class="fn__like" data-id="2"> + <span class="count">343</span> + <img src="svg/like.svg" alt="" class="fn__svg empty__like"> + <img src="svg/like-full.svg" alt="" class="fn__svg full__like"> + </a> + </div> + </div> + <div class="lightbox__tlimg"> + <img src="img/gallery/main.jpg" alt=""> + </div> + </div> + <div class="lightbox__tr"> + <div class="user__profile"> + <a class="profile_link" href="user-profile.html"> + <img src="img/user/user.jpg" alt=""> + <h2 class="user_name">LuckyLee</h2> + </a> + <a class="fn__follow" href="#" data-follow-text="Follow" data-unfollow-text="Unfollow"> + <span class="text">Follow</span> + </a> + <a href="#" class="fn__closer fn__icon_button"> + <img src="svg/close.svg" alt="" class="fn__svg"> + </a> + </div> + <div class="item__details"> + <div class="fn__model"> + <div class="model_img"> + <img src="img/user/user.jpg" alt=""> + </div> + <div class="model_info"> + <h4 class="model_subtitle">Model</h4> + <h3 class="model_title">ArtShaper v3</h3> + </div> + <a href="image-generation.html" class="fn__icon_button"> + <img src="svg/arrow.svg" alt="" class="fn__svg"> + </a> + </div> + + <div class="fn__prompt_details"> + <div class="prompt__header"> + <div class="prompt__text">Prompt Details</div> + <div class="prompt__options"> + <a href="#" class="fn__icon_button"> + <span class="dots"></span> + </a> + <div class="prompt__popup"> + <ul> + <li><a href="#">Remix</a></li> + <li><a href="#">Image to Image</a></li> + <li><a href="#" class="fn__copy" data-copied="Copied!" data-text="Realistic painting, photorealistic masterpiece detailing, professional photography, natural lighting, volumetric lighting maximalist photoillustration: 8k resolution concept art intricately detailed, complex, elegant, expansive">Copy Prompt</a></li> + </ul> + </div> + </div> + </div> + <div class="prompt__content"> + <p>Realistic painting, photorealistic masterpiece detailing, professional photography, natural lighting, volumetric lighting maximalist photoillustration: 8k resolution concept art intricately detailed, complex, elegant, expansive</p> + </div> + </div> + + <div class="techwave_fn_accordion small" data-type="accordion"> + <!-- data-type values: accordion, toggle --> + <div class="acc__item"> + <div class="acc__header"> + <h2 class="acc__title">Negative Prompt</h2> + <div class="acc__icon"></div> + </div> + <div class="acc__content"> + <p>TECH-AI is an AI-powered content production suite that empowers creators with a powerful, customisable, and user-friendly platform for bringing their ideas to life.</p> + <p>With a focus on granular control at every step of content creation, we put creators at the centre of the creative process by offering granular control at every stage of generation, ensuring that AI enhances, rather than + replaces, human creative potential.</p> + <p>Our custom back-end delivers advancements in model fine tuning, prompt adherence, training and inference speed, and multi-image prompting functionality. We also address common issues around image degradation and have implemented + a custom upscaling, with much more on the way!</p> + </div> + </div> + </div> + + </div> + + <div class="fn__details_list"> + <ul> + <li> + <div class="sub_title">Created</div> + <div class="title">April 05, 2023</div> + </li> + <li> + <div class="sub_title">Resolution</div> + <div class="title">768 x 1024px</div> + </li> + <li> + <div class="sub_title">Sampler</div> + <div class="title">Tech-AI-SRBThemes</div> + </li> + <li> + <div class="sub_title">Step Count</div> + <div class="title">30</div> + </li> + <li> + <div class="sub_title">Base Model</div> + <div class="title">SRBThemes v2.0</div> + </li> + <li> + <div class="sub_title">High Contrast</div> + <div class="title">Off</div> + </li> + <li> + <div class="sub_title">Magic Prompt</div> + <div class="title">On</div> + </li> + </ul> + </div> + + </div> + </div> + <!-- !top section (of the image lightbox) --> + + <!-- related section (of the image lightbox) --> + <div class="lightbox__related"> + + <div class="fn__title_holder"> + <h2 class="title">Related Images</h2> + </div> + + <div class="fn__grid_items"> + <ul> + <li> + <a href="#" data-id="1"><img src="img/related/1.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="2"><img src="img/related/2.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="3"><img src="img/related/3.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="4"><img src="img/related/4.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="5"><img src="img/related/5.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="6"><img src="img/related/6.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="7"><img src="img/related/7.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="8"><img src="img/related/8.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="9"><img src="img/related/9.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="10"><img src="img/related/10.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="11"><img src="img/related/11.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="12"><img src="img/related/12.jpg" alt=""></a> + </li> + </ul> + </div> + + </div> + <!-- !related section (of the image lightbox) --> + + </div> + <!-- !Image Lightbox --> + + + <!-- MAIN WRAPPER --> + <div class="techwave_fn_wrapper"> + <div class="techwave_fn_wrap"> + + + <!-- Searchbar --> + <div class="techwave_fn_searchbar"> + <div class="search__bar"> + <input class="search__input" type="text" placeholder="Search here..."> + <img src="svg/search.svg" alt="" class="fn__svg search__icon"> + <a class="search__closer" href="#"><img src="svg/close.svg" alt="" class="fn__svg"></a> + </div> + <div class="search__results"> + <!-- Results will come here (via ajax after the integration you made after purchase as it doesn't work in HTML) --> + <div class="results__title">Results</div> + <div class="results__list"> + <ul> + <li><a href="#">Artificial Intelligence</a></li> + <li><a href="#">Learn about the impact of AI on the financial industry</a></li> + <li><a href="#">Delve into the realm of AI-driven manufacturing</a></li> + <li><a href="#">Understand the ethical implications surrounding AI</a></li> + </ul> + </div> + </div> + </div> + <!-- !Searchbar --> + + <!-- HEADER --> + <header class="techwave_fn_header"> + + <!-- Header left: token information --> + <div class="header__left"> + <div class="fn__token_info"> + <span class="token_summary"> + <span class="count">120</span> + <span class="text">Tokens<br>Remain</span> + </span> + <a href="pricing.html" class="token_upgrade techwave_fn_button"><span>Upgrade</span></a> + <div class="token__popup"> + Resets in <span>19 hours.</span><br> Daily limit is <span>200 tokens</span> + </div> + </div> + </div> + <!-- /Header left: token information --> + + + <!-- Header right: navigation bar --> + <div class="header__right"> + <div class="fn__nav_bar"> + + <!-- Search (bar item) --> + <div class="bar__item bar__item_search"> + <a href="#" class="item_opener"> + <img src="svg/search.svg" alt="" class="fn__svg"> + </a> + <div class="item_popup"> + <input type="text" placeholder="Search"> + </div> + </div> + <!-- !Search (bar item) --> + + <!-- Notification (bar item) --> + <div class="bar__item bar__item_notification has_notification"> + <a href="#" class="item_opener"> + <img src="svg/bell.svg" alt="" class="fn__svg"> + </a> + <div class="item_popup"> + <div class="ntfc_header"> + <h2 class="ntfc_title">Notifications</h2> + <a href="notifications.html">View All</a> + </div> + <div class="ntfc_list"> + <ul> + <li> + <p><a href="notification-single.html">Version 1.1.0 has been launched</a></p> + <span>34 Min Ago</span> + </li> + <li> + <p><a href="notification-single.html">Video Generation has been released</a></p> + <span>12 Apr</span> + </li> + <li> + <p><a href="notification-single.html">Terms has been updated</a></p> + <span>12 Apr</span> + </li> + </ul> + </div> + </div> + </div> + <!-- !Notification (bar item) --> + + <!-- Full Screen (bar item) --> + <div class="bar__item bar__item_fullscreen"> + <a href="#" class="item_opener"> + <img src="svg/fullscreen.svg" alt="" class="fn__svg f_screen"> + <img src="svg/smallscreen.svg" alt="" class="fn__svg s_screen"> + </a> + </div> + <!-- !Full Screen (bar item) --> + + <!-- Language (bar item) --> + <div class="bar__item bar__item_language"> + <a href="#" class="item_opener"> + <img src="svg/language.svg" alt="" class="fn__svg"> + </a> + <div class="item_popup"> + <ul> + <li> + <span class="active">English</span> + </li> + <li> + <a href="#">Spanish</a> + </li> + <li> + <a href="#">French</a> + </li> + </ul> + </div> + </div> + <!-- !Language (bar item) --> + + <!-- Site Skin (bar item) --> + <div class="bar__item bar__item_skin"> + <a href="#" class="item_opener"> + <img src="svg/sun.svg" alt="" class="fn__svg light_mode"> + <img src="svg/moon.svg" alt="" class="fn__svg dark_mode"> + </a> + </div> + <!-- !Site Skin (bar item) --> + + <!-- User (bar item) --> + <div class="bar__item bar__item_user"> + <a href="#" class="user_opener"> + <img src="img/user/user.jpg" alt=""> + </a> + <div class="item_popup"> + <div class="user_profile"> + <div class="user_img"> + <img src="img/user/user.jpg" alt=""> + </div> + <div class="user_info"> + <h2 class="user_name">Caden Smith<span>Free</span></h2> + <p><a href="mailto:cadmail@gmail.com" class="user_email">cadmail@gmail.com</a></p> + </div> + </div> + <div class="user_nav"> + <ul> + <li> + <a href="user-profile.html"> + <span class="icon"><img src="svg/person.svg" alt="" class="fn__svg"></span> + <span class="text">Profile</span> + </a> + </li> + <li> + <a href="user-settings.html"> + <span class="icon"><img src="svg/setting.svg" alt="" class="fn__svg"></span> + <span class="text">Settings</span> + </a> + </li> + <li> + <a href="user-billing.html"> + <span class="icon"><img src="svg/billing.svg" alt="" class="fn__svg"></span> + <span class="text">Billing</span> + </a> + </li> + <li> + <a href="sign-in.html"> + <span class="icon"><img src="svg/logout.svg" alt="" class="fn__svg"></span> + <span class="text">Log Out</span> + </a> + </li> + </ul> + </div> + </div> + </div> + <!-- !User (bar item) --> + + + </div> + </div> + <!-- !Header right: navigation bar --> + + </header> + <!-- !HEADER --> + + + <!-- LEFT PANEL --> + <div class="techwave_fn_leftpanel"> + + <div class="mobile_extra_closer"></div> + + <!-- logo (left panel) --> + <div class="leftpanel_logo"> + <a href="index.html" class="fn_logo"> + <span class="full_logo"> + <img src="img/logo-desktop-full.png" alt="" class="desktop_logo"> + <img src="img/logo-retina-full.png" alt="" class="retina_logo"> + </span> + <span class="short_logo"> + <img src="img/logo-desktop-mini.png" alt="" class="desktop_logo"> + <img src="img/logo-retina-mini.png" alt="" class="retina_logo"> + </span> + </a> + <a href="#" class="fn__closer fn__icon_button desktop_closer"> + <img src="svg/arrow.svg" alt="" class="fn__svg"> + </a> + <a href="#" class="fn__closer fn__icon_button mobile_closer"> + <img src="svg/arrow.svg" alt="" class="fn__svg"> + </a> + </div> + <!-- !logo (left panel) --> + + <!-- content (left panel) --> + <div class="leftpanel_content"> + + <!-- #1 navigation group --> + <div class="nav_group"> + <h2 class="group__title">Start Here</h2> + <ul class="group__list"> + <li> + <a href="index.html" class="fn__tooltip menu__item" data-position="right" title="Home"> + <span class="icon"><img src="svg/home.svg" alt="" class="fn__svg"></span> + <span class="text">Home</span> + </a> + </li> + <li> + <a href="community-feed.html" class="fn__tooltip menu__item" data-position="right" title="Community Feed"> + <span class="icon"><img src="svg/community.svg" alt="" class="fn__svg"></span> + <span class="text">Community Feed</span> + </a> + </li> + <li> + <a href="personal-feed.html" class="fn__tooltip menu__item" data-position="right" title="Personal Feed"> + <span class="icon"><img src="svg/person.svg" alt="" class="fn__svg"></span> + <span class="text">Personal Feed<span class="count">48</span></span> + </a> + </li> + <li> + <a href="models.html" class="fn__tooltip active menu__item" data-position="right" title="Finetuned Models"> + <span class="icon"><img src="svg/cube.svg" alt="" class="fn__svg"></span> + <span class="text">Finetuned Models</span> + </a> + </li> + </ul> + </div> + <!-- !#1 navigation group --> + + <!-- #2 navigation group --> + <div class="nav_group"> + <h2 class="group__title">User Tools</h2> + <ul class="group__list"> + <li> + <a href="image-generation.html" class="fn__tooltip menu__item" data-position="right" title="Image Generation"> + <span class="icon"><img src="svg/image.svg" alt="" class="fn__svg"></span> + <span class="text">Image Generation</span> + </a> + </li> + <li> + <a href="ai-chat-bot.html" class="fn__tooltip menu__item" data-position="right" title="AI Chat Bot"> + <span class="icon"><img src="svg/chat.svg" alt="" class="fn__svg"></span> + <span class="text">AI Chat Bot</span> + </a> + </li> + </ul> + </div> + <!-- !#2 navigation group --> + + <!-- #3 navigation group --> + <div class="nav_group"> + <h2 class="group__title">Support</h2> + <ul class="group__list"> + <li> + <a href="pricing.html" class="fn__tooltip menu__item" data-position="right" title="Pricing"> + <span class="icon"><img src="svg/dollar.svg" alt="" class="fn__svg"></span> + <span class="text">Pricing</span> + </a> + </li> + <li class="menu-item-has-children"> + <a href="video-generation.html" class="fn__tooltip menu__item" title="FAQ & Help" data-position="right"> + <span class="icon"><img src="svg/question.svg" alt="" class="fn__svg"></span> + <span class="text">FAQ & Help</span> + <span class="trigger"><img src="svg/arrow.svg" alt="" class="fn__svg"></span> + </a> + <ul class="sub-menu"> + <li> + <a href="documentation.html"><span class="text">Documentation</span></a> + </li> + <li> + <a href="faq.html"><span class="text">FAQ</span></a> + </li> + <li> + <a href="changelog.html"><span class="text">Changelog<span class="fn__sup">(1.3.0)</span></span></a> + </li> + <li> + <a href="contact.html"><span class="text">Contact Us</span></a> + </li> + <li> + <a href="index-2.html"><span class="text">Home #2</span></a> + </li> + </ul> + </li> + <li> + <a href="sign-in.html" class="fn__tooltip menu__item" data-position="right" title="Log Out"> + <span class="icon"><img src="svg/logout.svg" alt="" class="fn__svg"></span> + <span class="text">Log Out</span> + </a> + </li> + </ul> + </div> + <!-- !#3 navigation group --> + + + </div> + <!-- !content (left panel) --> + + </div> + <!-- !LEFT PANEL --> + + + <!-- CONTENT --> + <div class="techwave_fn_content"> + + <!-- PAGE (all pages go inside this div) --> + <div class="techwave_fn_page"> + + <!-- Models Page --> + <div class="techwave_fn_models_page"> + + <div class="fn__title_holder"> + <div class="container"> + <h1 class="title">Finetuned Models</h1> + </div> + </div> + + <!-- Models --> + <div class="techwave_fn_models"> + + <div class="fn__tabs"> + <div class="container"> + <div class="tab_in"> + <a class="active" href="#tab1">Main Models</a> + <a href="#tab2">Community’s</a> + <a href="#tab3">Bookmarks</a> + <a href="#tab4">My Own</a> + </div> + </div> + </div> + + + <!-- models filter --> + <div class="container"> + <div class="models__filter"> + <div class="filter__left"> + <div class="filter__search"> + <input type="text" placeholder="Search gallery"> + <a href="#" class="techwave_fn_button"><span>Search</span></a> + </div> + </div> + <div class="filter__right"> + <div class="filter__category"> + <select> + <option value="all" selected>All Categories</option> + <option value="Buildings">Buildings</option> + <option value="Characters">Characters</option> + <option value="Environments">Environments</option> + <option value="Fashion">Fashion</option> + <option value="Illustration">Illustration</option> + <option value="Graphical">Graphical</option> + <option value="Photography">Photography</option> + <option value="Textures">Textures</option> + </select> + </div> + <div class="filter__order"> + <div class="fn__icon_options medium_size align_right"> + <span class="fn__icon_button"> + <img src="svg/filter.svg" alt="" class="fn__svg"> + </span> + <div class="fn__icon_popup"> + <ul> + <li> + <a href="#">Newest</a> + </li> + <li> + <a href="#">Oldest</a> + </li> + <li> + <a href="#">A-Z</a> + </li> + </ul> + </div> + </div> + </div> + </div> + </div> + </div> + <!-- !models filter --> + + + + <div class="container"> + <!-- models content --> + <div class="models__content"> + <div class="models__results"> + <div class="fn__preloader"> + <div class="icon"></div> + <div class="text">Loading</div> + </div> + <div class="fn__tabs_content"> + <div id="tab1" class="tab__item active"> + <ul class="fn__model_items"> + + <!-- #1 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark has__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="https://masterthecrypto.com/wp-content/uploads/2019/11/BITCOIN-PRICE.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#1 model item --> + + <!-- #2 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ7Yb_OpS2KtTbaJ7RdHJaqkU6dZNJXqSuUUQ&s" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#2 model item --> + + <!-- #3 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSTHBefo9mLoY7MAEdqECfjuvW8KAZZ4qZKIA&s" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#3 model item --> + + <!-- #4 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/4.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#4 model item --> + + <!-- #5 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/5.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#5 model item --> + + <!-- #6 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/6.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#6 model item --> + + <!-- #7 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark has__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/7.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#7 model item --> + + <!-- #8 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/8.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#8 model item --> + + <!-- #9 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/9.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#9 model item --> + + <!-- #10 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/10.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#10 model item --> + + </ul> + </div> + <div id="tab2" class="tab__item"> + <ul class="fn__model_items"> + + <!-- #1 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark has__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/1.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#1 model item --> + + <!-- #2 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/2.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#2 model item --> + + <!-- #3 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/3.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#3 model item --> + + <!-- #4 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/4.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#4 model item --> + + <!-- #5 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/5.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#5 model item --> + + <!-- #6 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/6.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#6 model item --> + + <!-- #7 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark has__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/7.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#7 model item --> + + <!-- #8 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/8.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#8 model item --> + + <!-- #9 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/9.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#9 model item --> + + <!-- #10 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/10.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#10 model item --> + + </ul> + </div> + <div id="tab3" class="tab__item"> + <ul class="fn__model_items"> + + <!-- #1 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark has__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/1.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#1 model item --> + + <!-- #2 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/2.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#2 model item --> + + <!-- #3 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/3.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#3 model item --> + + <!-- #4 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/4.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#4 model item --> + + <!-- #5 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/5.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#5 model item --> + + <!-- #6 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/6.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#6 model item --> + + <!-- #7 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark has__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/7.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#7 model item --> + + <!-- #8 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/8.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#8 model item --> + + <!-- #9 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/9.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#9 model item --> + + <!-- #10 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/10.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#10 model item --> + + </ul> + </div> + <div id="tab4" class="tab__item"> + <ul class="fn__model_items"> + + <!-- #1 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark has__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/1.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#1 model item --> + + <!-- #2 model item --> + <li class="fn__model_item"> + <div class="item"> + <a href="#" class="fn__bookmark"> + <img src="svg/bookmark.svg" alt="" class="fn__svg hasntbook"> + <img src="svg/bookmarked.svg" alt="" class="fn__svg hasbook"> + </a> + <div class="img"> + <img src="img/models/2.jpg" alt=""> + </div> + <div class="item__info"> + <h3 class="title">GameVisuals</h3> + <p class="desc">A versatile model great at both photorealism and anime, includes noise offset training... by Lykon.</p> + </div> + <div class="item__author"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">Caden</h3> + </div> + </div> + </li> + <!-- !#2 model item --> + + <li class="fn__model_item new"> + <div class="item"> + <a href="#" class="fn__full_link"></a> + <span class="add"></span> + <span class="text">Add new</span> + </div> + </li> + + </ul> + </div> + </div> + + </div> + <div class="models__more"> + <a href="#" class="medium techwave_fn_button"><span>Load More</span></a> + </div> + </div> + <!-- !models content --> + </div> + + + + </div> + <!-- !Models --> + + </div> + <!-- !Models Page --> + + </div> + <!-- !PAGE (all pages go inside this div) --> + + + <!-- FOOTER (inside the content) --> + <footer class="techwave_fn_footer"> + <div class="techwave_fn_footer_content"> + <div class="copyright"> + <p> + <script> + document.write(new Date().getFullYear()) + </script>© SRBThemes</p> + </div> + <div class="menu_items"> + <ul> + <li><a href="terms.html">Terms of Service</a></li> + <li><a href="privacy.html">Privacy Policy</a></li> + </ul> + </div> + </div> + </footer> + <!-- !FOOTER (inside the content) --> + + </div> + <!-- !CONTENT --> + + + </div> + </div> + <!-- !MAIN WRAPPER --> + + + + <!-- Scripts --> + <script type="text/javascript" src="js/jquery.js?ver=1.0.0"></script> + <script type="text/javascript" src="js/plugins.js?ver=1.0.0"></script> + <!--[if lt IE 10]> <script type="text/javascript" src="js/ie8.js"></script> <![endif]--> + <script type="text/javascript" src="js/init.js?ver=1.0.0"></script> + <!-- !Scripts --> + +</body> + +</html> \ No newline at end of file diff --git a/news.html b/news.html new file mode 100644 index 0000000000000000000000000000000000000000..3cea29907fc4850f6a41fd81e0f5937abc870ac9 --- /dev/null +++ b/news.html @@ -0,0 +1,553 @@ +<!DOCTYPE html> +<!--[if lt IE 7 ]><html class="ie ie6" lang="en"> <![endif]--> +<!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]--> +<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]--> +<!--[if (gte IE 9)|!(IE)]><!--> +<html lang="en"> +<!--<![endif]--> + +<head> + + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + + <meta name="description" content="TechWave"> + <meta name="author" content="SRBThemes"> + + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + + <title>Home - TechWave</title> + + + <script> + if (!localStorage.frenify_skin) { + localStorage.frenify_skin = 'dark'; + } + if (!localStorage.frenify_panel) { + localStorage.frenify_panel = ''; + } + document.documentElement.setAttribute("data-techwave-skin", localStorage.frenify_skin); + if (localStorage.frenify_panel !== '') { + document.documentElement.classList.add(localStorage.frenify_panel); + } + </script> + + <!-- Google Fonts --> + <link rel="preconnect" href="https://fonts.googleapis.com"> + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> + <link href="https://fonts.googleapis.com/css2?family=Heebo:wght@100;200;300;400;500;600;700;800;900&family=Work+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet"> + <!-- !Google Fonts --> + + <!-- Styles --> + <link type="text/css" rel="stylesheet" href="css/plugins.css?ver=1.0.0" /> + <link type="text/css" rel="stylesheet" href="css/style.css?ver=1.0.0" /> + <!--[if lt IE 9]> <script type="text/javascript" src="js/modernizr.custom.js"></script> <![endif]--> + <!-- !Styles --> + +</head> + +<body> + + + <!-- Moving Submenu --> + <div class="techwave_fn_fixedsub"> + <ul></ul> + </div> + <!-- !Moving Submenu --> + + <!-- Preloader --> + <div class="techwave_fn_preloader enabled"> + <svg> + <circle class="first_circle" cx="50%" cy="50%" r="110"></circle> + <circle class="second_circle" cx="50%" cy="50%" r="110"></circle> + </svg> + </div> + <!-- !Preloader --> + + + <!-- MAIN WRAPPER --> + <div class="techwave_fn_wrapper"> + <div class="techwave_fn_wrap"> + + + <!-- Searchbar --> + <div class="techwave_fn_searchbar"> + <div class="search__bar"> + <input class="search__input" type="text" placeholder="Search here..."> + <img src="svg/search.svg" alt="" class="fn__svg search__icon"> + <a class="search__closer" href="#"><img src="svg/close.svg" alt="" class="fn__svg"></a> + </div> + <div class="search__results"> + <!-- Results will come here (via ajax after the integration you made after purchase as it doesn't work in HTML) --> + <div class="results__title">Results</div> + <div class="results__list"> + <ul> + <li><a href="#">Artificial Intelligence</a></li> + <li><a href="#">Learn about the impact of AI on the financial industry</a></li> + <li><a href="#">Delve into the realm of AI-driven manufacturing</a></li> + <li><a href="#">Understand the ethical implications surrounding AI</a></li> + </ul> + </div> + </div> + </div> + <!-- !Searchbar --> + + <!-- HEADER --> + <header class="techwave_fn_header"> + + <!-- Header left: token information --> + <div class="header__left"> + <div class="fn__token_info"> + <span class="token_summary"> + <script> + async function fetchBTCPrice() { + try { + const response = await fetch('https://api.coindesk.com/v1/bpi/currentprice/BTC.json'); + if (!response.ok) { + throw new Error('Network response was not ok'); + } + const data = await response.json(); + const price = data.bpi.USD.rate_float.toFixed(2); // Get the price and format it to two decimal places + document.querySelector('.count').textContent = price; + } catch (error) { + console.error('Error fetching BTC price:', error); + } + } + + // Fetch the BTC price every second + setInterval(fetchBTCPrice, 1000); + + // Initial fetch + fetchBTCPrice(); + </script> + <div class="btc-price"> + Current BTC Price: $ <span class="count">120</span> <!-- "120" is just an initial placeholder --> +</div> +<style> + .btc-icon { + width: 23px; /* Adjust the size as needed */ + height: auto; /* Maintain aspect ratio */ + vertical-align: middle; /* Aligns the image vertically with text if needed */ +} +</style> +<span class="text"> + <img src="img/btc.svg" alt="BTC Icon" class="btc-icon"> + </span> + </span> + <a href="pricing.html" class="token_upgrade techwave_fn_button"><span>Upgrade</span></a> + + </div> + </div> + <!-- /Header left: token information --> + + + <!-- Header right: navigation bar --> + <div class="header__right"> + <div class="fn__nav_bar"> + + <!-- Search (bar item) --> + <div class="bar__item bar__item_search"> + <a href="#" class="item_opener fn__tooltip" title="Search"> + <img src="svg/search.svg" alt="" class="fn__svg"> + </a> + <div class="item_popup" data-position="right"> + <input type="text" placeholder="Search"> + </div> + </div> + <!-- !Search (bar item) --> + + <!-- Notification (bar item) --> + <div class="bar__item bar__item_notification has_notification"> + <a href="#" class="item_opener fn__tooltip" title="Notifications"> + <img src="svg/bell.svg" alt="" class="fn__svg"> + </a> + <div class="item_popup" data-position="right"> + <div class="ntfc_header"> + <h2 class="ntfc_title">Notifications</h2> + <a href="notifications.html">View All</a> + </div> + <div class="ntfc_list"> + <ul> + <li> + <p><a href="notification-single.html">Version 1.1.0 has been launched</a></p> + <span>34 Min Ago</span> + </li> + <li> + <p><a href="notification-single.html">Video Generation has been released</a></p> + <span>12 Apr</span> + </li> + <li> + <p><a href="notification-single.html">Terms has been updated</a></p> + <span>12 Apr</span> + </li> + </ul> + </div> + </div> + </div> + <!-- !Notification (bar item) --> + + <!-- Full Screen (bar item) --> + <div class="bar__item bar__item_fullscreen"> + <a href="#" class="item_opener fn__tooltip" title="Full Screen"> + <img src="svg/fullscreen.svg" alt="" class="fn__svg f_screen"> + <img src="svg/smallscreen.svg" alt="" class="fn__svg s_screen"> + </a> + </div> + <!-- !Full Screen (bar item) --> + + <!-- Language (bar item) --> + <div class="bar__item bar__item_language"> + <a href="#" class="item_opener fn__tooltip" title="Language"> + <img src="svg/language.svg" alt="" class="fn__svg"> + </a> + <div class="item_popup" data-position="right"> + <ul> + <li> + <span class="active">English</span> + </li> + <li> + <a href="#">Spanish</a> + </li> + <li> + <a href="#">French</a> + </li> + </ul> + </div> + </div> + <!-- !Language (bar item) --> + + <!-- Site Skin (bar item) --> + <div class="bar__item bar__item_skin"> + <a href="#" class="item_opener fn__tooltip" title="Dark/Light"> + <img src="svg/sun.svg" alt="" class="fn__svg light_mode"> + <img src="svg/moon.svg" alt="" class="fn__svg dark_mode"> + </a> + </div> + <!-- !Site Skin (bar item) --> + + <!-- User (bar item) --> + <div class="bar__item bar__item_user"> + <a href="#" class="user_opener fn__tooltip" title="User Profile"> + <img src="img/user/user.jpg" alt=""> + </a> + <div class="item_popup" data-position="right"> + <div class="user_profile"> + <div class="user_img"> + <img src="img/user/user.jpg" alt=""> + </div> + <div class="user_info"> + <h2 class="user_name">Caden Smith<span>Free</span></h2> + <p><a href="mailto:cadmail@gmail.com" class="user_email">cadmail@gmail.com</a></p> + </div> + </div> + <div class="user_nav"> + <ul> + <li> + <a href="user-profile.html"> + <span class="icon"><img src="svg/person.svg" alt="" class="fn__svg"></span> + <span class="text">Profile</span> + </a> + </li> + <li> + <a href="user-settings.html"> + <span class="icon"><img src="svg/setting.svg" alt="" class="fn__svg"></span> + <span class="text">Settings</span> + </a> + </li> + <li> + <a href="user-billing.html"> + <span class="icon"><img src="svg/billing.svg" alt="" class="fn__svg"></span> + <span class="text">Billing</span> + </a> + </li> + <li> + <a href="sign-in.html"> + <span class="icon"><img src="svg/logout.svg" alt="" class="fn__svg"></span> + <span class="text">Log Out</span> + </a> + </li> + </ul> + </div> + </div> + </div> + <!-- !User (bar item) --> + + + </div> + </div> + <!-- !Header right: navigation bar --> + + </header> + <!-- !HEADER --> + + + <!-- LEFT PANEL --> + <div class="techwave_fn_leftpanel"> + + <div class="mobile_extra_closer"></div> + + <!-- logo (left panel) --> + <div class="leftpanel_logo"> + <a href="index.html" class="fn_logo"> + <span class="full_logo"> + <img src="img/logo-desktop-full.png" alt="" class="desktop_logo"> + <img src="img/logo-retina-full.png" alt="" class="retina_logo"> + </span> + <span class="short_logo"> + <img src="img/logo-desktop-mini.png" alt="" class="desktop_logo"> + <img src="img/logo-retina-mini.png" alt="" class="retina_logo"> + </span> + </a> + <a href="#" class="fn__closer fn__icon_button desktop_closer"> + <img src="svg/arrow.svg" alt="" class="fn__svg"> + </a> + <a href="#" class="fn__closer fn__icon_button mobile_closer"> + <img src="svg/arrow.svg" alt="" class="fn__svg"> + </a> + </div> + <!-- !logo (left panel) --> + + <!-- content (left panel) --> + <div class="leftpanel_content"> + + <!-- #1 navigation group --> + <div class="nav_group"> + <h2 class="group__title">Start Here</h2> + <ul class="group__list"> + <li> + <a href="index.html" class="fn__tooltip menu__item" data-position="right" title="Home"> + <span class="icon"><img src="svg/home.svg" alt="" class="fn__svg"></span> + <span class="text">Home</span> + </a> + </li> + <li> + <a href="news.html" class="fn__tooltip active menu__item" data-position="right" title="Community Feed"> + <span class="icon"><img src="svg/news.png" alt="" class="fn__svg"></span> + <span class="text">News</span> + </a> + </li> + <li> + <a href="personal-feed.html" class="fn__tooltip menu__item" data-position="right" title="Personal Feed"> + <span class="icon"><img src="svg/person.svg" alt="" class="fn__svg"></span> + <span class="text">Personal Feed<span class="count">48</span></span> + </a> + </li> + <li> + <a href="models.html" class="fn__tooltip menu__item" data-position="right" title="Finetuned Models"> + <span class="icon"><img src="svg/cube.svg" alt="" class="fn__svg"></span> + <span class="text">Finetuned Models</span> + </a> + </li> + </ul> + </div> + <!-- !#1 navigation group --> + + <!-- #2 navigation group --> + <div class="nav_group"> + <h2 class="group__title">User Tools</h2> + <ul class="group__list"> + <li> + <a href="image-generation.html" class="fn__tooltip menu__item" data-position="right" title="Image Generation"> + <span class="icon"><img src="svg/image.svg" alt="" class="fn__svg"></span> + <span class="text">Image Generation</span> + </a> + </li> + <li> + <a href="ai-chat-bot.html" class="fn__tooltip menu__item" data-position="right" title="AI Chat Bot"> + <span class="icon"><img src="svg/chat.svg" alt="" class="fn__svg"></span> + <span class="text">AI Chat Bot</span> + </a> + </li> + </ul> + </div> + <!-- !#2 navigation group --> + + <!-- #3 navigation group --> + <div class="nav_group"> + <h2 class="group__title">Support</h2> + <ul class="group__list"> + <li> + <a href="pricing.html" class="fn__tooltip menu__item" data-position="right" title="Pricing"> + <span class="icon"><img src="svg/dollar.svg" alt="" class="fn__svg"></span> + <span class="text">Pricing</span> + </a> + </li> + <li class="menu-item-has-children"> + <a href="video-generation.html" class="fn__tooltip menu__item" title="FAQ & Help" data-position="right"> + <span class="icon"><img src="svg/question.svg" alt="" class="fn__svg"></span> + <span class="text">FAQ & Help</span> + <span class="trigger"><img src="svg/arrow.svg" alt="" class="fn__svg"></span> + </a> + <ul class="sub-menu"> + <li> + <a href="documentation.html"><span class="text">Documentation</span></a> + </li> + <li> + <a href="faq.html"><span class="text">FAQ</span></a> + </li> + <li> + <a href="changelog.html"><span class="text">Changelog<span class="fn__sup">(1.3.0)</span></span></a> + </li> + <li> + <a href="contact.html"><span class="text">Contact Us</span></a> + </li> + <li> + <a href="index-2.html"><span class="text">Home #2</span></a> + </li> + </ul> + </li> + <li> + <a href="sign-in.html" class="fn__tooltip menu__item" data-position="right" title="Log Out"> + <span class="icon"><img src="svg/logout.svg" alt="" class="fn__svg"></span> + <span class="text">Log Out</span> + </a> + </li> + </ul> + </div> + <!-- !#3 navigation group --> + + + </div> + <!-- !content (left panel) --> + + </div> + <!-- !LEFT PANEL --> + + + <!-- CONTENT --> + <div class="techwave_fn_content"> + + <!-- PAGE (all pages go inside this div) --> + <div class="techwave_fn_page"> + + <!-- Home Page --> + <div class="techwave_fn_home"> + <div class="section_home"> + + <style> + .company_info { + text-align: center; /* Center content */ + padding: 20px; + background-color: none; /* Light background color */ + border-radius: 10px; /* Rounded corners */ + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */ +} + +.logo { + max-width: 100%; /* Responsive logo */ + height: auto; + margin-bottom: 20px; /* Space between logo and next image */ +} + +.featured-image { + max-width: 100%; /* Responsive image */ + height: auto; + margin-bottom: 20px; /* Space between image and text */ + border-radius: 10px; /* Rounded corners for the image */ + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow for the image */ +} + + </style> + <style> + .section_home .company_inf { + margin: 0 auto; + max-width: 700px; +} + </style> + <script> + async function fetchNews() { + try { + let response = await fetch('https://dooratre-test-flask-space.hf.space/news'); + let news = await response.json(); + let newsContainer = document.getElementById('news-container'); + + news.forEach(item => { + let newsSection = ` + + <h2>${item.title}</h2> + <img src="${item.image_src}" alt="Bitcoin News" class="featured-image"> + <p>${item.content}</p> + <p>${item.time_published}</p> + <hr>`; + newsContainer.innerHTML += newsSection; + }); + } catch (error) { + console.error('Error fetching news:', error); + } + } + + // Fetch news on page load + window.onload = fetchNews; + </script> + <div class="section_left"> + <div class="company_inf"> + <img src="img/logo-desktop-full.png" alt="Company Logo" class="logo"> + <div id="news-container"></div> + </div> + </div> + <div class="section_right"> + <div class="company_info"> + <img src="img/logo-desktop-full.png" alt="Company Logo" class="logo"> + <img src="https://en.cryptonomist.ch/wp-content/uploads/2024/09/bitcoin-news-blackrock.jpg" alt="Bitcoin News" class="featured-image"> + <p class="fn__animated_text">The official server of TECH-AI, a text-to-image AI where your imagination is the only limit. We’re building market-leading features that will give you greater control over your generations.</p> + <hr> + + + <div class="fn__members"> + <div class="active item"> + <span class="circle"></span> + <span class="text">1,154,694 Online</span> + </div> + <div class="item"> + <span class="circle"></span> + <span class="text">77,345,912 Members</span> + </div> + </div> + </div> + </div> + </div> + </div> + <!-- !Home Page --> + + </div> + <!-- !PAGE (all pages go inside this div) --> + + + <!-- FOOTER (inside the content) --> + <footer class="techwave_fn_footer"> + <div class="techwave_fn_footer_content"> + <div class="copyright"> + <p> + <script> + document.write(new Date().getFullYear()) + </script>© SRBThemes</p> + </div> + <div class="menu_items"> + <ul> + <li><a href="terms.html">Terms of Service</a></li> + <li><a href="privacy.html">Privacy Policy</a></li> + </ul> + </div> + </div> + </footer> + <!-- !FOOTER (inside the content) --> + + </div> + <!-- !CONTENT --> + + + </div> + </div> + <!-- !MAIN WRAPPER --> + + + + <!-- Scripts --> + <script type="text/javascript" src="js/jquery.js?ver=1.0.0"></script> + <script type="text/javascript" src="js/plugins.js?ver=1.0.0"></script> + <!--[if lt IE 10]> <script type="text/javascript" src="js/ie8.js"></script> <![endif]--> + <script type="text/javascript" src="js/init.js?ver=1.0.0"></script> + <!-- !Scripts --> + +</body> + +</html> \ No newline at end of file diff --git a/personal-feed.html b/personal-feed.html new file mode 100644 index 0000000000000000000000000000000000000000..1f62eb16443d7976e5df5ee232e6e8168630381e --- /dev/null +++ b/personal-feed.html @@ -0,0 +1,1013 @@ +<!DOCTYPE html> +<!--[if lt IE 7 ]><html class="ie ie6" lang="en"> <![endif]--> +<!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]--> +<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]--> +<!--[if (gte IE 9)|!(IE)]><!--> +<html lang="en"> +<!--<![endif]--> + +<head> + + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + + <meta name="description" content="TechWave"> + <meta name="author" content="SRBThemes"> + + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + + <title>Personal Feed - TechWave</title> + + + <script> + if (!localStorage.frenify_skin) { + localStorage.frenify_skin = 'dark'; + } + if (!localStorage.frenify_panel) { + localStorage.frenify_panel = ''; + } + document.documentElement.setAttribute("data-techwave-skin", localStorage.frenify_skin); + if (localStorage.frenify_panel !== '') { + document.documentElement.classList.add(localStorage.frenify_panel); + } + </script> + + <!-- Google Fonts --> + <link rel="preconnect" href="https://fonts.googleapis.com"> + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> + <link href="https://fonts.googleapis.com/css2?family=Heebo:wght@100;200;300;400;500;600;700;800;900&family=Work+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet"> + <!-- !Google Fonts --> + + <!-- Styles --> + <link type="text/css" rel="stylesheet" href="css/plugins.css?ver=1.0.0" /> + <link type="text/css" rel="stylesheet" href="css/style.css?ver=1.0.0" /> + <!--[if lt IE 9]> <script type="text/javascript" src="js/modernizr.custom.js"></script> <![endif]--> + <!-- !Styles --> + +</head> + +<body> + + + <!-- Moving Submenu --> + <div class="techwave_fn_fixedsub"> + <ul></ul> + </div> + <!-- !Moving Submenu --> + + <!-- Preloader --> + <div class="techwave_fn_preloader"> + <svg> + <circle class="first_circle" cx="50%" cy="50%" r="110"></circle> + <circle class="second_circle" cx="50%" cy="50%" r="110"></circle> + </svg> + </div> + <!-- !Preloader --> + + <!-- Report --> + <div class="techwave_fn_report"> + <a href="#" class="fn__closer fn__icon_button"> + <img src="svg/close.svg" alt="" class="fn__svg"> + </a> + <div class="report__closer"></div> + <div class="report__content"> + <h3 class="title">Report Item</h3> + <h3 class="subtitle">What is the main reason for your report?</h3> + <input class="reason_field" type="text" placeholder="Type here..."> + <div class="btns"> + <a href="#" class="report techwave_fn_button"> + <span>Report</span> + </a> + <a href="#" class="cancel techwave_fn_button"> + <span>Cancel</span> + </a> + </div> + </div> + </div> + <!-- !Report --> + + <!-- Image Lightbox --> + <div class="techwave_fn_img_lightbox"> + + <!-- top section (of the image lightbox) --> + <div class="lightbox__top"> + <div class="lightbox__tl"> + <div class="lightbox__tlbar"> + <div class="lightbox__tlbar_left"> + <div class="item item__share fn__icon_options medium_size"> + <a href="#" class="item__btn fn__icon_button"> + <img src="svg/share.svg" alt="" class="fn__svg"> + </a> + <div class="fn__icon_popup"> + <ul> + <li><a href="#">Facebook</a></li> + <li><a href="#">Twitter</a></li> + <li><a href="#">Instagram</a></li> + <li><a href="#">Linkedin</a></li> + <li><a href="#">Pinterest</a></li> + <li><a href="#" class="fn__copy" data-copied="Copied!">Copy Link</a></li> + </ul> + </div> + </div> + <div class="item item__download fn__icon_options medium_size"> + <a href="#" class="item__btn fn__icon_button"> + <img src="svg/download.svg" alt="" class="fn__svg"> + </a> + <div class="fn__icon_popup"> + <ul> + <li><a href="#">Original Image</a></li> + <li><a href="#">Creative Upscaled Image</a></li> + <li><a href="#">HD Upscaled Image</a></li> + </ul> + </div> + </div> + <div class="item item__more fn__icon_options medium_size"> + <a href="#" class="item__btn fn__icon_button"> + <span class="dots"></span> + </a> + <div class="fn__icon_popup"> + <ul> + <li><a href="#">Remove Background</a></li> + <li><a href="#">Creative Upscale</a></li> + <li><a href="#">Alternative Upscale</a></li> + <li class="high_priorety"><a href="#" class="fn__report">Report Image</a></li> + </ul> + </div> + </div> + </div> + <div class="lightbox__tlbar_center"> + <a href="#" class="img_nav nav_prev"> + <img src="svg/arrow.svg" alt="" class="fn__svg"> + </a> + <a href="#" class="img_nav nav_next"> + <img src="svg/arrow.svg" alt="" class="fn__svg"> + </a> + </div> + <div class="lightbox__tlbar_right"> + <a href="#" class="fn__like" data-id="2"> + <span class="count">343</span> + <img src="svg/like.svg" alt="" class="fn__svg empty__like"> + <img src="svg/like-full.svg" alt="" class="fn__svg full__like"> + </a> + </div> + </div> + <div class="lightbox__tlimg"> + <img src="img/gallery/main.jpg" alt=""> + </div> + </div> + <div class="lightbox__tr"> + <div class="user__profile"> + <a class="profile_link" href="user-profile.html"> + <img src="img/user/user.jpg" alt=""> + <h2 class="user_name">LuckyLee</h2> + </a> + <a class="fn__follow" href="#" data-follow-text="Follow" data-unfollow-text="Unfollow"> + <span class="text">Follow</span> + </a> + <a href="#" class="fn__closer fn__icon_button"> + <img src="svg/close.svg" alt="" class="fn__svg"> + </a> + </div> + <div class="item__details"> + <div class="fn__model"> + <div class="model_img"> + <img src="img/user/user.jpg" alt=""> + </div> + <div class="model_info"> + <h4 class="model_subtitle">Model</h4> + <h3 class="model_title">ArtShaper v3</h3> + </div> + <a href="image-generation.html" class="fn__icon_button"> + <img src="svg/arrow.svg" alt="" class="fn__svg"> + </a> + </div> + + <div class="fn__prompt_details"> + <div class="prompt__header"> + <div class="prompt__text">Prompt Details</div> + <div class="prompt__options"> + <a href="#" class="fn__icon_button"> + <span class="dots"></span> + </a> + <div class="prompt__popup"> + <ul> + <li><a href="#">Remix</a></li> + <li><a href="#">Image to Image</a></li> + <li><a href="#" class="fn__copy" data-copied="Copied!" data-text="Realistic painting, photorealistic masterpiece detailing, professional photography, natural lighting, volumetric lighting maximalist photoillustration: 8k resolution concept art intricately detailed, complex, elegant, expansive">Copy Prompt</a></li> + </ul> + </div> + </div> + </div> + <div class="prompt__content"> + <p>Realistic painting, photorealistic masterpiece detailing, professional photography, natural lighting, volumetric lighting maximalist photoillustration: 8k resolution concept art intricately detailed, complex, elegant, expansive</p> + </div> + </div> + + <div class="techwave_fn_accordion small" data-type="accordion"> + <!-- data-type values: accordion, toggle --> + <div class="acc__item"> + <div class="acc__header"> + <h2 class="acc__title">Negative Prompt</h2> + <div class="acc__icon"></div> + </div> + <div class="acc__content"> + <p>TECH-AI is an AI-powered content production suite that empowers creators with a powerful, customisable, and user-friendly platform for bringing their ideas to life.</p> + <p>With a focus on granular control at every step of content creation, we put creators at the centre of the creative process by offering granular control at every stage of generation, ensuring that AI enhances, rather than + replaces, human creative potential.</p> + <p>Our custom back-end delivers advancements in model fine tuning, prompt adherence, training and inference speed, and multi-image prompting functionality. We also address common issues around image degradation and have implemented + a custom upscaling, with much more on the way!</p> + </div> + </div> + </div> + + </div> + + <div class="fn__details_list"> + <ul> + <li> + <div class="sub_title">Created</div> + <div class="title">April 05, 2023</div> + </li> + <li> + <div class="sub_title">Resolution</div> + <div class="title">768 x 1024px</div> + </li> + <li> + <div class="sub_title">Sampler</div> + <div class="title">Tech-AI-SRBThemes</div> + </li> + <li> + <div class="sub_title">Step Count</div> + <div class="title">30</div> + </li> + <li> + <div class="sub_title">Base Model</div> + <div class="title">SRBThemes v2.0</div> + </li> + <li> + <div class="sub_title">High Contrast</div> + <div class="title">Off</div> + </li> + <li> + <div class="sub_title">Magic Prompt</div> + <div class="title">On</div> + </li> + </ul> + </div> + + </div> + </div> + <!-- !top section (of the image lightbox) --> + + <!-- related section (of the image lightbox) --> + <div class="lightbox__related"> + + <div class="fn__title_holder"> + <h2 class="title">Related Images</h2> + </div> + + <div class="fn__grid_items"> + <ul> + <li> + <a href="#" data-id="1"><img src="img/related/1.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="2"><img src="img/related/2.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="3"><img src="img/related/3.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="4"><img src="img/related/4.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="5"><img src="img/related/5.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="6"><img src="img/related/6.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="7"><img src="img/related/7.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="8"><img src="img/related/8.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="9"><img src="img/related/9.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="10"><img src="img/related/10.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="11"><img src="img/related/11.jpg" alt=""></a> + </li> + <li> + <a href="#" data-id="12"><img src="img/related/12.jpg" alt=""></a> + </li> + </ul> + </div> + + </div> + <!-- !related section (of the image lightbox) --> + + </div> + <!-- !Image Lightbox --> + + + <!-- MAIN WRAPPER --> + <div class="techwave_fn_wrapper"> + <div class="techwave_fn_wrap"> + + + <!-- Searchbar --> + <div class="techwave_fn_searchbar"> + <div class="search__bar"> + <input class="search__input" type="text" placeholder="Search here..."> + <img src="svg/search.svg" alt="" class="fn__svg search__icon"> + <a class="search__closer" href="#"><img src="svg/close.svg" alt="" class="fn__svg"></a> + </div> + <div class="search__results"> + <!-- Results will come here (via ajax after the integration you made after purchase as it doesn't work in HTML) --> + <div class="results__title">Results</div> + <div class="results__list"> + <ul> + <li><a href="#">Artificial Intelligence</a></li> + <li><a href="#">Learn about the impact of AI on the financial industry</a></li> + <li><a href="#">Delve into the realm of AI-driven manufacturing</a></li> + <li><a href="#">Understand the ethical implications surrounding AI</a></li> + </ul> + </div> + </div> + </div> + <!-- !Searchbar --> + + <!-- HEADER --> + <header class="techwave_fn_header"> + + <!-- Header left: token information --> + <div class="header__left"> + <div class="fn__token_info"> + <span class="token_summary"> + <span class="count">120</span> + <span class="text">Tokens<br>Remain</span> + </span> + <a href="pricing.html" class="token_upgrade techwave_fn_button"><span>Upgrade</span></a> + <div class="token__popup"> + Resets in <span>19 hours.</span><br> Daily limit is <span>200 tokens</span> + </div> + </div> + </div> + <!-- /Header left: token information --> + + + <!-- Header right: navigation bar --> + <div class="header__right"> + <div class="fn__nav_bar"> + + <!-- Search (bar item) --> + <div class="bar__item bar__item_search"> + <a href="#" class="item_opener"> + <img src="svg/search.svg" alt="" class="fn__svg"> + </a> + <div class="item_popup"> + <input type="text" placeholder="Search"> + </div> + </div> + <!-- !Search (bar item) --> + + <!-- Notification (bar item) --> + <div class="bar__item bar__item_notification has_notification"> + <a href="#" class="item_opener"> + <img src="svg/bell.svg" alt="" class="fn__svg"> + </a> + <div class="item_popup"> + <div class="ntfc_header"> + <h2 class="ntfc_title">Notifications</h2> + <a href="notifications.html">View All</a> + </div> + <div class="ntfc_list"> + <ul> + <li> + <p><a href="notification-single.html">Version 1.1.0 has been launched</a></p> + <span>34 Min Ago</span> + </li> + <li> + <p><a href="notification-single.html">Video Generation has been released</a></p> + <span>12 Apr</span> + </li> + <li> + <p><a href="notification-single.html">Terms has been updated</a></p> + <span>12 Apr</span> + </li> + </ul> + </div> + </div> + </div> + <!-- !Notification (bar item) --> + + <!-- Full Screen (bar item) --> + <div class="bar__item bar__item_fullscreen"> + <a href="#" class="item_opener"> + <img src="svg/fullscreen.svg" alt="" class="fn__svg f_screen"> + <img src="svg/smallscreen.svg" alt="" class="fn__svg s_screen"> + </a> + </div> + <!-- !Full Screen (bar item) --> + + <!-- Language (bar item) --> + <div class="bar__item bar__item_language"> + <a href="#" class="item_opener"> + <img src="svg/language.svg" alt="" class="fn__svg"> + </a> + <div class="item_popup"> + <ul> + <li> + <span class="active">English</span> + </li> + <li> + <a href="#">Spanish</a> + </li> + <li> + <a href="#">French</a> + </li> + </ul> + </div> + </div> + <!-- !Language (bar item) --> + + <!-- Site Skin (bar item) --> + <div class="bar__item bar__item_skin"> + <a href="#" class="item_opener"> + <img src="svg/sun.svg" alt="" class="fn__svg light_mode"> + <img src="svg/moon.svg" alt="" class="fn__svg dark_mode"> + </a> + </div> + <!-- !Site Skin (bar item) --> + + <!-- User (bar item) --> + <div class="bar__item bar__item_user"> + <a href="#" class="user_opener"> + <img src="img/user/user.jpg" alt=""> + </a> + <div class="item_popup"> + <div class="user_profile"> + <div class="user_img"> + <img src="img/user/user.jpg" alt=""> + </div> + <div class="user_info"> + <h2 class="user_name">Caden Smith<span>Free</span></h2> + <p><a href="mailto:cadmail@gmail.com" class="user_email">cadmail@gmail.com</a></p> + </div> + </div> + <div class="user_nav"> + <ul> + <li> + <a href="user-profile.html"> + <span class="icon"><img src="svg/person.svg" alt="" class="fn__svg"></span> + <span class="text">Profile</span> + </a> + </li> + <li> + <a href="user-settings.html"> + <span class="icon"><img src="svg/setting.svg" alt="" class="fn__svg"></span> + <span class="text">Settings</span> + </a> + </li> + <li> + <a href="user-billing.html"> + <span class="icon"><img src="svg/billing.svg" alt="" class="fn__svg"></span> + <span class="text">Billing</span> + </a> + </li> + <li> + <a href="sign-in.html"> + <span class="icon"><img src="svg/logout.svg" alt="" class="fn__svg"></span> + <span class="text">Log Out</span> + </a> + </li> + </ul> + </div> + </div> + </div> + <!-- !User (bar item) --> + + + </div> + </div> + <!-- !Header right: navigation bar --> + + </header> + <!-- !HEADER --> + + + <!-- LEFT PANEL --> + <div class="techwave_fn_leftpanel"> + + <div class="mobile_extra_closer"></div> + + <!-- logo (left panel) --> + <div class="leftpanel_logo"> + <a href="index.html" class="fn_logo"> + <span class="full_logo"> + <img src="img/logo-desktop-full.png" alt="" class="desktop_logo"> + <img src="img/logo-retina-full.png" alt="" class="retina_logo"> + </span> + <span class="short_logo"> + <img src="img/logo-desktop-mini.png" alt="" class="desktop_logo"> + <img src="img/logo-retina-mini.png" alt="" class="retina_logo"> + </span> + </a> + <a href="#" class="fn__closer fn__icon_button desktop_closer"> + <img src="svg/arrow.svg" alt="" class="fn__svg"> + </a> + <a href="#" class="fn__closer fn__icon_button mobile_closer"> + <img src="svg/arrow.svg" alt="" class="fn__svg"> + </a> + </div> + <!-- !logo (left panel) --> + + <!-- content (left panel) --> + <div class="leftpanel_content"> + + <!-- #1 navigation group --> + <div class="nav_group"> + <h2 class="group__title">Start Here</h2> + <ul class="group__list"> + <li> + <a href="index.html" class="fn__tooltip menu__item" data-position="right" title="Home"> + <span class="icon"><img src="svg/home.svg" alt="" class="fn__svg"></span> + <span class="text">Home</span> + </a> + </li> + <li> + <a href="community-feed.html" class="fn__tooltip menu__item" data-position="right" title="Community Feed"> + <span class="icon"><img src="svg/community.svg" alt="" class="fn__svg"></span> + <span class="text">Community Feed</span> + </a> + </li> + <li> + <a href="personal-feed.html" class="fn__tooltip active menu__item" data-position="right" title="Personal Feed"> + <span class="icon"><img src="svg/person.svg" alt="" class="fn__svg"></span> + <span class="text">Personal Feed<span class="count">48</span></span> + </a> + </li> + <li> + <a href="models.html" class="fn__tooltip menu__item" data-position="right" title="Finetuned Models"> + <span class="icon"><img src="svg/cube.svg" alt="" class="fn__svg"></span> + <span class="text">Finetuned Models</span> + </a> + </li> + </ul> + </div> + <!-- !#1 navigation group --> + + <!-- #2 navigation group --> + <div class="nav_group"> + <h2 class="group__title">User Tools</h2> + <ul class="group__list"> + <li> + <a href="image-generation.html" class="fn__tooltip menu__item" data-position="right" title="Image Generation"> + <span class="icon"><img src="svg/image.svg" alt="" class="fn__svg"></span> + <span class="text">Image Generation</span> + </a> + </li> + <li> + <a href="ai-chat-bot.html" class="fn__tooltip menu__item" data-position="right" title="AI Chat Bot"> + <span class="icon"><img src="svg/chat.svg" alt="" class="fn__svg"></span> + <span class="text">AI Chat Bot</span> + </a> + </li> + </ul> + </div> + <!-- !#2 navigation group --> + + <!-- #3 navigation group --> + <div class="nav_group"> + <h2 class="group__title">Support</h2> + <ul class="group__list"> + <li> + <a href="pricing.html" class="fn__tooltip menu__item" data-position="right" title="Pricing"> + <span class="icon"><img src="svg/dollar.svg" alt="" class="fn__svg"></span> + <span class="text">Pricing</span> + </a> + </li> + <li class="menu-item-has-children"> + <a href="video-generation.html" class="fn__tooltip menu__item" title="FAQ & Help" data-position="right"> + <span class="icon"><img src="svg/question.svg" alt="" class="fn__svg"></span> + <span class="text">FAQ & Help</span> + <span class="trigger"><img src="svg/arrow.svg" alt="" class="fn__svg"></span> + </a> + <ul class="sub-menu"> + <li> + <a href="documentation.html"><span class="text">Documentation</span></a> + </li> + <li> + <a href="faq.html"><span class="text">FAQ</span></a> + </li> + <li> + <a href="changelog.html"><span class="text">Changelog<span class="fn__sup">(1.3.0)</span></span></a> + </li> + <li> + <a href="contact.html"><span class="text">Contact Us</span></a> + </li> + <li> + <a href="index-2.html"><span class="text">Home #2</span></a> + </li> + </ul> + </li> + <li> + <a href="sign-in.html" class="fn__tooltip menu__item" data-position="right" title="Log Out"> + <span class="icon"><img src="svg/logout.svg" alt="" class="fn__svg"></span> + <span class="text">Log Out</span> + </a> + </li> + </ul> + </div> + <!-- !#3 navigation group --> + + + </div> + <!-- !content (left panel) --> + + </div> + <!-- !LEFT PANEL --> + + + <!-- CONTENT --> + <div class="techwave_fn_content"> + + <!-- PAGE (all pages go inside this div) --> + <div class="techwave_fn_page"> + + <!-- Community Feed Page --> + <div class="techwave_fn_community_page"> + + <div class="fn__title_holder"> + <div class="container"> + <h1 class="title">Personal Feed</h1> + </div> + </div> + + <!-- Feed --> + <div class="techwave_fn_feed"> + + <div class="fn__tabs"> + <div class="container"> + <div class="tab_in"> + <a class="active" href="#">Your Generations</a> + <a href="#">Follower's</a> + <a href="#">Liked</a> + </div> + </div> + </div> + + + <!-- feed filter --> + <div class="container"> + <div class="feed__filter"> + <div class="filter__left"> + <div class="filter__search"> + <input type="text" placeholder="Search gallery"> + <a href="#" class="techwave_fn_button"><span>Search</span></a> + </div> + <div class="filter__upscaled"> + <label class="fn__checkbox"> + <input type="checkbox">Upscaled + <span class="checkmark"></span> + <img src="svg/check.svg" alt="" class="fn__svg"> + </label> + </div> + </div> + <div class="filter__right"> + <div class="filter__select"> + <label class="fn__checkbox"> + <input type="checkbox">Select Items + <span class="checkmark"></span> + <img src="svg/check.svg" alt="" class="fn__svg"> + </label> + </div> + </div> + </div> + </div> + <!-- !feed filter --> + + + <!-- feed selection --> + <div class="fn__selection_box"> + <div class="container"> + <div class="selection_in"> + <p class="desc"><span class="count">0</span> item(s) selected</p> + <div class="actions"> + <a href="#" class="filter__delete techwave_fn_button has__icon small__border"> + <img src="svg/trash.svg" alt="" class="fn__svg"> + <span>Delete</span> + </a> + <a href="#" class="filter__download techwave_fn_button has__icon small__border"> + <img src="svg/download.svg" alt="" class="fn__svg"> + <span>Download</span> + </a> + </div> + </div> + </div> + </div> + <!-- !feed selection --> + + <div class="container"> + <!-- feed content --> + <div class="feed__content"> + <div class="feed__results"> + <div class="fn__preloader"> + <div class="icon"></div> + <div class="text">Loading</div> + </div> + <ul class="fn__gallery_items"> + + <!-- #1 gallery item --> + <li class="fn__gallery_item"> + <div class="item" data-id="345"> + <div class="img"> + <img src="img/gallery/1.jpg" alt=""> + </div> + <div class="fn__selectable_item"> + <span class="icon"> + <img src="svg/check.svg" alt="" class="fn__svg"> + </span> + </div> + <div class="item__info"> + <div class="info__header"> + <div class="user__info"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">LuckyLee</h3> + </div> + <a href="#" class="fn__like no_border" data-id="3"> + <span class="count">343</span> + <img src="svg/like.svg" alt="" class="fn__svg empty__like"> + <img src="svg/like-full.svg" alt="" class="fn__svg full__like"> + </a> + </div> + <p class="desc">Terra Fusion: A daring fusion of tectonic forms with neo-abstract swirls, reflecting the chaos and </p> + </div> + </div> + </li> + <!-- !#1 gallery item --> + + <!-- #2 gallery item --> + <li class="fn__gallery_item"> + <div class="item" data-id="265"> + <div class="img"> + <img src="img/gallery/2.jpg" alt=""> + </div> + <div class="fn__selectable_item"> + <span class="icon"> + <img src="svg/check.svg" alt="" class="fn__svg"> + </span> + </div> + <div class="item__info"> + <div class="info__header"> + <div class="user__info"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">LuckyLee</h3> + </div> + <a href="#" class="fn__like no_border" data-id="265"> + <span class="count">65</span> + <img src="svg/like.svg" alt="" class="fn__svg empty__like"> + <img src="svg/like-full.svg" alt="" class="fn__svg full__like"> + </a> + </div> + <p class="desc">Terra Fusion: A daring fusion of tectonic forms with neo-abstract swirls, reflecting the chaos and </p> + </div> + </div> + </li> + <!-- !#2 gallery item --> + + <!-- #3 gallery item --> + <li class="fn__gallery_item"> + <div class="item" data-id="456"> + <div class="img"> + <img src="img/gallery/3.jpg" alt=""> + </div> + <div class="fn__selectable_item"> + <span class="icon"> + <img src="svg/check.svg" alt="" class="fn__svg"> + </span> + </div> + <div class="item__info"> + <div class="info__header"> + <div class="user__info"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">LuckyLee</h3> + </div> + <a href="#" class="fn__like no_border" data-id="456"> + <span class="count">95</span> + <img src="svg/like.svg" alt="" class="fn__svg empty__like"> + <img src="svg/like-full.svg" alt="" class="fn__svg full__like"> + </a> + </div> + <p class="desc">Terra Fusion: A daring fusion of tectonic forms with neo-abstract swirls, reflecting the chaos and </p> + </div> + </div> + </li> + <!-- !#3 gallery item --> + + <!-- #4 gallery item --> + <li class="fn__gallery_item"> + <div class="item" data-id="4311"> + <div class="img"> + <img src="img/gallery/4.jpg" alt=""> + </div> + <div class="fn__selectable_item"> + <span class="icon"> + <img src="svg/check.svg" alt="" class="fn__svg"> + </span> + </div> + <div class="item__info"> + <div class="info__header"> + <div class="user__info"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">LuckyLee</h3> + </div> + <a href="#" class="fn__like no_border" data-id="4311"> + <span class="count">120</span> + <img src="svg/like.svg" alt="" class="fn__svg empty__like"> + <img src="svg/like-full.svg" alt="" class="fn__svg full__like"> + </a> + </div> + <p class="desc">Terra Fusion: A daring fusion of tectonic forms with neo-abstract swirls, reflecting the chaos and </p> + </div> + </div> + </li> + <!-- !#4 gallery item --> + + <!-- #5 gallery item --> + <li class="fn__gallery_item"> + <div class="item" data-id="33"> + <div class="img"> + <img src="img/gallery/5.jpg" alt=""> + </div> + <div class="fn__selectable_item"> + <span class="icon"> + <img src="svg/check.svg" alt="" class="fn__svg"> + </span> + </div> + <div class="item__info"> + <div class="info__header"> + <div class="user__info"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">LuckyLee</h3> + </div> + <a href="#" class="fn__like no_border" data-id="33"> + <span class="count">322</span> + <img src="svg/like.svg" alt="" class="fn__svg empty__like"> + <img src="svg/like-full.svg" alt="" class="fn__svg full__like"> + </a> + </div> + <p class="desc">Terra Fusion: A daring fusion of tectonic forms with neo-abstract swirls, reflecting the chaos and </p> + </div> + </div> + </li> + <!-- !#5 gallery item --> + + <!-- #6 gallery item --> + <li class="fn__gallery_item"> + <div class="item" data-id="709"> + <div class="img"> + <img src="img/gallery/6.jpg" alt=""> + </div> + <div class="fn__selectable_item"> + <span class="icon"> + <img src="svg/check.svg" alt="" class="fn__svg"> + </span> + </div> + <div class="item__info"> + <div class="info__header"> + <div class="user__info"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">LuckyLee</h3> + </div> + <a href="#" class="fn__like no_border" data-id="709"> + <span class="count">234</span> + <img src="svg/like.svg" alt="" class="fn__svg empty__like"> + <img src="svg/like-full.svg" alt="" class="fn__svg full__like"> + </a> + </div> + <p class="desc">Terra Fusion: A daring fusion of tectonic forms with neo-abstract swirls, reflecting the chaos and </p> + </div> + </div> + </li> + <!-- !#6 gallery item --> + + <!-- #7 gallery item --> + <li class="fn__gallery_item"> + <div class="item" data-id="20"> + <div class="img"> + <img src="img/gallery/7.jpg" alt=""> + </div> + <div class="fn__selectable_item"> + <span class="icon"> + <img src="svg/check.svg" alt="" class="fn__svg"> + </span> + </div> + <div class="item__info"> + <div class="info__header"> + <div class="user__info"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">LuckyLee</h3> + </div> + <a href="#" class="fn__like no_border" data-id="20"> + <span class="count">700</span> + <img src="svg/like.svg" alt="" class="fn__svg empty__like"> + <img src="svg/like-full.svg" alt="" class="fn__svg full__like"> + </a> + </div> + <p class="desc">Terra Fusion: A daring fusion of tectonic forms with neo-abstract swirls, reflecting the chaos and </p> + </div> + </div> + </li> + <!-- !#7 gallery item --> + + <!-- #8 gallery item --> + <li class="fn__gallery_item"> + <div class="item" data-id="45"> + <div class="img"> + <img src="img/gallery/8.jpg" alt=""> + </div> + <div class="fn__selectable_item"> + <span class="icon"> + <img src="svg/check.svg" alt="" class="fn__svg"> + </span> + </div> + <div class="item__info"> + <div class="info__header"> + <div class="user__info"> + <img src="img/user/user.jpg" alt=""> + <h3 class="author_name">LuckyLee</h3> + </div> + <a href="#" class="fn__like no_border" data-id="45"> + <span class="count">90</span> + <img src="svg/like.svg" alt="" class="fn__svg empty__like"> + <img src="svg/like-full.svg" alt="" class="fn__svg full__like"> + </a> + </div> + <p class="desc">Terra Fusion: A daring fusion of tectonic forms with neo-abstract swirls, reflecting the chaos and </p> + </div> + </div> + </li> + <!-- !#8 gallery item --> + + </ul> + </div> + <div class="feed__more"> + <a href="#" class="medium techwave_fn_button"><span>Load More</span></a> + </div> + </div> + <!-- !feed content --> + </div> + + </div> + <!-- !Feed --> + + </div> + <!-- !Community Feed Page --> + + </div> + <!-- !PAGE (all pages go inside this div) --> + + + <!-- FOOTER (inside the content) --> + <footer class="techwave_fn_footer"> + <div class="techwave_fn_footer_content"> + <div class="copyright"> + <p> + <script> + document.write(new Date().getFullYear()) + </script>© SRBThemes</p> + </div> + <div class="menu_items"> + <ul> + <li><a href="terms.html">Terms of Service</a></li> + <li><a href="privacy.html">Privacy Policy</a></li> + </ul> + </div> + </div> + </footer> + <!-- !FOOTER (inside the content) --> + + </div> + <!-- !CONTENT --> + + + </div> + </div> + <!-- !MAIN WRAPPER --> + + + + <!-- Scripts --> + <script type="text/javascript" src="js/jquery.js?ver=1.0.0"></script> + <script type="text/javascript" src="js/plugins.js?ver=1.0.0"></script> + <!--[if lt IE 10]> <script type="text/javascript" src="js/ie8.js"></script> <![endif]--> + <script type="text/javascript" src="js/init.js?ver=1.0.0"></script> + <!-- !Scripts --> + +</body> + +</html> \ No newline at end of file diff --git a/svg/arrow.svg b/svg/arrow.svg new file mode 100644 index 0000000000000000000000000000000000000000..eeea6dfb9d5eb9003a10e92ca9761ff14576369a --- /dev/null +++ b/svg/arrow.svg @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 145.1 225.1" style="enable-background:new 0 0 145.1 225.1;" xml:space="preserve"> +<path d="M104.4,112.2c-10.6-9.1-21-18-31.5-27C51.1,66.5,29.3,47.8,7.4,29.1c-4.6-3.9-7.2-8.6-6.5-14.7c0.7-6.2,4-10.7,9.8-13.1 + c6-2.5,11.6-1.4,16.5,2.7c8.1,6.8,16.2,13.8,24.2,20.7c28.9,24.7,57.7,49.5,86.6,74.1c5.4,4.6,8.5,10.1,6.4,17.1 + c-1,3.3-3.1,6.7-5.7,9C101.5,157.1,64,189,26.6,221c-7.1,6-17,5.2-22.8-1.7c-5.9-7.1-4.9-16.7,2.5-23c31.7-27.2,63.4-54.3,95.1-81.5 + C102.4,114.1,103.2,113.3,104.4,112.2z"/> +</svg> diff --git a/svg/bell.svg b/svg/bell.svg new file mode 100644 index 0000000000000000000000000000000000000000..7b22afd265b78f0cb7f86eba0db3b1050036cee4 --- /dev/null +++ b/svg/bell.svg @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 302.3 335.7" style="enable-background:new 0 0 302.3 335.7;" xml:space="preserve"> +<g> + <path d="M210.1,287.7c-7.6,32-34.3,47.8-58.4,48c-24.1,0.2-51.6-15.2-59.5-48c-1.3,0-2.6,0-4,0c-21,0-42,0-63,0 + c-10.2,0-18-4.2-22.5-13.4c-4.5-9.3-3-18,3.2-26.3c7.4-10,14.4-20.4,21.4-30.7c2.9-4.2,3.9-9.1,3.8-14.2 + c-0.1-27.7-0.6-55.4,0.1-83.1c1.4-51.4,25.6-88.8,72.5-109.9c67.7-30.5,148.1,10.4,164.3,82.9c2.1,9.3,2.9,19,3.1,28.5 + c0.4,26.9,0.2,53.9,0.1,80.8c0,6.4,1.6,12,5.3,17.2c7.1,9.9,14.1,20,21.1,30c5.5,7.8,6.3,16.3,2,24.8c-4.2,8.5-11.5,13.1-21.1,13.2 + c-21.4,0.2-42.8,0.1-64.1,0.1C213,287.7,211.6,287.7,210.1,287.7z M277.8,263.6c-7.3-10.4-14.1-20.5-21.2-30.4 + c-6.5-9.2-9.6-19.3-9.5-30.5c0.1-26.8,0.1-53.6,0-80.5c0-4.1-0.2-8.2-0.6-12.3c-6-58.5-64-98-120.8-82.2 + c-41.7,11.6-70.4,48.8-70.6,92c-0.2,27.7-0.1,55.4,0,83.1c0,11.2-3.1,21.3-9.6,30.5c-6.4,9-12.6,18-18.8,27c-0.7,1-1.4,2-2.3,3.3 + C109,263.6,193.1,263.6,277.8,263.6z M184.5,288c-22.3,0-44.5,0-66.8,0c4.1,13.9,18.8,24,34.3,23.7 + C166.7,311.4,181.3,300.8,184.5,288z"/> +</g> +</svg> diff --git a/svg/billing.svg b/svg/billing.svg new file mode 100644 index 0000000000000000000000000000000000000000..5d2cab7874db82b445cc87421e4de4f43e60d9e3 --- /dev/null +++ b/svg/billing.svg @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 288.1 359.6" style="enable-background:new 0 0 288.1 359.6;" xml:space="preserve"> +<g> + <path d="M288,178.2c0,51,0,102.1,0,153.1c0,17.9-17.2,29.6-33.3,22.7c-2.7-1.2-5.2-3-7.4-4.9c-4.7-4.1-9.2-8.4-13.8-12.6 + c-5.7-5.2-10.5-4.9-15.4,0.9c-2.7,3.2-5.4,6.6-8.2,9.8c-14.4,16.6-37.2,16.6-51.6,0c-2.4-2.7-4.6-5.6-7-8.3 + c-4.2-4.8-10.1-4.8-14.3,0c-2.7,3.1-5.2,6.4-8,9.4c-13.4,15-35.7,15.2-49.4,0.5c-3.4-3.7-6.5-7.6-9.7-11.4 + c-4.7-5.6-9.7-5.9-15.1-0.9c-4.8,4.4-9.5,8.8-14.4,13.1c-7.8,6.9-16.7,8.5-26.1,4.4C4.9,349.7,0,342,0,331.6C0,229.3,0,127,0,24.6 + C0,10.4,10.4,0,24.6,0c79.6,0,159.3,0,238.9,0C277.7,0,288,10.4,288,24.7C288.1,75.9,288,127.1,288,178.2z M24.2,24.1 + c0,102.6,0,204.8,0,307.7c5.5-5,10.4-9.6,15.5-14.2c14.7-12.9,35.3-11.4,48,3.5c3.1,3.6,6,7.4,9.1,10.9c4.2,4.8,10,4.8,14.3,0.1 + c2.7-3,5.1-6.1,7.7-9.1c13.5-15.4,36.1-15.6,49.9-0.5c2.7,3,5.1,6.1,7.7,9.1c4.7,5.4,10.4,5.4,15.1,0.1c3.4-3.9,6.5-7.9,9.9-11.7 + c11.9-13.2,31.9-14.7,45.6-3.3c5,4.2,9.6,8.7,14.4,13.1c0.7,0.6,1.4,1.1,2.3,1.7c0-102.7,0-204.9,0-307.3 + C183.9,24.1,104.2,24.1,24.2,24.1z"/> + <path d="M158.9,78.6c0,6-0.2,12,0.1,18c0.1,1.6,1.1,3.5,2.3,4.5c4.7,3.9,9.8,7.4,14.6,11.1c6.2,4.7,7.3,10.8,3.2,17.4 + c-9.1,14.6-18.2,29.2-27.4,43.8c-3.3,5.3-8.4,7.4-13.7,5.9c-5.6-1.6-8.9-6-9-12.3c-0.1-9.5-0.1-19,0-28.4c0-2.3-0.7-3.6-2.8-4.6 + c-4.3-1.9-8.5-4.1-12.7-6.3c-6.7-3.5-9-9.9-5.7-16.7c9.2-18.7,18.6-37.3,27.9-55.8c2.8-5.6,8.2-8.1,13.6-6.8 + c5.8,1.4,9.3,5.9,9.4,12.4C159,66.6,158.9,72.6,158.9,78.6z"/> + <path d="M144.2,233.6c-19.9,0-39.7,0.1-59.6,0c-9.4,0-15.3-9-11.3-17.1c2.3-4.7,6.3-6.8,11.6-6.8c20.1,0,40.2,0,60.4,0 + c19.1,0,38.2,0,57.4,0c8,0,13.4,4.9,13.5,11.9c0,7.1-5.4,12-13.3,12C183.2,233.6,163.7,233.6,144.2,233.6z"/> + <path d="M144.1,281.5c-19.9,0-39.7,0-59.6,0c-6.6,0-11.7-4.6-12.4-10.7c-0.6-5.9,3.2-11.4,9.1-12.9c1.1-0.3,2.2-0.3,3.3-0.3 + c39.6,0,79.2,0,118.9,0c9.6,0,15.5,9.3,11.2,17.4c-2.5,4.7-6.5,6.6-11.7,6.6C183.3,281.5,163.7,281.5,144.1,281.5z"/> +</g> +</svg> diff --git a/svg/bookmark.svg b/svg/bookmark.svg new file mode 100644 index 0000000000000000000000000000000000000000..09e41647d2b8af0bfebfc2a8be1f6839e83e49b8 --- /dev/null +++ b/svg/bookmark.svg @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 291.9 344.9" style="enable-background:new 0 0 291.9 344.9;" xml:space="preserve"> +<g> + <path d="M30.1,344.9c-2.2,0-4.5,0-6.7,0c-0.3-0.1-0.6-0.3-0.9-0.4C7.2,341,0,332,0,316.3c0-95.9,0-191.7,0-287.6 + c0-2.9,0.1-5.9,0.7-8.7C3.4,8,14.3,0,28,0c78.6,0,157.2,0,235.8,0c2.8,0,5.6,0.3,8.3,1c13.2,3.8,19.8,12.9,19.8,27.2 + c0,96.1,0,192.2,0,288.3c0,1,0,2-0.1,3c-0.4,9.7-4.8,17.1-13.2,21.6c-3.6,1.9-8,2.5-12.1,3.7c-0.9,0-1.8,0-2.7,0 + c-10.6-0.9-17.7-7.7-24.8-14.6c-29.9-29-60-57.8-90-86.6c-1-0.9-1.9-1.8-3.1-2.8c-1.1,1-2.1,1.9-3.1,2.8c-31,29.8-62,59.5-93,89.4 + C44.2,338.7,38.2,343.5,30.1,344.9z M29.5,29.3c0,94.1,0,188.1,0,282.7c39-37.4,77.6-74.5,116.5-111.7 + c38.9,37.3,77.5,74.3,116.5,111.7c0-94.7,0-188.6,0-282.7C184.7,29.3,107.2,29.3,29.5,29.3z"/> +</g> +</svg> diff --git a/svg/bookmarked.svg b/svg/bookmarked.svg new file mode 100644 index 0000000000000000000000000000000000000000..b3c024cd8471355d95dfb69548f37f50f660da6b --- /dev/null +++ b/svg/bookmarked.svg @@ -0,0 +1,16 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" + "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> +<svg version="1.0" xmlns="http://www.w3.org/2000/svg" + width="512.000000pt" height="512.000000pt" viewBox="0 0 512.000000 512.000000" + preserveAspectRatio="xMidYMid meet"> + +<g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)" + stroke="none"> +<path d="M695 5106 c-119 -29 -233 -125 -277 -234 l-23 -57 0 -2255 0 -2255 +23 -57 c67 -165 262 -272 438 -239 88 16 149 48 225 118 34 32 380 363 767 +735 388 373 708 678 712 678 4 0 324 -305 712 -677 850 -818 821 -791 883 +-819 207 -95 465 1 547 204 l23 57 0 2255 0 2255 -23 57 c-29 71 -103 155 +-169 191 -112 60 3 57 -1978 56 -1384 -1 -1822 -4 -1860 -13z"/> +</g> +</svg> diff --git a/svg/chat.svg b/svg/chat.svg new file mode 100644 index 0000000000000000000000000000000000000000..13ae543e47db1adca05707ac86a0cfa758303781 --- /dev/null +++ b/svg/chat.svg @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> +<g> + <path d="M271,512c-10.3,0-20.7,0-31,0c-6.1-0.8-12.2-1.4-18.3-2.3c-31.6-4.5-61.5-14.2-89.5-29.6c-2.1-1.2-5.4-1.4-7.8-0.7 + c-12.3,3.6-24.4,7.7-36.6,11.6C66.6,498.1,45.3,505,24,512c-2.7,0-5.3,0-8,0c-8-2.7-13.3-8-16-16c0-2.7,0-5.3,0-8 + c0.2-0.2,0.6-0.4,0.7-0.7c10.5-32.9,21-65.9,31.7-98.8c1.2-3.6,1-6.4-0.8-9.8c-14-25.3-23.4-52.1-27.9-80.7 + C2.3,289.4,1.2,280.7,0,272c0-10.3,0-20.7,0-31c0.3-1.4,0.7-2.9,0.8-4.3C3.3,201,12.8,167.1,30,135.8C69.8,63.7,130.3,19.6,211.4,4 + c9.8-1.9,19.7-2.7,29.6-4c10,0,20,0,30,0c1.3,0.3,2.6,0.7,3.9,0.8c35.9,2.4,69.9,11.9,101.3,29.2C448.3,69.9,492.5,130.4,508,211.4 + c1.9,9.8,2.7,19.7,4,29.6c0,10,0,20,0,30c-0.3,1.4-0.7,2.9-0.8,4.3c-2.5,35.7-11.9,69.6-29.2,100.9 + C442.2,448.3,381.7,492.4,300.6,508C290.8,509.8,280.9,510.7,271,512z M51.1,461c21.7-7,42.5-12.8,62.7-20.4 + c13.8-5.2,24.8-3.2,37.6,4c46.5,26.2,96.4,33.7,148.7,22.9c54.3-11.3,98-40,130.5-84.8c37.4-51.4,49.4-108.9,36.6-171 + c-11-53.6-39.5-96.6-83.4-129.2c-47.5-35.3-101.1-48.4-159.4-39.9c-58.8,8.6-106.2,37.6-141.6,85.3 + c-38.3,51.5-50.2,109.3-38.1,172.1c4.7,24.2,13.8,46.9,26.7,67.9c4.5,7.4,5.4,14.7,2.4,22.8c-2.4,6.4-4.3,12.9-6.4,19.4 + C62,426.7,56.7,443.3,51.1,461z"/> + <path d="M156.1,281c-13.7,0.1-25.2-11.4-25.1-25.1c0.1-13.5,11.3-24.8,24.8-24.9c13.7-0.1,25.2,11.4,25.1,25.1 + C180.9,269.6,169.7,280.9,156.1,281z"/> + <path d="M281,256c0,13.7-11.5,25.1-25.2,25c-13.5-0.1-24.7-11.4-24.7-24.9c0-13.7,11.5-25.1,25.2-25 + C269.8,231.2,280.9,242.4,281,256z"/> + <path d="M381,255.8c0.1,13.7-11.3,25.2-25.1,25.1c-13.5-0.1-24.8-11.3-24.9-24.8c-0.1-13.7,11.3-25.2,25.1-25.1 + C369.6,231.1,380.9,242.3,381,255.8z"/> +</g> +</svg> diff --git a/svg/check.svg b/svg/check.svg new file mode 100644 index 0000000000000000000000000000000000000000..67675f156119a482927bc1bc467363e66e114224 --- /dev/null +++ b/svg/check.svg @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 408.8 294.1" style="enable-background:new 0 0 408.8 294.1;" xml:space="preserve"> +<g> + <path d="M408.8,36.8c-2,10.1-8.3,17.4-15.4,24.5C319.6,135,245.8,208.8,172.1,282.6c-10,10-21.5,14.3-35.1,9.5 + c-5-1.7-9.9-4.9-13.6-8.6C85.6,246.1,48.1,208.6,10.6,171c-15.1-15.2-13.9-37,2.6-49.9c12.8-10,30.9-8.2,43.7,4.6 + c28.9,28.9,57.8,57.8,86.6,86.7c1.1,1.1,1.8,2.6,3.4,4.9c1.7-2.3,2.4-3.6,3.4-4.6c67.1-67.1,134.2-134.2,201.2-201.3 + c9.7-9.7,21-13.8,34.5-9.6c11.8,3.7,18.8,12,21.9,23.8c0.2,0.9,0.5,1.7,0.8,2.6C408.8,31,408.8,33.9,408.8,36.8z"/> +</g> +</svg> diff --git a/svg/close.svg b/svg/close.svg new file mode 100644 index 0000000000000000000000000000000000000000..498e0269ddd9d58cb65394564401f91a9febf345 --- /dev/null +++ b/svg/close.svg @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 383.3 383.3" style="enable-background:new 0 0 383.3 383.3;" xml:space="preserve"> +<g> + <path d="M15,383.3c-1.1-0.5-2.2-1-3.3-1.4C0.2,377.1-3.6,362.9,4,353.1c1.1-1.5,2.5-2.8,3.8-4.1c51.3-51.3,102.7-102.7,154-154 + c1-1,2.4-1.7,3.9-2.7c-1.8-1.9-2.8-3-3.8-4C110.1,136.6,58.5,84.9,6.8,33.3c-5.2-5.2-7.9-11.2-6.3-18.5C3.7,0.7,20.2-4.7,31.1,4.7 + c1.2,1.1,2.3,2.2,3.5,3.4C85.7,59.3,136.9,110.4,188,161.6c1.1,1.1,2,2.3,3.2,3.8c1.4-1.3,2.5-2.3,3.5-3.3 + C246.4,110.3,298.1,58.7,349.8,7c6-6,12.7-8.6,21-5.8c6.7,2.2,10.2,7.5,12.5,13.9c0,2.5,0,5,0,7.5c-1.8,5.6-5.6,9.8-9.7,13.8 + C322.8,87,272.1,137.7,221.3,188.4c-1,1-2,2.1-3.4,3.5c1.4,1.2,2.6,2.1,3.7,3.2c50.5,50.5,101.1,101.1,151.7,151.6 + c4.2,4.2,8.1,8.4,10,14.1c0,2.5,0,5,0,7.5c-2.4,7.6-7.4,12.6-15,15c-2.5,0-5,0-7.5,0c-5.6-1.8-9.7-5.7-13.8-9.7 + c-50.7-50.8-101.4-101.5-152.1-152.2c-1-1-2.1-2-3.7-3.5c-1.2,1.5-2,2.8-3,3.8C137.5,272.2,86.9,322.9,36.3,373.5 + c-4.1,4.1-8.2,7.9-13.8,9.7C20,383.3,17.5,383.3,15,383.3z"/> +</g> +</svg> diff --git a/svg/community.svg b/svg/community.svg new file mode 100644 index 0000000000000000000000000000000000000000..a5d63abea9161a84b2723fe73d6f9d4b4f7993de --- /dev/null +++ b/svg/community.svg @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 284.7 275.6" style="enable-background:new 0 0 284.7 275.6;" xml:space="preserve"> +<g> + <path d="M88.1,111.4c-0.9-6.4-0.9-6.4-6.9-7.9c-24.1-6-40.7-27-40.5-51.4C40.9,27.5,57.7,6.9,82,1.3c23.1-5.3,47.5,6.4,58.3,28 + c0.4,0.9,0.9,1.8,1.5,3.1c0.7-1.2,1.2-2.1,1.7-3C154.3,8,177.9-3.7,201,1.1c23.8,4.9,41.1,25.2,42.2,49.4 + c1.1,24.5-15.9,47.1-40.5,52.8c-4.9,1.1-6.6,3.4-7.1,8c8.4-0.5,16.2-3.1,23-7.9c4.2-3,8.2-3.3,13-2.2c30.2,6.7,52.7,34.3,53,65.2 + c0.1,7.5-0.2,15,0.1,22.5c0.2,4.9-1.7,8.7-5,12c-5.5,5.4-12.3,8.4-19.4,10.9c-3.5,1.2-7.1,2.4-10.8,3c-3.6,0.5-4.3,2.1-4.2,5.4 + c0.3,6.9-0.2,13.7,0.2,20.6c0.3,6-2.2,10.3-6.4,14c-6.1,5.4-13.4,8.6-21,11.1c-16.2,5.4-33.1,7.6-50,8.8c-23.5,1.7-47,1.1-70.3-2.1 + c-12.9-1.8-25.6-4.3-37.6-9.5c-3.8-1.6-7.4-3.6-10.8-5.9c-6.7-4.4-11.1-10-10.1-18.9c0.7-6.3,0-12.7,0.2-19.1 + c0.1-2.7-0.8-3.7-3.5-4.6c-8.4-2.8-16.6-6-24.7-9.4c-2.7-1.1-4.8-3.5-7-5.5c-3.1-2.8-4.5-6.3-4.3-10.7c0.3-11-0.6-22,0.7-32.9 + c3.2-26.8,22-47.3,48.1-54.2c6.7-1.8,12.6-2.1,18.7,2.5C73,108.9,79.6,110.4,88.1,111.4z M146.9,260.7c5.7-0.3,15.8-0.5,25.9-1.6 + c10-1.1,20-2.7,30-4.6c8.6-1.7,17-4.2,24.3-9.4c1.6-1.1,3.1-3.5,3.2-5.3c0.3-7.7,0.3-15.5,0.1-23.2c-0.8-27.2-18.4-49.8-44.1-56.6 + c-1.8-0.5-4.3-0.3-5.9,0.6c-25.7,14.4-51.3,14.4-76.9-0.3c-1.2-0.7-2.8-1.1-4.1-0.9c-22.8,3.5-43.2,25.1-44.7,48 + c-0.7,10.4-0.1,20.9-0.3,31.4c-0.1,2.7,0.8,4.7,3.1,5.8c5.6,2.7,11.1,5.7,17,7.5C96.5,258.9,119.4,260.3,146.9,260.7z M39.6,201.3 + c0.6-1.8,0.9-2.4,1-3c8-30.6,28.4-47.9,58.8-54.2c3.2-0.7,6-0.2,8.9,1.6c22.3,14.4,44.8,14.3,67.1,0c2.7-1.7,5.4-2.3,8.5-1.6 + c30,6.5,49.4,24.5,58.6,53.7c0.3,0.9,0.6,1.8,1,3c8.2-1.9,16.2-3.9,23.1-8.6c1.4-1,2.8-3,2.8-4.6c0.3-7.5,0.3-15,0-22.4 + c-0.7-22.6-17.5-43.3-39.4-48.6c-1.5-0.4-3.6-0.1-4.9,0.6c-11.3,6.6-23.4,9.7-36.5,9.6c-1.6,0-3.6,0.9-4.7,2.1 + c-23.3,24.6-61,24.6-84.5,0.1c-1.2-1.2-3.3-2.2-5-2.1c-12.9,0.1-24.9-3.1-36.1-9.6c-1.3-0.7-3.1-1.1-4.5-0.9 + c-19.4,3.5-36.2,20.4-38.6,39.9c-1.2,9.8-0.5,19.9-0.8,29.9c-0.1,2.9,0.9,4.9,3.3,6C25.1,195.1,32.1,198.1,39.6,201.3z M184.3,90 + c0.1-23.4-18.9-42.4-42.3-42.5c-23.2-0.1-42.5,19-42.6,42.3c-0.1,23.2,19,42.4,42.3,42.6C165.1,132.4,184.3,113.3,184.3,90z + M157.9,34.5c25.6,9.2,39.5,27.1,41.7,53.9c14.2-1.6,27.2-16.9,28.6-33.5c1.5-16.6-10.1-33.3-26.5-38.3 + C184.7,11.5,166.3,18.9,157.9,34.5z M84.3,88.5c2.2-26.9,16.3-44.9,41.7-54c-7.4-14.8-25.6-22.6-42-18.3 + c-17.8,4.6-29.1,20.3-28.2,39.1C56.7,70.9,69.8,86.3,84.3,88.5z"/> +</g> +</svg> diff --git a/svg/cube.svg b/svg/cube.svg new file mode 100644 index 0000000000000000000000000000000000000000..fce64db00d88159366a52b622bc264a27f11a56b --- /dev/null +++ b/svg/cube.svg @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 288.2 319.1" style="enable-background:new 0 0 288.2 319.1;" xml:space="preserve"> +<g> + <path d="M0.1,159.4c0-20.5,0.2-40.9-0.1-61.4c-0.1-14,5.6-24,17.8-30.9C54.2,46.6,90.6,25.9,126.8,5c11.8-6.8,23-6.7,34.7,0.1 + c35.9,20.7,71.9,41.2,108,61.5c12.7,7.1,18.7,17.4,18.6,32c-0.3,40.8-0.2,81.6,0,122.4c0.1,13.9-5.6,24-17.8,30.9 + c-36.5,20.6-72.9,41.4-109.3,62.3c-11.3,6.5-22.3,6.6-33.7,0.1c-36.6-21-73.3-41.8-110-62.6C5.6,244.9-0.1,235,0,221.5 + C0.2,200.8,0.1,180.1,0.1,159.4z M44.2,89c1.3,0.8,2,1.3,2.9,1.7c31.5,16.5,63,32.9,94.4,49.5c2.1,1.1,3.6,0.7,5.5-0.3 + c23.9-12.7,47.8-25.4,71.7-38c8.1-4.3,16.2-8.6,24.6-13.1c-1.3-0.8-2.1-1.4-2.9-1.9c-31.1-17.7-62.2-35.4-93.3-53.2 + c-2.2-1.3-3.8-1.3-6.1,0c-23.3,13.4-46.6,26.6-69.9,39.9C62.3,78.6,53.5,83.7,44.2,89z M160,277.7c1.7-0.9,2.8-1.4,3.9-2 + c29.5-16.8,59-33.6,88.5-50.3c2.8-1.6,3.7-3.3,3.7-6.4c-0.1-32.3-0.1-64.6-0.1-96.9c0-1.1-0.1-2.1-0.3-3.5 + c-1.5,0.7-2.6,1.3-3.7,1.8c-29.4,15.6-58.8,31.2-88.3,46.7c-2.8,1.5-3.9,3-3.8,6.3c0.1,33.3,0.1,66.6,0.1,99.9 + C160,274.5,160,275.7,160,277.7z M32.4,119.1c-0.1,1-0.3,1.6-0.3,2.2c0,33.1,0,66.1-0.1,99.2c0,2.3,1.1,3.3,2.8,4.3 + c30.2,17.1,60.3,34.3,90.4,51.5c0.8,0.4,1.7,0.7,2.8,1.1c0-1.6,0-2.8,0-3.9c0-33.4,0-66.9,0.1-100.3c0-3.1-1-4.6-3.7-6 + c-23.5-12.2-46.9-24.5-70.3-36.7C47.1,126.7,39.9,123,32.4,119.1z"/> +</g> +</svg> diff --git a/svg/dollar.svg b/svg/dollar.svg new file mode 100644 index 0000000000000000000000000000000000000000..9b47d87cd4f5e0562b12c78a6224b9b8eb8a0a99 --- /dev/null +++ b/svg/dollar.svg @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 233.7 408.8" style="enable-background:new 0 0 233.7 408.8;" xml:space="preserve"> +<g> + <path d="M122.5,0c2.3,1.3,4.7,2.4,6.7,4c4,3.2,5.5,7.7,5.4,12.7c-0.1,9.7,0,19.4,0,28.6c10.5,2.2,20.8,3.8,30.7,6.4 + c18.4,5,34.7,14,49.2,26.3c6.4,5.5,7.9,12.8,5.5,20.7c-2.6,8.7-8.7,13.8-17.5,15.4c-6,1.1-11.2-0.7-16.1-4.3 + c-14-10.4-29.5-17.3-46.5-20.9c-0.8-0.2-1.6-0.3-2.4-0.4c-0.6-0.1-1.3-0.1-2.5-0.3c0,1.4,0,2.7,0,4c0,27.5,0.1,55.1-0.1,82.6 + c0,3.1,1,4.3,4,5.1c18.8,5.3,37.5,11,54.4,21.1c18.3,10.9,32.1,25.5,37.3,46.7c10.4,41.9-5.5,88.7-53.4,107.3 + c-12.6,4.9-25.7,7.5-39.2,8.7c-0.9,0.1-1.8,0.2-3.1,0.4c0,4.7,0,9.1,0,13.6c-0.1,5.6,0.2,11.2-0.3,16.7 + c-0.9,8.8-7.9,14.5-16.8,14.1c-8.6-0.4-15.2-7-15.4-15.8c-0.2-9.3,0-18.6,0-27.9c-8.2-1.1-16.1-1.9-23.9-3.3 + c-27.4-5.1-51.5-17.3-72.4-35.7c-7.6-6.7-8.2-19.4-1.6-28c6.9-9.1,18.1-11.5,27.2-5.7c4.9,3.2,9.4,7,14.2,10.3 + c15.9,10.7,33.4,17.4,52.2,20.6c0.8,0.1,1.6,0.2,2.4,0.2c0.4,0,0.8-0.1,1.6-0.3c0-1.3,0-2.5,0-3.8c0-31.5-0.1-63.1,0.1-94.6 + c0-3.4-1.2-4.5-4.2-5.3c-18.4-5.2-36.8-10.5-53.6-20c-18.5-10.4-32.6-24.7-37.3-46C0,121.1,8.2,93.1,33.6,71.1 + c18.5-16,40.7-23.1,64.6-25.5c3.4-0.3,4.1-1.5,4-4.6c-0.2-6.6,0.3-13.3-0.1-20c-0.6-10,2.6-17.4,12.4-21.1C117.1,0,119.8,0,122.5,0 + z M135.2,323.9c20.6-1.3,40.3-12.3,47.3-29c6.2-15,6.4-29.8-4.9-42.6c-11.1-12.5-26.7-17-42.4-21.6 + C135.2,262.1,135.2,293,135.2,323.9z M102.2,170.5c0-28.3,0-56.2,0-84.2c-2.3,0.3-4.3,0.5-6.2,0.8c-15,2.6-28.4,8.1-37.3,21.3 + c-9.2,13.7-8.4,32.4,2,42.4C72.2,162,87.2,165.9,102.2,170.5z"/> +</g> +</svg> diff --git a/svg/download.svg b/svg/download.svg new file mode 100644 index 0000000000000000000000000000000000000000..12c5dfef5f34ff9b542e1b8c663b9a7555833e18 --- /dev/null +++ b/svg/download.svg @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 383.3 383.3" style="enable-background:new 0 0 383.3 383.3;" xml:space="preserve"> +<g> + <path d="M20.3,383.3c-1.4-0.5-2.8-0.9-4.2-1.4c-10.8-3.8-17.5-15-15.8-25.9c1.9-11.6,11.3-20.1,22.8-20.5c1.5-0.1,3,0,4.5,0 + c108.8,0,217.7,0,326.5,0c17.3,0,23.1,4,29.2,20.2c0,2.5,0,5,0,7.5c-0.8,2.3-1.5,4.7-2.5,6.9c-3.6,7.4-9.9,11.3-17.7,13.3 + C248.8,383.3,134.5,383.3,20.3,383.3z"/> + <path d="M216.8,208.4c0.8-1.1,1.5-2.4,2.4-3.3c13.4-13.4,26.8-26.9,40.2-40.2c6.7-6.6,14.8-8.7,23.8-6.2 + c8.9,2.5,14.6,8.6,16.6,17.6c2,9-0.7,16.7-7.2,23.2c-22.5,22.5-45,45-67.5,67.5c-5.2,5.2-10.4,10.4-15.6,15.6 + c-10.7,10.6-24.9,10.7-35.6,0.1c-27.8-27.7-55.6-55.6-83.4-83.4c-6.8-6.8-9.3-15-6.7-24.3c2.5-8.9,8.6-14.6,17.6-16.6 + c8.8-2,16.5,0.5,22.9,6.9c13.2,13.2,26.5,26.5,39.7,39.7c1,1,1.7,2.1,2.6,3.2c0.4-0.1,0.7-0.3,1.1-0.4c0-1.4,0-2.8,0-4.2 + c0-59.5,0-119,0-178.5c0-14.6,10.6-25.3,24.5-25.1c12.5,0.2,22.8,10.3,23.4,22.8c0.1,3,0.1,6,0.1,9c0,57.3,0,114.5,0,171.8 + c0,1.3,0,2.7,0,4C216,207.9,216.4,208.1,216.8,208.4z"/> +</g> +</svg> diff --git a/svg/filter.svg b/svg/filter.svg new file mode 100644 index 0000000000000000000000000000000000000000..8dc744f0c9cf4272b85df608a574e228412228c3 --- /dev/null +++ b/svg/filter.svg @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 359.4 263.6" style="enable-background:new 0 0 359.4 263.6;" xml:space="preserve"> +<g> + <path d="M179.9,0.1c51.5,0,103,0,154.6,0c14.5,0,25.2,10.7,24.9,24.6c-0.3,12.3-10.2,22.6-22.5,23.2c-1,0.1-2,0-3,0 + C231,48,128.3,48,25.5,48C12.8,48,3.2,40.7,0.6,29.5C-2.8,14.5,8.1,0.4,23.4,0.1c10.4-0.2,20.7,0,31.1,0C96.3,0,138.1,0,179.9,0.1z + "/> + <path d="M179.4,155.8c-35.7,0-71.3,0.1-107,0c-17.3,0-28.9-16.4-23-32.3c3.5-9.5,12.3-15.6,22.9-15.6c27.2,0,54.4,0,81.6,0 + c44.3,0,88.6,0,132.8,0c13.6,0,24.2,10,24.7,23c0.5,13.8-10.2,24.9-24.2,24.9c-25.9,0.1-51.9,0-77.8,0 + C199.4,155.8,189.4,155.8,179.4,155.8z"/> + <path d="M179.5,263.6c-23.9,0-47.9,0.1-71.8-0.1c-10-0.1-17.4-4.9-21.6-14c-4.1-9-2.8-17.6,3.4-25.2c4.5-5.5,10.5-8.5,17.6-8.5 + c48.4-0.1,96.8-0.1,145.2,0c13,0,23.3,11,23.3,24c0,13.1-10.5,23.8-23.8,23.9C227.6,263.7,203.6,263.6,179.5,263.6z"/> +</g> +</svg> diff --git a/svg/fullscreen.svg b/svg/fullscreen.svg new file mode 100644 index 0000000000000000000000000000000000000000..2dbe534424caac89c7f0c298ec663946e5d4961e --- /dev/null +++ b/svg/fullscreen.svg @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 383.4 383.4" style="enable-background:new 0 0 383.4 383.4;" xml:space="preserve"> +<g> + <path d="M383.4,109.4c-9,0-17.9,0-27.2,0c0-27.2,0-54.2,0-81.7c-27.4,0-54.5,0-81.9,0c0-9.4,0-18.3,0-27.6c1.5,0,2.9,0,4.4,0 + c29,0,58.1,0.2,87.1-0.1c8.5-0.1,14.5,2.5,17.6,10.6C383.4,43.6,383.4,76.5,383.4,109.4z"/> + <path d="M10.6,383.4c-8.1-3.2-10.7-9.2-10.6-17.6c0.3-29,0.1-58.1,0.1-87.1c0-1.4,0-2.7,0-4.4c9.1,0,18,0,27.3,0c0,27,0,54,0,81.5 + c27.4,0,54.5,0,82,0c0,9.5,0,18.6,0,27.6C76.5,383.4,43.6,383.4,10.6,383.4z"/> + <path d="M274.1,383.4c0-9,0-17.9,0-27.4c27.2,0,54.3,0,81.8,0c0-27.5,0-54.5,0-81.9c9.4,0,18.5,0,27.5,0c0,32.9,0,65.9,0,98.8 + c-2,5-5.5,8.5-10.5,10.5C340,383.4,307,383.4,274.1,383.4z"/> + <path d="M109.3,27.6c-27.3,0-54.2,0-81.6,0c0,27.4,0,54.5,0,81.8c-9.3,0-18.1,0-27.5,0c0-1.3,0-2.6,0-3.9c0-29.9,0-59.9,0-89.8 + C0.2,5.5,5.5,0.2,15.6,0.2c30.1,0,60.1,0,90.2,0c1.1,0,2.2,0,3.6,0C109.3,9.3,109.3,18.2,109.3,27.6z"/> +</g> +</svg> diff --git a/svg/home.svg b/svg/home.svg new file mode 100644 index 0000000000000000000000000000000000000000..1ce82a272284882dbc3ade7454ee441cb353ae26 --- /dev/null +++ b/svg/home.svg @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 377 375.3" style="enable-background:new 0 0 377 375.3;" xml:space="preserve"> +<g> + <path d="M0.1,256.2c0-32.7,0.1-65.4-0.1-98.1c-0.1-17.6,6.8-31,21.2-41.3C73.4,79.5,125.4,41.9,177.5,4.4c8.1-5.9,14-5.9,22.3,0.1 + C252,42.1,304.3,79.8,356.6,117.4c13.8,9.9,20.5,23,20.4,39.8c0,66.5,0,133,0,199.5c0,11.3-7.1,18.6-18.4,18.6 + c-39.7,0-79.5,0-119.2,0c-11.2,0-17.6-6.5-17.6-17.8c0-24.3,0-48.7,0-73c0-16.7-9.8-30-25-34.1c-22.2-6.1-43.5,9.7-43.8,32.7 + c-0.2,24.7-0.1,49.4-0.1,74.1c0,11.7-6.4,18.1-18,18.1c-38.9,0-77.7,0-116.6,0c-11.8,0-18.2-6.5-18.2-18.4 + C0,323.3,0.1,289.8,0.1,256.2z M122.6,343.1c0-1.6,0-3.1,0-4.6c0-19.1-0.4-38.2,0.2-57.3c1.1-35.1,29.1-62.4,64.2-63.3 + c34.7-0.9,65,26.7,66.5,61.3c0.8,20.1,0.3,40.2,0.3,60.3c0,1.4,0,2.9,0,4.3c30.7,0,60.8,0,91.2,0c0-1.5,0-2.9,0-4.2 + c0-60.6-0.1-121.3,0.1-181.9c0-6.5-2.4-11.1-7.6-14.8c-48.9-35.3-97.8-70.6-146.6-106c-1.9-1.4-3.1-1.6-5.2-0.1 + c-49.1,35.4-98.3,70.7-147.5,106c-4.6,3.3-6.8,7.5-6.8,13.3c0.1,61.1,0.1,122.3,0.1,183.4c0,1.2,0.1,2.4,0.2,3.6 + C61.9,343.1,92,343.1,122.6,343.1z"/> +</g> +</svg> diff --git a/svg/image.svg b/svg/image.svg new file mode 100644 index 0000000000000000000000000000000000000000..8ec9278ef5aa045856f6eda9ccd6dfb9ea0dcda0 --- /dev/null +++ b/svg/image.svg @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 276.1 239.6" style="enable-background:new 0 0 276.1 239.6;" xml:space="preserve"> +<g> + <path d="M137.8,239.6c-31.7,0-63.5,0.1-95.2,0c-20.2-0.1-36.8-13.1-41.4-32.5c-0.8-3.5-1.1-7.2-1.1-10.7c-0.1-51-0.1-102,0-153 + C0,18.2,18.2,0.1,43.3,0C106.5,0,169.8,0,233,0c24.8,0,43,18.2,43.1,43c0.1,51.1,0.1,102.3,0,153.4c0,25-18.3,43-43.4,43.1 + C201,239.6,169.4,239.6,137.8,239.6z M252.1,145c0-2.2,0-3.2,0-4.2c0-32.4,0-64.9,0-97.3c0-12.2-7.4-19.5-19.6-19.5 + c-62.9,0-125.7,0-188.6,0C31.4,24,24,31.3,24,43.7c0,42.2,0,84.3,0,126.5c0,1.2,0,2.4,0,4.3c1.5-1.3,2.4-2.1,3.2-3 + c10.2-10.1,20.3-20.3,30.5-30.4c15.3-14.9,37.4-14.9,52.7,0.1c3.8,3.8,7.7,7.5,11.4,11.4c2.3,2.4,4.3,5.1,6.5,7.6 + c1.2-1.1,1.4-1.2,1.6-1.4c13.4-13.3,26.7-26.6,40.1-39.9c1.8-1.8,3.5-3.5,5.5-5.1c14.8-11.4,34.9-10.3,48.5,3 + C233.3,125.8,242.2,135,252.1,145z M146.1,176.6c0.7,0.8,1,1.2,1.4,1.5c12.1,12.1,24.1,24.3,36.2,36.3c0.7,0.7,2.2,1.1,3.3,1.1 + c15.8,0.1,31.5,0.1,47.3,0c10-0.1,17.7-7.9,17.8-17.9c0.1-5.5,0.2-11-0.1-16.5c-0.1-1.5-0.9-3.4-1.9-4.5 + c-14-14.1-28-28.1-42.1-42.1c-6.3-6.3-13.5-6.2-19.8,0.1c-8.7,8.6-17.3,17.3-26,25.9C156.9,165.9,151.6,171.2,146.1,176.6z + M150.9,215.6c-1.2-1.3-1.9-2.1-2.5-2.7c-18.1-18-36.1-35.9-54.2-53.9c-6.8-6.7-13.7-6.7-20.6,0.2c-14.9,14.9-29.9,29.8-44.8,44.7 + c-0.8,0.8-1.5,1.6-2.2,2.5c3.9,6.3,9.4,9.2,16.6,9.2c19.9,0,39.8,0,59.6,0C118.5,215.6,134.2,215.6,150.9,215.6z"/> + <path d="M84,80.6c0-18,14.9-32.7,33-32.7c18.3,0,33,14.9,33,33.1c-0.1,18-15,32.8-33,32.7C98.8,113.7,84,98.9,84,80.6z M126,80.7 + c-0.1-4.9-4.3-8.9-9.3-8.8c-4.9,0.2-8.9,4.4-8.7,9.3c0.2,4.8,4.3,8.6,9.1,8.6C122.1,89.8,126.1,85.6,126,80.7z"/> +</g> +</svg> diff --git a/svg/info.svg b/svg/info.svg new file mode 100644 index 0000000000000000000000000000000000000000..079a391214cb968d9d482f69abef9b52636b0be5 --- /dev/null +++ b/svg/info.svg @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 263.5 263.6" style="enable-background:new 0 0 263.5 263.6;" xml:space="preserve"> +<g> + <path d="M139.5,263.6c-5.1,0-10.3,0-15.4,0c-0.7-0.1-1.3-0.4-2-0.4c-20.6-1.5-39.9-7.4-57.5-18.1c-34.1-20.9-55.2-51.1-62.5-90.5 + c-0.9-4.9-1.4-10-2.1-14.9c0-5.1,0-10.3,0-15.4c0.2-0.9,0.3-1.8,0.5-2.7c0.8-5.7,1.3-11.4,2.5-17c6.9-31.6,23.1-57.6,48.9-77.1 + C84,3,120.1-5.1,159.5,3.1c31.5,6.6,57.1,23.1,76.7,48.6c21.2,27.5,30,58.8,26.7,93.3c-2.7,27.9-13.5,52.6-32.1,73.7 + c-20.4,23.1-45.8,37.5-76.2,42.9C149.5,262.4,144.5,262.9,139.5,263.6z M131.8,239.6c59.3,0,107.6-48.2,107.8-107.6 + C239.8,72.8,191.1,24,131.8,24C72.5,24,24.2,72.2,24,131.7C23.7,190.8,72.4,239.6,131.8,239.6z"/> + <path d="M119.9,159.6c0-12.1-0.1-24.2,0-36.3c0-4.9,2.7-8.5,7.1-10.4c4.6-2,8.9-1.2,12.7,2c2.9,2.5,4,5.8,4,9.6 + c0,9.6,0,19.2,0,28.8c0,13.9,0,27.8,0,41.7c0,7.2-4.8,12.4-11.5,12.6c-7,0.2-12.3-4.9-12.3-12.3 + C119.8,183.4,119.9,171.5,119.9,159.6C119.9,159.6,119.9,159.6,119.9,159.6z"/> + <path d="M131.8,56c8.8,0,16,7.3,15.9,16c-0.1,8.7-7.3,15.8-16,15.8c-8.8,0-16-7.4-15.9-16.1C115.9,63.1,123.1,56,131.8,56z"/> +</g> +</svg> diff --git a/svg/language.svg b/svg/language.svg new file mode 100644 index 0000000000000000000000000000000000000000..6324448b9929f61c8fd6de519a62265c508105da --- /dev/null +++ b/svg/language.svg @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 272 320.2" style="enable-background:new 0 0 272 320.2;" xml:space="preserve"> +<path d="M102.6,183.4c6,3.7,11.9,7.2,17.7,10.8c5.6,3.5,8.3,8.7,7.7,15.2c-0.7,6.8-4.5,11.5-11.1,13.7c-4.4,1.5-8.7,1-12.7-1.3 + c-6.7-3.9-13.3-8-19.3-11.6c-10.1,10.4-20.1,21-30.4,31.4c-3.7,3.7-7.8,7.1-11.8,10.4c-7.2,5.9-16.7,5.1-22.5-1.5 + c-5.9-6.8-5.4-16.6,1.8-22.7c13.4-11.4,25.8-23.6,36.7-37.4c0.8-1,1.5-2,1.6-2.1c-6.6-11.2-13.4-21.7-19-32.8 + c-3.6-7-5.9-14.8-8.2-22.5c-2.7-9,2.1-17.7,10.7-20.2c8.8-2.5,17.5,2.4,20,11.6c3.2,11.5,7.9,22.3,14.5,32.3 + c0.4,0.6,0.9,1.1,1.7,2.1c16.8-29.7,26.9-61.1,30.9-95c-1.9,0-3.4,0-4.8,0c-29.8,0-59.5,0-89.3,0C5,63.9-2.8,53.2,0.9,42.6 + c2.3-6.7,8.4-10.7,16.4-10.7c19.3,0,38.5,0,57.8,0c1.5,0,3,0,5.1,0c0-5.6-0.1-10.9,0-16.2C80.4,6.3,87.5-0.3,96.8,0 + c8.1,0.3,14.8,6.6,15.1,14.7c0.2,5.5,0,11,0,16.9c1.8,0.1,3.2,0.2,4.6,0.2c19.3,0,38.5,0,57.8,0c5.1,0,9.7,1.2,13.3,5 + c4.5,4.9,5.9,10.7,3.3,17c-2.6,6.4-7.6,9.9-14.5,10c-9.6,0.2-19.3,0.1-28.9,0.1c-1.4,0-2.7,0-4.5,0 + C138.5,106.5,125.3,146.1,102.6,183.4z"/> +<path d="M171.1,256c-3.6,16.1-7.1,31.8-10.6,47.5c-0.4,1.6-0.7,3.2-1.1,4.7c-2.4,8.4-10.1,13.3-18.3,11.8c-8.6-1.6-14.3-9-12.9-17.7 + c1.3-8.4,3.5-16.6,5.3-24.9c7.2-32.2,14.2-64.3,21.5-96.4c5.1-22.4,23.2-36.9,45.3-36.8c21.9,0.1,39.8,14.9,44.8,37 + c8.8,39.3,17.5,78.7,26.2,118c1.9,8.4-1.2,15.6-8.1,19.1c-6.5,3.3-14.4,2-19.1-3.8c-2-2.4-3.3-5.6-4-8.7c-3.7-15.7-7-31.4-10.7-47.1 + c-0.2-1.1-1.7-2.6-2.6-2.6C208.5,255.9,190,256,171.1,256z M178.4,223.6c14.7,0,28.9,0,43.6,0c-3-13-5.6-25.6-8.8-38.2 + c-1.5-6-7.4-9.7-13.3-9.6c-6,0.1-11.3,4.1-13,10c-1.1,3.7-1.8,7.5-2.7,11.3C182.3,205.9,180.3,214.6,178.4,223.6z"/> +</svg> diff --git a/svg/like-full.svg b/svg/like-full.svg new file mode 100644 index 0000000000000000000000000000000000000000..643849501317eb467274d8b218dbee6372a92d73 --- /dev/null +++ b/svg/like-full.svg @@ -0,0 +1 @@ +<svg viewBox="0 -28 512.00002 512" xmlns="http://www.w3.org/2000/svg"><path d="m471.382812 44.578125c-26.503906-28.746094-62.871093-44.578125-102.410156-44.578125-29.554687 0-56.621094 9.34375-80.449218 27.769531-12.023438 9.300781-22.917969 20.679688-32.523438 33.960938-9.601562-13.277344-20.5-24.660157-32.527344-33.960938-23.824218-18.425781-50.890625-27.769531-80.445312-27.769531-39.539063 0-75.910156 15.832031-102.414063 44.578125-26.1875 28.410156-40.613281 67.222656-40.613281 109.292969 0 43.300781 16.136719 82.9375 50.78125 124.742187 30.992188 37.394531 75.535156 75.355469 127.117188 119.3125 17.613281 15.011719 37.578124 32.027344 58.308593 50.152344 5.476563 4.796875 12.503907 7.4375 19.792969 7.4375 7.285156 0 14.316406-2.640625 19.785156-7.429687 20.730469-18.128907 40.707032-35.152344 58.328125-50.171876 51.574219-43.949218 96.117188-81.90625 127.109375-119.304687 34.644532-41.800781 50.777344-81.4375 50.777344-124.742187 0-42.066407-14.425781-80.878907-40.617188-109.289063zm0 0"/></svg> \ No newline at end of file diff --git a/svg/like.svg b/svg/like.svg new file mode 100644 index 0000000000000000000000000000000000000000..337b9fb1d63c1ebb19317aa00fe12ba7eeb01a5e --- /dev/null +++ b/svg/like.svg @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 409 346.2" style="enable-background:new 0 0 409 346.2;" xml:space="preserve"> +<g> + <path d="M409,126.1c-1.6,8.9-2.7,17.8-4.8,26.6c-4.3,18.3-12.8,34.9-23.3,50.4c-20.3,30.1-46.6,54.5-74.7,77 + c-29.3,23.4-60.5,43.8-92.4,63.3c-6.1,3.7-12.3,3.8-18.4,0c-42.2-25.7-83.2-53.2-119.7-86.6C54,237,34.3,215.4,19.9,189.5 + C-0.6,152.7-6.6,114.1,8.1,74C21.8,36.8,47.6,11.6,86.8,2.9c35.3-7.9,67.4,0.3,94.4,24.9c8.7,7.9,15.9,17.4,24,26.4 + c1.6-2.2,3.6-5,5.7-7.8c9.5-12.7,20.7-23.5,34.4-31.6c18.6-11,38.7-15.6,60.3-14.3c23,1.4,43.5,9.3,61.2,24.1 + c20.6,17.2,33.1,39.2,38.9,65.2c1.4,6.4,2.2,13,3.3,19.6C409,114.9,409,120.5,409,126.1z M376.8,123.9c1-28.3-8.5-53-25.6-70.5 + c-24.9-25.3-67.6-28.4-95.8-7.1c-16.9,12.8-27.8,29.8-35.4,49.2c-3,7.6-8.8,12.1-15.7,12c-6.9-0.1-12.4-4.5-15.3-12 + c-5.5-14.3-13.2-27.2-23.5-38.6c-20.9-23.3-54.2-31.3-83.1-19.5C56.9,47.9,42.1,67.7,35.3,93.9c-7.7,29.8-0.9,57.4,14.4,83.3 + c13.8,23.4,32.4,42.7,52.6,60.7c30.8,27.4,64.9,50.4,99.7,72.2c1.8,1.2,3.1,1.2,5,0c27.5-17.2,54.5-35.2,79.9-55.5 + c24.2-19.4,46.9-40.2,64.9-65.6C366.3,168.4,376.3,146.1,376.8,123.9z"/> +</g> +</svg> diff --git a/svg/logout.svg b/svg/logout.svg new file mode 100644 index 0000000000000000000000000000000000000000..53c63e87e2f7c14f4c6e196b36ed9d2dc3169a98 --- /dev/null +++ b/svg/logout.svg @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 384 384" style="enable-background:new 0 0 384 384;" xml:space="preserve"> +<g> + <path d="M210.8,0c7.1,2.5,12.5,6.6,14.4,14.3c2.8,11.2-5.2,22.3-16.8,23.2c-1.5,0.1-3,0.1-4.5,0.1c-53.9,0-107.7,0-161.6,0 + c-1.5,0-2.9,0-4.6,0c0,103,0,205.7,0,309c1.4,0,2.8,0,4.2,0c54.7,0,109.5,0,164.2,0c11.4,0,19.9,8.3,19.6,19.1 + c-0.3,8-4.3,13.6-11.6,16.9c-1.1,0.5-2.2,1-3.4,1.4c-65.3,0-130.5,0-195.8,0c-7.6-2.4-12.6-7.4-15-15C0,251,0,133,0,15 + C2.4,7.4,7.4,2.4,15,0C80.3,0,145.5,0,210.8,0z"/> + <path d="M384,195.8c-1.8,5.6-5.6,9.8-9.8,13.9c-29.9,29.7-59.7,59.4-89.5,89.2c-4.6,4.6-9.7,7.3-16.4,6.7 + c-7.4-0.7-12.6-4.6-15.5-11.3c-3-6.9-1.8-13.5,3-19.3c2.2-2.7,4.8-5,7.3-7.5c17.9-17.8,35.8-35.7,53.6-53.5 + c0.8-0.8,1.5-1.6,2.9-3.1c-2.1,0-3.5,0-4.9,0c-57.7,0-115.5,0-173.2,0c-11.8,0-20.2-8.1-20-19.1c0.2-9.6,7.8-17.7,17.4-18.3 + c1.4-0.1,2.7-0.1,4.1-0.1c57.2,0,114.5,0,171.7,0c1.4,0,2.7,0,4.9,0c-1.3-1.4-2.2-2.4-3.1-3.3c-19.8-19.8-39.7-39.5-59.5-59.3 + c-9.6-9.6-7.3-24.8,4.6-30.5c7.6-3.7,15.6-2.2,22.2,4.4c14.5,14.3,28.9,28.7,43.3,43.1c15.7,15.6,31.3,31.3,47,46.8 + c4.1,4.1,8,8.2,9.8,13.9C384,190.8,384,193.3,384,195.8z"/> +</g> +</svg> diff --git a/svg/moon.svg b/svg/moon.svg new file mode 100644 index 0000000000000000000000000000000000000000..d751674b8da6efc7900ff0e3c93711953611f2f8 --- /dev/null +++ b/svg/moon.svg @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 249.9 248.9" style="enable-background:new 0 0 249.9 248.9;" xml:space="preserve"> +<path d="M249.9,150.7c-2.2,6.7-4.1,13.5-6.8,20c-7.1,17.7-17.9,32.9-32.2,45.6c-14.9,13.3-32.1,22.7-51.3,28 + c-13.9,3.8-28.1,5.2-42.5,4.1C86.5,246.1,60,234.2,38,212.7C18.7,193.9,6.7,171,2,144.4c-4.4-24.9-1.4-49.1,8.6-72.3 + c8.7-20.2,22-36.9,39.5-50.2C62.9,12.1,77.1,5,92.5,0.5c4.2-1.2,8.1-0.2,10.3,2.9c2.3,3.2,2.2,6.8-0.8,10.5 + C90.6,28,84.4,44.2,82.6,62.1c-2,20,2,38.8,12,56.3c10.3,18,25.1,31.2,44.1,39.4c15.9,6.9,32.6,9.2,49.9,6.9 + c17.4-2.3,32.8-9.3,46.6-20.2c1.6-1.3,3.6-2.4,5.5-2.8c4.2-0.9,7,1,9.2,5.7C249.9,148.5,249.9,149.6,249.9,150.7z M225.8,171.1 + c-46.3,19.2-89.6,15.1-126-20.4C63.4,115.3,57.9,72.1,75.8,25.4C40.8,42.8,11.8,84.8,18.2,135.8c6.1,49,45,89,95.4,95.2 + C162.1,237.1,205.8,210.5,225.8,171.1z"/> +</svg> diff --git a/svg/new.svg b/svg/new.svg new file mode 100644 index 0000000000000000000000000000000000000000..d4d2494c52e3e91cc82613576c1bd46bf96e9bb9 --- /dev/null +++ b/svg/new.svg @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 319.3 319.9" style="enable-background:new 0 0 319.3 319.9;" xml:space="preserve"> +<g> + <path d="M260.2,41.1c8.7,0.4,13.7,3.4,16.4,9.3c2.8,6.1,2.2,12.2-2.4,17.1C262.6,79.9,250.7,92,238.7,104 + c-6.2,6.1-16.6,5.5-22.6-0.7c-6-6.1-6.3-15.6-0.2-22c11.7-12.1,23.6-24.1,35.7-35.7C254.2,43,258.4,42,260.2,41.1z"/> + <path d="M42.1,261.7c0-4.5,1.7-8.3,4.8-11.4C58,239.2,69.1,228,80.3,216.9c6.7-6.7,16.5-6.7,22.8-0.3c6.3,6.3,6.3,16.1-0.3,22.8 + c-11,11.2-22.2,22.3-33.3,33.4c-5.1,5.1-11.7,6.2-17.9,3.4C45.7,273.7,42.1,268.1,42.1,261.7z"/> + <path d="M42.7,61c0.5-8.5,3.3-13.7,9.5-16.5c6.1-2.8,12.2-2.2,17,2.5c11.7,11.3,23.1,22.8,34.3,34.5c6.2,6.5,5.6,16.2-0.7,22.2 + c-6.2,5.9-15.5,6.1-21.9-0.1c-11.4-11.2-22.8-22.4-33.8-34C44.7,66.9,43.7,62.9,42.7,61z"/> + <path d="M143.7,39.8c0-7.7-0.1-15.5,0-23.2c0.1-9.8,6.8-16.6,16-16.5c9.1,0.1,15.7,6.8,15.7,16.4c0.1,15.6,0.1,31.2,0,46.9 + c-0.1,9.8-6.8,16.6-16,16.5c-9-0.1-15.6-6.9-15.7-16.4C143.7,55.5,143.7,47.6,143.7,39.8z"/> + <path d="M39.8,175.9c-7.7,0-15.5,0.1-23.2,0c-9.8-0.1-16.6-6.8-16.6-16c0-9.2,6.9-15.8,16.7-15.8c15.5-0.1,30.9-0.1,46.4,0 + c9.8,0.1,16.6,6.7,16.6,16c0,9.2-6.9,15.8-16.7,15.8C55.2,175.9,47.5,175.9,39.8,175.9z"/> + <path d="M279.6,175.8c-8.2,0-16.5,0.1-24.7,0c-7.8-0.2-14.3-6-15.2-13.5c-1-8.2,3.5-15.4,11.2-17.7c1.3-0.4,2.7-0.6,4-0.6 + c16.3,0,32.7-0.1,49,0c7.8,0.1,14.2,6,15.2,13.4c1,8.3-3.7,15.8-11.5,17.7c-2.7,0.7-5.7,0.5-8.5,0.6 + C292.6,175.9,286.1,175.9,279.6,175.8C279.6,175.9,279.6,175.9,279.6,175.8z"/> + <path d="M175.6,280.2c0,7.7,0.1,15.5,0,23.2c-0.1,9.7-6.9,16.6-16.1,16.5c-9-0.1-15.6-6.9-15.7-16.5c-0.1-15.6-0.1-31.2,0-46.9 + c0.1-9.6,6.7-16.4,15.7-16.5c9.2-0.1,15.9,6.7,16.1,16.5c0,0.2,0,0.5,0,0.7C175.6,264.9,175.6,272.5,175.6,280.2z"/> + <path d="M263.2,277.7c-6.1,0-9.9-1.6-13.1-4.7c-11.3-11-22.6-21.9-33.7-33c-6.5-6.5-6.4-16.3-0.3-22.6c6.2-6.3,16-6.5,22.5-0.1 + c11.5,11.3,22.9,22.7,34.1,34.2c4.9,5,5.8,11.2,3,17.7C273,275.4,267.9,277.6,263.2,277.7z"/> +</g> +</svg> diff --git a/svg/news.png b/svg/news.png new file mode 100644 index 0000000000000000000000000000000000000000..dcf799db9d24dd18392bebe723fa84be860f87f7 Binary files /dev/null and b/svg/news.png differ diff --git a/svg/option.svg b/svg/option.svg new file mode 100644 index 0000000000000000000000000000000000000000..d25772d8c93bda9026498e51de0f831c0f529887 --- /dev/null +++ b/svg/option.svg @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 408.6 408.8" style="enable-background:new 0 0 408.6 408.8;" xml:space="preserve"> +<g> + <path d="M408.6,76.7c-20.9,0-41.7,0-63.1,0c0,9.1,0.1,18,0,26.9c-0.1,8.2-5.3,14.4-13,15.9c-1.7,0.3-3.4,0.3-5.2,0.3 + c-19.8,0-39.6,0-59.5,0c-11.9,0-18.1-6.3-18.1-18.3c0-7.8,0-15.7-0.1-23.5c0-0.2-0.1-0.5-0.3-1.2c-83,0-166,0-249.3,0 + C0,66,0,55.7,0,44.9c83,0,166.1,0,249.7,0c0-4.7,0-9.1,0-13.4c0-3.9,0.2-7.7,0-11.6C249,10,252.9,3.3,262.5,0c23.4,0,46.8,0,70.3,0 + c9.1,3.2,13.4,9.4,12.8,19.1c-0.2,2.9,0,5.8,0,8.8c0,5.5,0,11.1,0,16.8c21.4,0,42.2,0,63.1,0C408.6,55.4,408.6,66,408.6,76.7z + M281.9,32.1c0,18.7,0,37.1,0,55.4c10.7,0,21.1,0,31.5,0c0-18.6,0-36.9,0-55.4C302.8,32.1,292.5,32.1,281.9,32.1z"/> + <path d="M408.6,220.4c-76.4,0-152.7,0-229.1-0.1c-4.6,0-9.3,0-14.4,0c0,1.8,0,3.3,0,4.9c0,7.1,0,14.1,0,21.2 + c-0.1,10.4-6.6,17.1-16.9,17.1c-20.8,0.1-41.5,0.1-62.3,0c-9.9,0-16.5-6.7-16.6-16.6c-0.1-4.4,0-8.8,0-13.2c0-4.3,0-8.5,0-13.2 + c-23.1,0-46,0-69.2,0c0-10.9,0-21.3,0-32c22.9,0,45.7,0,69.2,0c0-1.6,0-2.8,0-4.1c0-8-0.1-16,0-23.9c0.1-9.9,6.7-16.6,16.5-16.7 + c20.9-0.1,41.8-0.1,62.7,0c9.9,0,16.5,6.7,16.6,16.6c0.1,9.2,0,18.3,0,28.1c81.3,0,162.4,0,243.5,0 + C408.6,199.1,408.6,209.7,408.6,220.4z M132.9,175.9c-10.7,0-21.1,0-31.4,0c0,18.7,0,37.1,0,55.4c10.6,0,21,0,31.4,0 + C132.9,212.8,132.9,194.5,132.9,175.9z"/> + <path d="M408.6,364.9c-21.4,0-42.8,0-64.7,0c0,9.4,0.1,18.5,0,27.7c-0.1,8.2-5.3,14.4-13,15.9c-1.7,0.3-3.4,0.3-5.2,0.3 + c-19.8,0-39.7,0-59.5,0c-11.9,0-18.1-6.3-18.1-18.3c0-8.4,0-16.7,0-25.5c-82.8,0-165.3,0-248.1,0c0-10.8,0-21.1,0-31.8 + c82.5,0,165,0,247.9,0c0.1-1.7,0.2-3,0.2-4.2c0-8-0.1-16,0.1-23.9c0.2-8.8,6.6-15.7,15.3-15.8c21.7-0.2,43.4-0.2,65.1,0 + c8.9,0.1,15.2,7,15.4,16.1c0.1,9,0,18.1,0,27.7c21.7,0,43.2,0,64.7,0C408.6,343.6,408.6,354.2,408.6,364.9z M280.2,376.6 + c10.7,0,21.1,0,31.4,0c0-18.7,0-37.1,0-55.4c-10.6,0-21,0-31.4,0C280.2,339.7,280.2,358,280.2,376.6z"/> +</g> +</svg> diff --git a/svg/person.svg b/svg/person.svg new file mode 100644 index 0000000000000000000000000000000000000000..74db641daf287bd7c0298c32d9d5080fd4e8d7df --- /dev/null +++ b/svg/person.svg @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 320 352.3" style="enable-background:new 0 0 320 352.3;" xml:space="preserve"> +<g> + <path d="M219.8,171.7c2.5,1.1,4.7,2,6.8,3.1c52,25.3,83,66.4,91.8,123.6c2,12.7,1.5,25.9,1.6,38.9c0.1,7.3-5.5,13.3-12.7,14.6 + c-1.9,0.4-4,0.5-6,0.5c-94.2,0-188.3,0.1-282.5-0.1c-4,0-8.4-1.3-12-3.1c-4.1-2-6.3-6.2-6.5-10.8c-1.8-33,2.9-64.8,19.2-94.2 + C37.6,211.5,63.7,187.7,98,173c0.7-0.3,1.4-0.6,2-1c0.1-0.1,0.2-0.2,0.5-0.5c-27.2-23.3-39.9-52.8-35.3-88.6 + c3.2-25.4,15.5-46.2,35.5-62.2C140.6-11,198.3-5.8,232.3,32.7C267.4,72.2,264.5,135.3,219.8,171.7z M288.6,320.1 + c-2.4-50-23.7-88.7-67.6-112.2c-46.7-24.9-93.3-21.4-136.4,9.4c-34.7,24.8-51.3,60-52.6,102.8C117.7,320.1,202.7,320.1,288.6,320.1 + z M96.2,96.4c-0.1,35,28.6,63.8,63.6,63.9c35.3,0.1,64.2-28.5,64.3-63.6c0-35.9-28.3-64.4-64.2-64.4 + C124.8,32.2,96.3,60.8,96.2,96.4z"/> +</g> +</svg> diff --git a/svg/question.svg b/svg/question.svg new file mode 100644 index 0000000000000000000000000000000000000000..ca9ec6d3d1d277849bd9ddedba65d6751ed729aa --- /dev/null +++ b/svg/question.svg @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 408.9 408.9" style="enable-background:new 0 0 408.9 408.9;" xml:space="preserve"> +<g> + <path d="M216.4,408.9c-8,0-16,0-24,0c-1-0.2-2-0.6-3.1-0.7c-28.5-1.9-55.7-9.3-80.6-23.2C41.6,347.5,5.1,289.9,0.4,213 + c-2.3-36.9,5.7-72.2,23.7-104.5c37.5-67,95-103.4,171.8-108.1c36.9-2.3,72.1,5.8,104.5,23.7c57.7,31.7,92.9,80.1,105.3,144.9 + c1.5,7.8,2.2,15.7,3.2,23.6c0,8,0,16,0,24c-0.2,1.1-0.6,2.3-0.7,3.4c-2,28.5-9.5,55.6-23.3,80.5c-31.8,57.6-80.1,92.9-144.8,105.3 + C232.3,407.2,224.3,407.9,216.4,408.9z M376.9,204.7C377.1,109.6,300,32.3,204.8,32c-95.1-0.3-172.7,77-172.9,172.3 + C31.7,299.4,108.8,376.7,204,377C299.2,377.3,376.8,300,376.9,204.7z"/> + <path d="M188.5,234.2c0-6.4-0.1-12.8,0-19.2c0.1-9.1,5.6-15.5,14.7-16.3c10.5-0.9,19.8-4,26.4-12.8c7.8-10.4,9.1-21.8,3.4-33.4 + c-6-12.1-16.2-18.2-29.7-17.7c-16.8,0.6-28.8,12.5-30.6,29.5c-0.2,1.7-0.2,3.5-0.5,5.2c-1.7,8.4-9,13.7-17.6,12.7 + c-8.1-0.9-14.2-7.6-14-16.2c0.6-22.5,10-40.5,28.8-52.7c21.4-13.9,44.3-14.8,66.5-2.2c22.8,13,33.5,33.6,32.2,59.8 + c-1.2,25.6-19.2,48.2-44,56.2c-3,0.9-3.9,2.2-3.8,5.2c0.3,6.9,0.1,13.8,0.1,20.8c-0.1,10.1-6.8,17.2-16.1,17.1 + c-9.2-0.1-15.8-7-15.8-16.9C188.4,247,188.5,240.6,188.5,234.2z"/> + <path d="M204.3,322.2c-11.1-0.1-20-9.2-19.8-20.2c0.2-10.9,9.2-19.6,20-19.6c11.1,0.1,20,9.2,19.8,20.2 + C224.2,313.5,215.2,322.3,204.3,322.2z"/> +</g> +</svg> diff --git a/svg/search.svg b/svg/search.svg new file mode 100644 index 0000000000000000000000000000000000000000..e95414e2eecffc729833d421e074f10db9354541 --- /dev/null +++ b/svg/search.svg @@ -0,0 +1,20 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" + "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> +<svg version="1.0" xmlns="http://www.w3.org/2000/svg" + width="512.000000pt" height="512.000000pt" viewBox="0 0 512.000000 512.000000" + preserveAspectRatio="xMidYMid meet"> + +<g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)" +stroke="none"> +<path d="M1935 4683 c-775 -100 -1378 -689 -1491 -1455 -22 -154 -15 -419 15 +-572 134 -665 647 -1189 1306 -1335 441 -97 895 -18 1280 224 50 31 99 65 110 +76 19 19 24 14 615 -575 648 -647 619 -622 730 -614 105 8 180 83 188 188 8 +111 33 82 -613 730 l-593 595 35 45 c59 76 145 230 190 340 83 205 120 372 +130 585 40 870 -596 1636 -1462 1760 -91 13 -362 18 -440 8z m327 -424 c194 +-21 385 -85 540 -182 98 -61 138 -93 235 -189 144 -142 249 -312 312 -504 89 +-272 80 -603 -23 -862 -131 -330 -407 -605 -736 -732 -191 -73 -457 -99 -661 +-65 -270 45 -508 167 -697 358 -132 134 -206 241 -274 398 -191 444 -115 955 +197 1327 237 283 583 449 962 461 23 0 89 -4 145 -10z"/> +</g> +</svg> diff --git a/svg/setting.svg b/svg/setting.svg new file mode 100644 index 0000000000000000000000000000000000000000..be9b8aeee0b522bb9abb872dd2bf954a3766d5f7 --- /dev/null +++ b/svg/setting.svg @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 437.4 458.5" style="enable-background:new 0 0 437.4 458.5;" xml:space="preserve"> +<g> + <path d="M218.8,457.5c-10.7,0-21.5,0.8-32.1-0.2c-28.2-2.6-50.2-25.9-50.8-54.3c-0.3-16.4-14.8-21.5-26.3-15.2 + c-26.8,14.7-59.8,5-75.5-21.2c-9.2-15.3-18.1-30.8-26.8-46.4c-14.8-26.7-6.2-59.8,19.4-76.2c13.3-8.5,13.4-21.2,0.1-29.7 + C0.9,197.8-7.6,164.7,7.4,137.8C16,122.4,24.8,107,33.9,91.9c15.8-26.4,48.9-36.1,75.9-21.2c10.9,6,25.6,1.4,26-15.2 + c0.7-29.4,23-52.7,53.1-54.6c20.9-1.3,41.9-1.1,62.8,0.4c26.7,1.8,48.6,25.9,49.9,52.6c0.1,1.3,0.1,2.6,0.2,3.9 + c1,13,12.6,19.5,24.2,13.4c10.9-5.8,22.4-8.4,34.7-6.9c18.2,2.3,32.5,11.1,42.1,26.7c9.6,15.6,18.7,31.5,27.5,47.6 + c14.6,26.6,6,59.3-19.7,75.7c-4.7,3-8.7,6.4-9.6,12.2c-1.1,7.6,2.2,13.1,8.6,17.1c14.6,9,23.6,22,26.7,38.9 + c2.3,12.9,0.7,25.3-5.7,36.8c-9.1,16.3-18.2,32.6-28,48.5c-15.8,25.7-48.6,34.2-75.6,20c-6.5-3.4-12.6-4.1-18.8,0.2 + c-5,3.5-6.3,8.7-6.6,14.5c-1.2,27.3-19.6,49.6-46.5,54.3c-11.9,2.1-24.3,1.3-36.4,1.8C218.8,458.2,218.8,457.8,218.8,457.5z + M395.9,294.1c-0.4-8.4-4.1-12.8-9.7-16.3c-36.2-23-36-74.2,0.2-97.3c10.2-6.5,12-14.2,5.9-24.8c-7.6-13.2-15.2-26.4-22.8-39.6 + c-6.4-11.1-13.9-13.4-25.2-7.5c-12.4,6.5-25.5,8.4-39.2,5.3c-25.7-5.9-43.6-27.5-44.7-53.9c-0.5-12-6.4-17.8-18.4-17.8 + c-15.9,0-31.8,0-47.8,0c-10.5,0-16.6,5.9-17.3,16.3c-0.2,2.9-0.2,5.9-0.7,8.7c-7.1,39.5-48.3,59.5-84.1,41 + c-9.9-5.1-18-2.9-23.5,6.7c-8.1,13.9-16.1,27.8-24.1,41.7c-5.5,9.6-3.4,17.7,6,23.7c36.8,23.5,36.9,74.4,0.2,97.8 + c-9.9,6.3-11.7,14.2-5.8,24.5c7.7,13.4,15.4,26.7,23.1,40.1c6.2,10.8,13.6,12.5,24.9,7.6c7.4-3.3,15.6-6.2,23.6-6.6 + c33.2-1.8,58.7,22.3,60.4,55.8c0.6,11.1,6.7,17.1,17.6,17.1c16.1,0,32.2,0,48.2,0c10.8,0,16.9-5.9,17.6-16.6 + c0.3-4.5,0.6-9.1,1.7-13.5c9.1-35.9,49.2-53.5,82.4-36.3c10.8,5.6,18.5,3.5,24.5-7c7.9-13.6,15.8-27.2,23.6-40.9 + C394.3,299.2,395.2,295.8,395.9,294.1z"/> + <path d="M215.6,333.1c-58.3-2.7-103.4-50.7-100.8-107.3c2.6-57.9,50.7-103.1,107-100.6c58.1,2.5,103.5,50.8,100.8,107.3 + C320,290.5,271.8,335.7,215.6,333.1z M156.3,228.8c-0.1,34.4,27.6,62.6,61.9,62.8c34.4,0.2,62.7-27.6,62.9-61.8 + c0.2-34.7-27.6-62.9-62.1-63C184.5,166.7,156.5,194.5,156.3,228.8z"/> +</g> +</svg> diff --git a/svg/share.svg b/svg/share.svg new file mode 100644 index 0000000000000000000000000000000000000000..7ba8a3bdd2b88b5e4d8e10e1f67bd6dae523f585 --- /dev/null +++ b/svg/share.svg @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 319.7 351.4" style="enable-background:new 0 0 319.7 351.4;" xml:space="preserve"> +<g> + <path d="M107.1,224.3c-7.3,3.9-14.3,8.6-22.1,11.4c-42.6,15.4-87.4-17.8-84.9-63c1.4-25.6,14.2-44.6,37.5-55.1 + c23.5-10.5,46-7.2,66.4,8.6c2.1,1.7,3.4,1.5,5.4,0.1c26.8-18,53.7-35.9,80.6-53.7c2.2-1.5,2.3-3,2.2-5.3 + c-2.3-33.3,22.9-63.2,55.4-67c33.3-3.8,66,18.5,71,54.4c4,28.8-11.6,56-37.9,67.3c-26.5,11.3-56.5,3.8-74.9-18.9 + c-0.4-0.5-0.8-1-1.3-1.7c-1.1,0.7-2.1,1.3-3.1,1.9c-24.7,16.5-49.4,32.9-74.1,49.3c-2,1.4-2.8,2.4-1.9,5c3.8,11.8,3.7,23.8,0,35.7 + c-0.5,1.8-1.1,3,1,4.4c25.9,17.1,51.7,34.4,77.6,51.5c0.1,0.1,0.2,0,0.6,0.1c1.4-1.7,2.8-3.5,4.5-5.2 + c18.2-18.7,40.1-25.4,65.2-17.9c25,7.5,40.3,25,44.6,50.8c6.3,38.6-22.1,72.6-61.1,74.1c-36.9,1.4-67.9-30.4-65.3-67.3 + c0.2-2.7-0.5-4.2-2.7-5.7c-26.5-17.5-53-35.2-79.4-52.8c-1.1-0.8-2.3-1.5-3.4-2.2C106.9,223.7,107,224,107.1,224.3z M64.2,143.7 + c-17.5,0.1-31.9,14.4-32,31.9c0,17.4,14.4,32,31.8,32c17.7,0,32.1-14.4,32.1-32.1C96.2,158.2,81.6,143.6,64.2,143.7z M255.9,95.8 + c17.7,0,31.9-14.2,32-31.8c0.1-17.5-14.3-32-31.8-32c-17.8,0-32.1,14.2-32.2,32C223.9,81.4,238.3,95.8,255.9,95.8z M255.8,255.6 + c-17.6,0.1-31.9,14.3-31.9,31.9c0,17.5,14.4,31.9,31.9,31.9c17.7,0,32.1-14.4,32.1-32.1C287.9,269.8,273.4,255.6,255.8,255.6z"/> +</g> +</svg> diff --git a/svg/smallscreen.svg b/svg/smallscreen.svg new file mode 100644 index 0000000000000000000000000000000000000000..240a6f9ce41a96c2d4249b205faa5ec4e4c52933 --- /dev/null +++ b/svg/smallscreen.svg @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 383.4 383.4" style="enable-background:new 0 0 383.4 383.4;" xml:space="preserve"> +<path d="M0.1,81.8c27.3,0,54.2,0,81.6,0c0-27.4,0-54.5,0-81.8c9.3,0,18.1,0,27.5,0c0,1.3,0,2.6,0,3.9c0,29.9,0,59.9,0,89.8 + c0,10.2-5.3,15.5-15.4,15.5c-30.1,0-60.1,0-90.2,0c-1.1,0-2.2,0-3.6,0C0.1,100.1,0.1,91.2,0.1,81.8z"/> +<path d="M383.3,301.6c-27.3,0-54.2,0-81.6,0c0,27.4,0,54.5,0,81.8c-9.3,0-18.1,0-27.5,0c0-1.3,0-2.6,0-3.9c0-29.9,0-59.9,0-89.8 + c0-10.2,5.3-15.5,15.4-15.5c30.1,0,60.1,0,90.2,0c1.1,0,2.2,0,3.6,0C383.3,283.3,383.3,292.2,383.3,301.6z"/> +<path d="M301.6,0.1c0,27.3,0,54.2,0,81.6c27.4,0,54.5,0,81.8,0c0,9.3,0,18.1,0,27.5c-1.3,0-2.6,0-3.9,0c-29.9,0-59.9,0-89.8,0 + c-10.2,0-15.5-5.3-15.5-15.4c0-30.1,0-60.1,0-90.2c0-1.1,0-2.2,0-3.6C283.3,0.1,292.2,0.1,301.6,0.1z"/> +<path d="M81.8,383.3c0-27.3,0-54.2,0-81.6c-27.4,0-54.5,0-81.8,0c0-9.3,0-18.1,0-27.5c1.3,0,2.6,0,3.9,0c29.9,0,59.9,0,89.8,0 + c10.2,0,15.5,5.3,15.5,15.4c0,30.1,0,60.1,0,90.2c0,1.1,0,2.2,0,3.6C100.1,383.3,91.2,383.3,81.8,383.3z"/> +</svg> diff --git a/svg/sun.svg b/svg/sun.svg new file mode 100644 index 0000000000000000000000000000000000000000..ee5b8ea8778c72882da2246ae7819bbef5d8c1c4 --- /dev/null +++ b/svg/sun.svg @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 319.2 319.2" style="enable-background:new 0 0 319.2 319.2;" xml:space="preserve"> +<path d="M63.8,159.4c0.1-52.9,43.3-95.8,96.2-95.6c52.7,0.2,95.5,43.2,95.4,96c-0.1,52.9-43.3,95.8-96.2,95.6 + C106.5,255.2,63.7,212.2,63.8,159.4z M223.4,159.6c0-35.3-28.3-63.7-63.6-63.8c-35.4-0.1-64,28.4-63.9,63.8 + c0,35.3,28.4,63.7,63.6,63.8C194.9,223.5,223.4,195,223.4,159.6z"/> +<path d="M41.9,59.8c0.3-8.3,3.2-13.3,9.1-16.1c5.9-2.9,11.8-2.4,16.8,1.9c4.9,4.2,9.5,8.8,13.7,13.7c5.5,6.3,4.8,15.5-1.1,21.3 + c-5.8,5.7-14.8,6.4-21,1.1c-5-4.3-9.7-9-13.9-14C43.4,65.1,42.7,61.5,41.9,59.8z"/> +<path d="M277.1,57.9c0,4.3-1.5,8.1-4.5,11.1c-3.8,3.9-7.6,7.9-11.6,11.6c-6.7,6.2-16.3,6.1-22.5-0.2c-6.1-6.2-6.2-15.7-0.1-22.2 + c3.9-4.2,7.9-8.3,12.2-12.1c5-4.5,10.8-5.3,17-2.6C273.5,46,277.1,51.6,277.1,57.9z"/> +<path d="M59.8,277.3c-8.3-0.4-13.2-3.2-16.1-8.9c-2.9-5.8-2.6-11.8,1.6-16.8c4.2-5,9-9.7,13.9-14c6.3-5.5,15.5-4.7,21.3,1.2 + c5.7,5.8,6.3,14.9,0.9,21.1c-4.2,4.9-8.8,9.5-13.8,13.7C65.2,275.7,61.5,276.5,59.8,277.3z"/> +<path d="M277.3,259.4c-0.4,8.4-3.3,13.4-9.2,16.2c-5.9,2.8-11.8,2.3-16.8-2c-4.9-4.2-9.5-8.8-13.7-13.7c-5.4-6.2-4.7-15.3,1-21 + c5.8-5.9,15-6.7,21.3-1.2c4.9,4.2,9.5,8.8,13.6,13.8C275.7,254,276.5,257.7,277.3,259.4z"/> +<path d="M175.5,24c0,2.9,0.1,5.7,0,8.6c-0.4,8.6-7.3,15.2-15.8,15.3c-8.5,0-15.6-6.6-15.9-15.1c-0.2-6-0.2-12,0-17.9 + C144.1,6.4,151.1,0,159.5,0c8.5,0,15.4,6.3,15.9,14.7C175.6,17.8,175.4,20.9,175.5,24C175.4,24,175.4,24,175.5,24z"/> +<path d="M23.8,175.5c-2.9,0-5.7,0.1-8.6,0C6.5,175.1,0,168.3,0,159.7c0-8.6,6.4-15.6,15-15.9c6-0.2,12-0.2,17.9,0 + c8.3,0.3,14.9,7.4,14.9,15.7c0.1,8.3-6.4,15.4-14.7,15.9C30,175.6,26.9,175.4,23.8,175.5C23.8,175.4,23.8,175.5,23.8,175.5z"/> +<path d="M295.4,143.7c3,0,6-0.1,9,0c8.4,0.4,14.8,7.3,14.8,15.7c0,8.5-6.3,15.5-14.7,15.9c-6.1,0.3-12.2,0.3-18.3,0 + c-8.3-0.3-14.8-7.4-14.9-15.7c-0.1-8.5,6.6-15.5,15.1-15.9C289.5,143.6,292.4,143.7,295.4,143.7z"/> +<path d="M175.4,295.4c0,3,0.1,6,0,9c-0.4,8.4-7.3,14.8-15.7,14.8c-8.5,0-15.5-6.3-15.9-14.7c-0.3-6.1-0.3-12.2,0-18.3 + c0.3-8.3,7.4-14.8,15.7-14.9c8.3-0.1,15.4,6.5,15.9,14.8C175.6,289.2,175.4,292.3,175.4,295.4z"/> +</svg> diff --git a/svg/thunder.svg b/svg/thunder.svg new file mode 100644 index 0000000000000000000000000000000000000000..e36c99fb45db97e77d8d3f82b13838393a9c5dee --- /dev/null +++ b/svg/thunder.svg @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 254.7 383.3" style="enable-background:new 0 0 254.7 383.3;" xml:space="preserve"> +<g> + <path d="M83.7,383.3c-8.1-4.1-9.8-7.8-7.6-16.6c12.1-48.7,24.2-97.4,36.3-146.1c0.3-1.2,0.5-2.4,0.9-4.1c-1.9,0-3.3,0-4.8,0 + c-31.7,0-63.5-0.3-95.2,0.2c-9.4,0.1-16.2-7.2-12.1-17.8C26,135.8,50.3,72.6,74.8,9.4C77.7,2.1,80.7,0,88.7,0c33,0,66,0,99,0 + c10.9,0,15.9,7.5,11.5,17.5c-13.9,31.5-27.8,62.9-41.7,94.4c-0.6,1.4-1.2,2.9-2,4.8c1.9,0,3.2,0,4.6,0c27.4,0,54.7,0,82.1,0 + c6.1,0,10,2.5,11.8,7.3c1.6,4.3,0.2,8-2.1,11.6c-17.4,26.9-34.7,53.9-52,80.8c-34.1,53-68.2,105.9-102.2,158.9 + c-2.2,3.5-4.8,6.3-8.6,7.9C87.2,383.3,85.5,383.3,83.7,383.3z M114.3,306.2c0.3,0.1,0.5,0.3,0.8,0.4 + c35.8-55.6,71.6-111.2,107.7-167.4c-2.1,0-3.4,0-4.7,0c-25.7,0-51.5,0-77.2,0c-11.9,0-16.8-7.4-12-18.3 + c12.8-29.1,25.7-58.1,38.5-87.2c1.6-3.6,3.1-7.2,4.8-11.1c-0.9-0.1-1.3-0.2-1.8-0.2c-24.6,0-49.2,0-73.9-0.1c-2.8,0-3.2,1.5-4,3.4 + C72.1,78.6,51.7,131.4,31.2,184.3c-1.2,3.1-2.4,6.2-3.7,9.7c2,0,3.5,0,5,0c31.1,0,62.2,0,93.3,0c10.1,0,15,6.1,12.6,15.8 + c-4.5,18.4-9.2,36.7-13.7,55.1C121.2,278.6,117.8,292.4,114.3,306.2z"/> +</g> +</svg> diff --git a/svg/trash.svg b/svg/trash.svg new file mode 100644 index 0000000000000000000000000000000000000000..32ac491c89a5f95d74efae03e7baab56f3b45c41 --- /dev/null +++ b/svg/trash.svg @@ -0,0 +1,35 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" + "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> +<svg version="1.0" xmlns="http://www.w3.org/2000/svg" + width="512.000000pt" height="512.000000pt" viewBox="0 0 512.000000 512.000000" + preserveAspectRatio="xMidYMid meet"> + +<g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)" + stroke="none"> +<path d="M2155 5106 c-84 -21 -147 -57 -211 -121 -99 -98 -134 -197 -134 -375 +l0 -100 -395 0 c-256 0 -413 -4 -447 -11 -172 -37 -311 -176 -347 -347 -6 -29 +-11 -136 -11 -238 0 -165 2 -189 20 -224 31 -61 78 -80 194 -80 l95 0 5 -42 +c4 -24 65 -752 136 -1618 72 -866 135 -1593 141 -1615 28 -105 117 -218 219 +-278 100 -58 75 -57 1140 -57 1071 0 1037 -2 1145 60 97 55 186 170 214 275 5 +22 69 749 141 1615 71 866 132 1594 136 1618 l5 42 95 0 c116 0 163 19 194 80 +18 35 20 59 20 224 0 102 -5 209 -11 238 -37 172 -176 311 -347 347 -34 7 +-196 11 -447 11 l-395 0 0 100 c0 177 -36 276 -135 376 -65 65 -136 105 -223 +123 -76 16 -731 13 -797 -3z m775 -306 c61 -31 80 -78 80 -195 l0 -95 -450 0 +-450 0 0 98 c1 114 16 152 76 188 39 24 40 24 372 24 314 0 335 -1 372 -20z +m1200 -610 c60 -31 80 -78 80 -190 l0 -90 -1650 0 -1650 0 0 93 c1 109 17 147 +76 183 l39 24 1533 0 c1517 0 1533 0 1572 -20z m-237 -622 c-2 -24 -62 -744 +-133 -1601 -140 -1688 -129 -1593 -193 -1641 l-28 -21 -979 0 -979 0 -28 21 +c-64 48 -53 -46 -193 1640 -71 858 -131 1578 -133 1602 l-5 42 1338 0 1338 0 +-5 -42z"/> +<path d="M1888 3289 c-23 -12 -46 -35 -58 -59 -20 -39 -20 -57 -20 -1275 0 +-1219 0 -1236 20 -1275 23 -45 80 -80 130 -80 50 0 107 35 130 80 20 39 20 56 +20 1275 0 1219 0 1236 -20 1275 -37 73 -127 99 -202 59z"/> +<path d="M2488 3289 c-23 -12 -46 -35 -58 -59 -20 -39 -20 -57 -20 -1275 0 +-1219 0 -1236 20 -1275 23 -45 80 -80 130 -80 50 0 107 35 130 80 20 39 20 56 +20 1275 0 1219 0 1236 -20 1275 -37 73 -127 99 -202 59z"/> +<path d="M3088 3289 c-23 -12 -46 -35 -58 -59 -20 -39 -20 -57 -20 -1275 0 +-1219 0 -1236 20 -1275 23 -45 80 -80 130 -80 50 0 107 35 130 80 20 39 20 56 +20 1275 0 1219 0 1236 -20 1275 -37 73 -127 99 -202 59z"/> +</g> +</svg> diff --git a/svg/upscale.svg b/svg/upscale.svg new file mode 100644 index 0000000000000000000000000000000000000000..8bb8bcc58a74f5f2ce4c2406e94ab7d2a0c98ae9 --- /dev/null +++ b/svg/upscale.svg @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 383.3 383.4" style="enable-background:new 0 0 383.3 383.4;" xml:space="preserve"> +<g> + <path d="M194.6,383.4c-61.6,0-123.3,0-184.9,0c-5.9-2.6-9.8-6.6-9.8-13.5c0-59.1,0-118.3,0-177.4c0-8.1,5.3-13.3,13.3-13.4 + c3.9,0,7.9,0,12.2,0c0-1.9,0-3.4,0-4.9c0-52.7,0-105.3,0-158c0-11.6,4.4-16.1,16-16.1c108.5,0,217.1,0,325.6-0.1 + c7.8,0,13.2,2.6,16.2,9.8c0,112.8,0,225.6,0,338.4c-3.1,7.4-8.7,9.8-16.6,9.8c-52.6-0.2-105.1-0.1-157.7-0.1c-1.4,0-2.9,0-4.6,0 + c0,3.5-0.2,6.5,0,9.4C205.1,375.2,201.9,380.5,194.6,383.4z M357.6,25.8c-102.2,0-204.2,0-306.3,0c0,51.1,0,101.9,0,153.2 + c1.6,0,3.1,0,4.6,0c44.4,0,88.8,0,133.2,0c10.8,0,15.4,4.6,15.4,15.5c0,44.4,0,88.8,0,133.2c0,1.4,0,2.9,0,4.4 + c51.4,0,102.2,0,153.2,0C357.6,230,357.6,128.1,357.6,25.8z M25.8,204.7c0,51.3,0,102.1,0,152.9c51.1,0,102,0,152.9,0 + c0-51.1,0-102,0-152.9C127.6,204.7,76.8,204.7,25.8,204.7z"/> + <path d="M305.3,95.2c-0.8,1.1-1.4,2.4-2.4,3.3c-20.9,20.9-41.8,41.8-62.7,62.8c-3.9,3.9-8.2,6-13.8,4.4 + c-8.6-2.5-12.1-12.7-6.6-19.9c1-1.3,2.2-2.4,3.3-3.6c20.6-20.7,41.3-41.3,61.9-61.9c0.9-0.9,2.4-1.3,3.6-2c-0.4-0.5-0.8-1-1.1-1.5 + c-1.2-0.1-2.4-0.2-3.6-0.2c-9.4,0-18.7,0.1-28.1,0c-7.6-0.1-13-5.5-13.1-12.5c-0.1-7,5.4-12.9,12.8-12.9c25.1-0.1,50.1,0,75.2,0 + c0.3,0,0.7,0.2,1.3,0.4c0.1,1,0.2,2.1,0.2,3.2c0,23.8,0,47.7,0,71.5c0,6.9-3,11.7-8.5,13.6c-8.3,3-16.8-2.8-17-11.8 + c-0.2-9.5-0.1-19-0.1-28.4c0-1.2,0-2.4,0-3.6C306.2,95.7,305.8,95.4,305.3,95.2z"/> +</g> +</svg> diff --git a/triding.html b/triding.html new file mode 100644 index 0000000000000000000000000000000000000000..cca9c9b017418d2d098b2a156adb3c50e55b34d0 --- /dev/null +++ b/triding.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>BTC/USD Live Chart</title> + <style> + body, html { + margin: 0; + padding: 0; + background-color: black; + height: 100%; + width: 100%; + overflow: hidden; + } + + .tradingview-widget-container { + width: 100%; + height: 100%; + } + + #tradingview_9c9a7 { + width: 100%; + height: 100%; + } + </style> +</head> +<body> + <!-- TradingView Widget BEGIN --> + <div class="tradingview-widget-container"> + <div id="tradingview_9c9a7"></div> + <script type="text/javascript" src="https://s3.tradingview.com/tv.js"></script> + <script type="text/javascript"> + new TradingView.widget( + { + "width": "100%", + "height": "100%", + "symbol": "BITSTAMP:BTCUSD", + "interval": "D", + "timezone": "Etc/UTC", + "theme": "dark", + "style": "1", + "locale": "en", + "toolbar_bg": "#f1f3f6", + "enable_publishing": false, + "allow_symbol_change": true, + "container_id": "tradingview_9c9a7" + } + ); + </script> + </div> + <!-- TradingView Widget END --> +</body> +</html> \ No newline at end of file diff --git "a/\331\205\330\263\330\252\331\206\330\257 \331\206\330\265\331\212 \330\254\330\257\331\212\330\257.txt" "b/\331\205\330\263\330\252\331\206\330\257 \331\206\330\265\331\212 \330\254\330\257\331\212\330\257.txt" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391