.btn { position: relative; display: block; padding: 14px; overflow: hidden; border-width: 0; outline: none; box-shadow: var(--level1-shadow); background-color: var(--primary-color); color: var(--secondary-text-color); font-size: var(--normal-text-size); font-weight: bold; text-align: center; transition: background-color .3s; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .btn:hover, .btn:focus { background-color: var(--primary-dark-color); cursor: pointer; } .btn > * { position: relative; } .btn span { display: block; padding: 12px 24px; } .btn:before { content: ""; position: absolute; top: 50%; left: 50%; display: block; width: 0; padding-top: 0; border-radius: 100%; background-color: rgba(236, 240, 241, .3); -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .btn:active:before { width: 120%; padding-top: 120%; transition: width .2s ease-out, padding-top .2s ease-out; } .btn img { margin-left: auto; margin-right: auto; display: block; } .btn.disabled { background-color: var(--inactive-color); } /* faders */ .fadeOut { background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, var(--bg-color) 100%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0, 0, 0,0)), color-stop(100%,var(--bg-color))); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, var(--bg-color) 100%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, var(--bg-color) 100%); /* Opera 11.10+ */ background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, var(--bg-color) 100%); /* IE10+ */ background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, var(--bg-color) 100%); /* W3C */ } .fadeIn { background: -moz-linear-gradient(top, var(--bg-color) 0%, rgba(0, 0, 0, 0) 100%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, var(--bg-color)), color-stop(100%,rgba(0, 0, 0, 0))); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, var(--bg-color) 0%, rgba(0, 0, 0, 0) 100%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, var(--bg-color) 0%, rgba(0, 0, 0, 0) 100%); /* Opera 11.10+ */ background: -ms-linear-gradient(top, var(--bg-color) 0%, rgba(0, 0, 0, 0) 100%); /* IE10+ */ background: linear-gradient(to bottom, var(--bg-color) 0%, rgba(0, 0, 0, 0) 100%); /* W3C */ } /*Input fields*/ .inpt { position:relative; margin-top: 20px; margin-bottom: 50px; } .inpt input { font-size: var(--big-text-size); padding: 11px 9px 9px; display: block; width: 300px; border: none; border-bottom: 1px solid var(--primary-color); } .inpt input:invalid { outline: none; } .inpt input:focus { outline: none; } .inpt input:required { box-shadow: none; } .inpt label { color: var(--primary-text-color); font-size: var(--huge-text-size); font-weight: normal; position: absolute; pointer-events: none; left: 5px; top: 10px; transition: 0.2s ease all; -moz-transition: 0.2s ease all; -webkit-transition: 0.2s ease all; } .inpt img { position: absolute; right: 10px; top: 14px; display: block; width: 24px; height: 24px; } .inpt img:hover { cursor: pointer; } .inpt input:focus ~ label { top: -25px; font-size: var(--normal-text-size); color: var(--primary-text-color); } .inpt input:valid ~ label { top: -25px; font-size: var(--normal-text-size); color: var(--primary-text-color); } .inpt .bar { position: relative; display: block; width: 100%; } .inpt.bad .bar:before, .inpt.bad .bar:after{ background-color: var(--bad-color); } .inpt.weak .bar:before, .inpt.weak .bar:after{ background-color: var(--invalid-color); } .inpt .bar:before, .bar:after { content: ''; height: 2px; width: 0; bottom: 0; position: absolute; background-color: var(--primary-color); transition: 0.2s ease all; -moz-transition: 0.2s ease all; -webkit-transition: 0.2s ease all; } .inpt .bar:before { left:50%; } .inpt .bar:after { right:50%; } .inpt input:focus ~ .bar:before, input:focus ~ .bar:after { width:50%; } .inpt .highlight { position: absolute; height:80%; width: 100%; bottom: 4px; left:0; pointer-events: none; opacity: 0.5; } .inpt input:focus ~ .highlight { -webkit-animation:inputHighlighter 0.3s ease; -moz-animation:inputHighlighter 0.3s ease; animation:inputHighlighter 0.3s ease; } .inpt.bad input{ border-bottom: 1px solid var(--bad-color); } .inpt.weak input{ border-bottom: 1px solid var(--invalid-color); } @-webkit-keyframes inputHighlighter { from { background: var(--secondary-color); } to { width:0; background:transparent; } } @-moz-keyframes inputHighlighter { from { background: var(--secondary-color); } to { width:0; background:transparent; } } @keyframes inputHighlighter { from { background: var(--secondary-color); } to { width:0; background:transparent; } } /*folder button*/ .folderBtn { display: flex; flex-direction: row; padding: 2px var(--base-text-padding); left: 0; right: 0; margin-top: 2px; border-radius: var(--default-radius); background-color: transparent; font-size: var(--normal-text-size); text-shadow: var(--text-shadow); -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; transition: background-color .2s ease-out;; } .folderBtn:hover { cursor: pointer; background-color: var(--secondary-color); transition: background-color .2s ease-out;; } /* icon button */ .iconBtn:hover, .iconBtn:focus { cursor: pointer; opacity: 1.0; transition: opacity .2s ease-out; } .iconBtn { width: 24px; min-width: 24px; opacity: 0.75; transition: opacity .2s ease-out; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } /* Dropdown Button */ .dropbtn { display: inline; background-color: var(--bg-color); color: var(--primary-text-color); font-size: var(--normal-text-size); cursor: pointer; padding: var(--base-text-padding); } .dropdown-content { display: none; position: absolute; margin-top: var(--base-text-padding); background-color: var(--bg-color); min-width: 160px; box-shadow: var(--level1-shadow); z-index: 1; } .dropdown-content a { padding: var(--base-text-padding); text-decoration: none; display: block; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .noselect { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .toEmail { border-radius: var(--default-radius); font-size: var(--small-text-size); margin: 5px 10px 5px 0; padding: var(--small-text-padding); -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .settingsHeader { padding: var(--base-text-padding); font-size: var( --huge-text-size); -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .toast { position: absolute; top: 0; left:0; right:0; padding: var(--base-text-padding); text-align: center; } .toast.visible { opacity: 1; visibility: visible; transition: visibility 0s, opacity 0.5s linear; -webkit-transition: visibility 0s, opacity 0.5s linear; -moz-transition: visibility 0s, opacity 0.5s linear; -o-transition: visibility 0s, opacity 0.5s linear; -ms-transition: visibility 0s, opacity 0.5s linear; } .toast.hidden { opacity: 0; visibility: hidden; transition: visibility 0.5s, opacity 0.5s linear; -webkit-transition: visibility 0.5s, opacity 0.5s linear; -moz-transition: visibility 0.5s, opacity 0.5s linear; -o-transition: visibility 0.5s, opacity 0.5s linear; -ms-transition: visibility 0.5s, opacity 0.5s linear; } .toast.normal { background-color: var(--primary-color); color: var(--secondary-text-color); } .toast.warning { background-color: var(--invalid-color); color: var(--primary-text-color); } .toast.critical { background-color: var(--bad-color); color: var(--secondary-text-color); } /* checkbox */ .cbox { z-index: 0; position: relative; display: inline-block; color: rgba(0, 0, 0, 0.87); font-size: 16px; line-height: 1.5; } /* Input */ .cbox > input { appearance: none; -moz-appearance: none; -webkit-appearance: none; z-index: -1; position: absolute; left: -10px; top: -8px; display: block; margin: 0; border-radius: 50%; width: 40px; height: 40px; background-color: rgba(0, 0, 0, 0.6); box-shadow: none; outline: none; opacity: 0; transform: scale(1); pointer-events: none; transition: opacity 0.3s, transform 0.2s; } /* Span */ .cbox > span { display: inline-block; width: 100%; cursor: pointer; } /* Box */ .cbox > span::before { content: ""; display: inline-block; box-sizing: border-box; margin: 3px 11px 3px 1px; border: solid 2px; /* Safari */ border-color: rgba( 0, 0, 0, 0.6); border-radius: 2px; width: 18px; height: 18px; vertical-align: top; transition: border-color 0.2s, background-color 0.2s; } /* Checkmark */ .cbox > span::after { content: ""; display: block; position: absolute; top: 3px; left: 1px; width: 10px; height: 5px; border: solid 2px transparent; border-right: none; border-top: none; transform: translate(3px, 4px) rotate(-45deg); } /* Checked, Indeterminate */ .cbox > input:checked, .cbox > input:indeterminate { background-color: var(--primary-color); } .cbox > input:checked + span::before, .cbox > input:indeterminate + span::before { border-color: var(--primary-color); background-color: var(--primary-color); } .cbox > input:checked + span::after, .cbox > input:indeterminate + span::after { border-color: var(--bg-color); } .cbox > input:indeterminate + span::after { border-left: none; transform: translate(4px, 3px); } /* Hover, Focus */ .cbox:hover > input { opacity: 0.04; } .cbox > input:focus { opacity: 0.12; } .cbox:hover > input:focus { opacity: 0.16; } /* Active */ .cbox > input:active { opacity: 1; transform: scale(0); transition: transform 0s, opacity 0s; } .cbox > input:active + span::before { border-color: var(--primary-color); } .cbox > input:checked:active + span::before { border-color: transparent; background-color: rgba(0, 0, 0, 0.6); } /* Disabled */ .cbox > input:disabled { opacity: 0; } .cbox > input:disabled + span { color: rgba(0, 0, 0, 0.38); cursor: initial; } .cbox > input:disabled + span::before { border-color: currentColor; } .cbox > input:checked:disabled + span::before, .cbox > input:indeterminate:disabled + span::before { border-color: transparent; background-color: currentColor; } /* spacer */ .spacer { display: block; flex: 1 1 auto }