html {
    min-height: 100%
}

body {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    touch-action: manipulation
}

#wrapper {
    margin: 50px auto;
    padding: 0 30px;
    max-width: 920px
}

#wrapper,
p {
    line-height: 1.5
}

a {
    color: inherit
}

h1,
kbd {
    font-weight: 400
}

h1 {
    margin: 0;
    text-shadow: -1px 1px 3px #654;
    letter-spacing: -.5px;
    color: #fff;
    font-size: 32px
}

h2 {
    font-weight: 600;
    font-size: 20px;
    color: #000
}

kbd {
    padding: 0 4px;
    background-color: rgba(255, 255, 255, .11);
    color: #8e3b00;
    white-space: nowrap;
    font-family: inherit;
    font-style: normal;
    font-size: 85%;
    border: 1px solid #9b5622;
    border-bottom-width: 2px;
    border-radius: 3px
}

button,
span.button,
span.button-name {
    background-color: #D33232;
    text-transform: uppercase
}

span.button-name {
    font-size: 13px;
    padding: 1px 4px;
    letter-spacing: .5px;
    color: #F7CFCF;
    border-radius: 3px
}

button,
span.button {
    display: inline-block;
    color: #fff;
    border: 0;
    letter-spacing: 1px;
    font-family: inherit;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none;
    -webkit-appearance: none;
    border-radius: 2px;
    text-align: center;
    cursor: pointer;
    box-shadow: -1px 2px 1px 1px rgba(0, 0, 0, .4)
}

button:focus {
    outline: dotted 1px rgba(255, 255, 255, .8)
}

button::-moz-focus-inner {
    padding: 0;
    border: 0
}

button:hover,
span.button:hover {
    background-color: #9E0000
}

button.control-shown,
button.window-shown,
div.drop-down-menu>button.selected {
    background-color: #7F0000
}

button#play-button {
    margin: 0 3px 9px 1px;
    padding: .58em 1em;
    width: 10em;
    font-size: 14px
}

#cookie-message {
    font-size: 12px;
    line-height: 18px;
    padding: 8px 12px;
    background-color: #3d1101;
    border-bottom: solid 2px #864a00
}

#cookie-message a:first-of-type {
    margin-left: 3px
}

#cookie-message a {
    margin-left: 1px;
    border-style: none;
    background-color: #602c0e;
    white-space: nowrap;
    border-radius: 3px;
    text-decoration: none;
    padding: 4px 10px;
    cursor: pointer;
    color: #af7b4b
}

#cookie-message {
    color: #af7b4b
}

#generator-ui {
    margin: 80px 0 40px
}

.controls button,
.controls span.button {
    margin-bottom: 3px;
    height: 20px;
    padding: 1px 5px;
    color: #F7CFCF;
    text-align: left;
    letter-spacing: .3px;
    font-size: 11px;
    line-height: 16px
}

div.drop-down-menu {
    z-index: 200;
    padding: 21px 25px;
    background-color: #fff;
    border-radius: 3px;
    box-shadow: 0 0 33px 11px rgba(0, 0, 0, .25)
}

div.drop-down-menu>div.tail {
    display: block;
    content: '';
    width: 20px;
    height: 20px;
    background-color: #fff;
    position: absolute;
    top: -10px;
    margin-left: -10px;
    transform-origin: 50% 50%;
    transform: rotateZ(45deg);
    z-index: -1
}

div.drop-down-menu>button {
    padding: 6px
}

#play-indicator {
    display: inline-block;
    width: 24px;
    height: 18px;
    vertical-align: middle;
    background-image: url(icons.png);
    background-size: auto 24px;
    transition: opacity .2s
}

#play-indicator.playing {
    opacity: 1
}

#play-indicator.sine {
    background-position: -122px -4px
}

#play-indicator.square {
    background-position: -173px -4px
}

#play-indicator.triangle {
    background-position: -148px -4px
}

#play-indicator.sawtooth {
    background-position: -199px -4px
}

#play-indicator.stopped {
    opacity: 0
}

.ui-slider-horizontal .ui-slider-handle {
    margin-left: -6px
}

#slider,
#slider .ui-slider-range {
	background: #FFCACA;
	background: -moz-linear-gradient(top, #FFCACA 0%, #FCF5F5 22%, #FF665F 100%);
	background: -webkit-linear-gradient(top, #FFCACA 0%, #FCF5F5 22%, #FF665F 100%);
	background: linear-gradient(to bottom, #FFCACA 0%, #FCF5F5 22%, #FF665F 100%);

}

#slider {
    border: solid 1px #efd7c5;
    height: 22px;
    box-shadow: -1px 1px 2px #815c41
}

#slider .ui-slider-handle {
    top: -5px;
    width: 22px;
    height: 32px;
    margin-left: -12px;
    border-radius: 4px;
    background-image: linear-gradient(to bottom, #fbfaf9, #fbfaf9 42%, #eee9e6 62%, #d5cdc6);
    background-image: -webkit-linear-gradient(top, #fbfaf9, #fbfaf9 42%, #eee9e6 62%, #d5cdc6);
    box-shadow: -1px 1px 2px rgba(0, 0, 0, .3);
    outline: 0
}

#slider .ui-slider-handle.ui-state-default {
    border: solid 1px #7c593f
}

#slider .ui-slider-handle.ui-state-focus {
    background: #fff;
    border: solid 1px #9b704f;
    box-shadow: -1px 1px 2px rgba(0, 0, 0, .3), inset 0 0 2px 3px #fff
}

#volume-slider {
    display: inline-block;
    width: 80px;
    height: 8px;
    border-width: 1px;
    border-style: solid;
    border-color: #a55f2b;
    background: #FFEDED;
    box-shadow: 0 2px 2px rgba(0, 0, 0, .4) inset, 0 1px 0 rgba(255, 255, 255, .3)
}

#volume-slider .ui-slider-range {
	background: #F70000;
	background: -moz-linear-gradient(top, #F70000 0%, #BA3838 100%);
	background: -webkit-linear-gradient(top, #F70000 0%, #BA3838 100%);
	background: linear-gradient(to bottom, #F70000 0%, #BA3838 100%);
}

#volume-slider .ui-slider-handle {
    width: 10px;
    height: 14px;
    top: -4px;
    border: solid 1px #965c33;
	background: #723E20;
	background: -moz-linear-gradient(top, #723E20 0%, #631E1E 100%);
	background: -webkit-linear-gradient(top, #723E20 0%, #631E1E 100%);
	background: linear-gradient(to bottom, #723E20 0%, #631E1E 100%);
    box-shadow: -1px 1px 1px rgba(0, 0, 0, .1)
}

#balance-control-popup .balance-slider .ui-slider-handle.ui-state-focus,
#volume-slider .ui-slider-handle.ui-state-focus {
    box-shadow: -1px 1px 2px rgba(255, 255, 255, .1), inset -2px -2px 8px rgba(255, 255, 255, .6), inset 2px 2px 8px rgba(255, 255, 255, .6);
    outline: 0
}

label#volume-slider-label {
    display: inline-block;
    width: 24px;
    height: 9px;
    background-image: url(icons.png);
    background-size: auto 18px;
    background-position: -57px bottom;
    margin-right: 3px
}

#volume-readout {
    display: inline-block;
    width: 2.5em;
    margin-left: 5px;
    font-weight: 400;
    font-size: 13px
}

.controls {
    position: relative;
    margin: 0 -20px 0 0;
    padding: 8px 0;
    max-width: 920px;
    font-size: 14px;
    font-weight: 600;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none
}

.controls .control-group {
    display: inline-block;
    vertical-align: bottom;
    white-space: nowrap;
    line-height: 51px;
    margin-right: 20px
}

.controls .control-group>* {
    vertical-align: middle
}

.controls span.separator {
    display: inline-block;
    margin-right: 45px
}

#freq-readout {
    position: relative;
    display: inline-block;
    text-align: center;
    width: 142px;
    font-size: 23px;
    cursor: pointer;
    -moz-user-select: -moz-all;
    -webkit-user-select: auto;
    user-select: all
}

#freq-readout:not(.editing):hover:after {
    position: absolute;
    display: inline-block;
    bottom: -2px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    content: 'EDITE A FREQUÊNCIA';
    font-size: 10px;
    line-height: 13px;
    color: #8e420b;
    border-radius: 3px;
    letter-spacing: .7px;
    word-spacing: 1px;
    text-align: center;
    padding: 1px 2px
}

#freq-readout small {
    font-size: 70%;
    font-weight: 400
}

#freq-readout input[type=text] {
    position: absolute;
    display: block;
    box-sizing: border-box;
    left: 0;
    right: 0;
    top: 15%;
    bottom: 15%;
    height: 70%;
    width: 100%;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    border: solid 1px #aaa;
    border-radius: 2px;
    background-color: #f3d6bf;
    padding: 4px
}

.controls .freq-button {
    width: 24px;
    height: 32px;
    background-size: auto 32px;
    cursor: pointer;
    background-color: inherit;
    border: 0;
    box-shadow: none
}

#freq-down-button {
    background-position: 0 0
}

#freq-up-button {
    background-position: -26px 0
}

#freq-down-button:hover {
    background-position: -48px 0
}

#freq-up-button:hover {
    background-position: -74px 0
}

button.small-button {
    display: inline-block;
    font-size: 12px;
    color: #f3d6bf;
    cursor: pointer;
    background: #D83434;
    height: 17px;
    line-height: 17px;
    width: 20px;
    text-align: center;
    border-radius: 3px;
    box-shadow: -1px 1px 1px 0 rgba(0, 0, 0, .4);
    overflow: hidden;
    margin-top: 3px;
    margin-bottom: 0;
    letter-spacing: normal;
    padding: 0
}

button.small-button:hover {
    background: #8E2323
}

#wave-selector span,
.controls .freq-button,
label#note-selector-label {
    display: inline-block;
    background-image: url(icons.png)
}

label#note-selector-label {
    margin-right: 4px;
    background-position: -91px -1px;
    width: 9px;
    height: 18px;
    background-size: auto 20px
}

.banad ins,
button#note-selector {
    position: relative
}

button#note-selector:after {
    content: '▼';
    color: #F7CFCF;
    position: absolute;
    right: 0;
    top: 0;
    width: 1em;
    background: inherit;
    padding: 1px 3px 1px 5px
}

button#wave-selector {
    text-align: center
}

#wave-selector span {
    vertical-align: middle;
    width: 15px;
    height: 14px;
    background-size: auto 15px
}

#wave-selector span.image-sine {
    background-position: -140px -2px
}

#wave-selector span.image-square {
    background-position: -172px -2px
}

#wave-selector span.image-triangle {
    background-position: -156px -2px
}

#wave-selector span.image-sawtooth {
    background-position: -188px -2px
}

#wave-selector-menu button {
    width: 63px;
    font-size: 9px;
    letter-spacing: .4px;
    color: #F7CFCF;
    margin-right: 10px;
    margin-bottom: 1px;
    padding: 7px 6px 4px
}

#wave-selector-menu button:last-child {
    margin-right: 0
}

#wave-selector-menu button>span {
    display: block;
    margin: 1px 0 3px 14px;
    background-image: url(icons.png);
    width: 20px;
    height: 18px;
    background-size: auto 20px
}

#wave-selector-menu span.image-sine {
    background-position: -186px -4px
}

#wave-selector-menu span.image-square {
    background-position: -229px -4px
}

#wave-selector-menu span.image-triangle {
    background-position: -208px -4px
}

#wave-selector-menu span.image-sawtooth {
    background-position: -250px -4px
}

span.image-freq-down,
span.image-freq-up,
span.image-sine {
    display: inline-block;
    background-image: url(icons.png);
    vertical-align: baseline
}

span.image-sine {
    background-position: -130px 0;
    width: 16px;
    height: 13px;
    background-size: auto 14px
}

span.image-freq-down,
span.image-freq-up {
    width: 13px;
    height: 16px;
    background-size: auto 17px;
    margin-right: 1px
}

span.image-freq-up {
    background-position: -13px 0
}

#footer {
    margin: 60px 0 30px;
    font-size: 13px;
    color: #f4f2f2;
    text-shadow: -1px 1px 3px #654
}

#balance-control {
    width: 37px;
    height: 18px;
    padding: 3px 0 0;
    text-align: center
}

#balance-control>svg {
    height: 11px;
    width: 27px;
    fill: #F7CFCF
}

#balance-control-popup .balance-button-section {
    display: flex;
    width: 200px;
    justify-content: space-between;
    margin: 0 auto 7px
}

#balance-control-popup .balance-button-section>button {
    display: inline-block;
    font-size: 11px
}

#balance-control-popup .balance-slider {
    display: inline-block;
    width: 200px;
    height: 10px;
    border-width: 1px;
    border-style: solid;
    background: #DB5E5E;
    border-color: #a55f2b;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .4) inset, 0 1px 0 rgba(255, 255, 255, .3)
}

#balance-control-popup .ui-widget-header {
    background: 0 0
}

#balance-control-popup .balance-slider .ui-slider-handle {
    width: 11px;
    height: 15px;
    top: -3px;
    border: solid 1px #965c33;
    background-image: -webkit-linear-gradient(top, #febe8f 0%, #e7a26e 42%, #e09259 82%, #e19965 100%);
    background-image: linear-gradient(to bottom, #febe8f 0%, #e7a26e 42%, #e09259 82%, #e19965 100%);
    box-shadow: -1px 1px 1px rgba(0, 0, 0, .1)
}

#balance-control-popup .balance-readout {
    text-align: center;
    font-size: 13px
}

#balance-control-popup .speaker-icon {
    display: inline-block;
    height: 15px;
    width: 18px;
    fill: #7F0000;
    vertical-align: -2px
}

#balance-control-popup #left-speaker-icon {
    margin-right: 5px
}

#balance-control-popup #right-speaker-icon {
    margin-left: 5px
}

nav {
    font-size: 15px
}

nav a {
    text-decoration: none;
    border-bottom: dotted 1px #000
}

div#browser-warning {
    position: fixed;
    box-sizing: border-box;
    border-radius: 5px;
    top: 30%;
    left: 20%;
    width: 60%;
    padding: 2em;
    background-color: #999;
    opacity: .9;
    z-index: 1000;
    font-size: 18px;
    color: #fff
}

#get-file-dialog,
#get-link-window,
#note-selector-panel {
    border-radius: 3px;
    box-shadow: 0 0 120px 40px rgba(0, 0, 0, .25)
}

#get-file-dialog,
#get-link-window {
    opacity: .97;
    width: 450px;
    z-index: 100;
    background-color: #fff;
    padding: 35px
}

#get-link-window .desc {
    margin-bottom: .25em
}

#get-link-window .message {
    font-size: 13px;
    font-style: italic;
    text-align: center;
    margin: 1em 0 -1em
}

#get-link-window .box {
    background-color: #fff;
    border: solid 1px #aaa;
    padding: 4px 7px
}

#get-file-dialog a {
    display: block
}

#get-file-dialog .close-button {
    position: absolute;
    right: 15px;
    top: 15px
}

#note-selector-panel {
    z-index: 90;
    height: 52%;
    min-height: 300px;
    bottom: 3%;
    left: 0;
    right: 0;
    width: 90%;
    max-width: 900px;
    margin: 0 auto;
    padding: 25px 22px 20px;
    background-color: #ffffff
}

#note-selector-panel .close-button {
    position: absolute;
    box-sizing: content-box;
    left: 14px;
    top: 15px;
    width: 30px;
    height: 30px;
    padding: 0;
    font-size: 23px;
    line-height: 30px;
    text-align: center;
    box-shadow: none;
    background: 0 0;
    border: solid 2px #7F0000;
    color: #7F0000
}

#note-selector-panel .close-button:hover {
    background-color: rgba(255, 255, 255, .15)
}

#note-selector-panel>table {
    table-layout: fixed;
    width: 100%;
    height: 100%;
    border-collapse: collapse
}

#note-selector-panel>table td {
    height: 11.1%;
    white-space: nowrap
}

#note-selector-panel>table td.halftone {
    width: 6.5%
}

#note-selector-panel>table td.halftone button {
    opacity: .7
}

#note-selector-panel>table button {
    width: 100%;
    height: calc(100% - 10px);
    margin-bottom: 10px;
    font-size: 14px;
    overflow: hidden;
    padding: 0 2px;
    background-color: #CE0404
}

#note-selector-panel>table button.selected,
#note-selector-panel>table td.halftone button.selected {
    background-color: #7F0000;
    opacity: 1
}

#note-selector-panel>table button:hover {
    filter: brightness(1.12)
}

#note-selector-panel button>small {
    display: block;
    font-size: 11px;
    opacity: .6;
    text-transform: none
}

@media only screen and (max-height:800px) {
    #note-selector-panel button>small {
        display: none
    }
}

.support {
    margin: 2em 0 10em
}

button.donate {
    padding: .6em .7em;
    font-size: 13px
}

.donate-tip {
    font-size: 13px;
    font-style: italic;
    text-align: center;
    margin-top: .3em
}

.support-link {
    float: right;
    font-size: 11px;
    line-height: 22px;
    padding: 0 .8em;
    border: solid 1px #ae6229;
    color: #7a3400;
    background-color: transparent;
    box-shadow: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    border-radius: 2px
}

.support-link:hover {
    background: rgba(255, 255, 255, .1)
}

.banad {
    display: block;
    position: relative;
    margin: 0 0 60px;
    width: 728px;
    height: 90px
}

.banad .ad-banner-blocker {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background: #fc9b55;
    z-index: 50;
    opacity: .08;
    visibility: hidden
}

.banad .ad-banner-small-blocker {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 300px;
    height: 25px;
    z-index: 50
}

.banad iframe {
    box-shadow: 0 0 5px 3px rgba(0, 0, 0, .02)
}

.banad .ad-banner-adblock-msg,
.banad .ad-banner-remove-msg {
    box-sizing: border-box;
    max-width: 600px;
    font-size: 13px;
    padding: .8em 1.2em;
    display: none
}

.banad .ad-banner-remove-msg {
    position: absolute;
    left: 0;
    top: 0;
    background-color: #D33232;
    color: #e7c2a5;
    border-radius: 7px
}

.banad .ad-banner-adblock-msg {
    border: solid 1px #ae6229;
    color: #7a3400;
    border-radius: 3px
}

.ad-remove-ui {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 10px;
    font-size: 13px
}

.ad-remove-link {
    color: #985e34;
    text-decoration: none
}

.ad-remove-ui .ui-link-label {
    border-bottom: dotted 1px #985e34
}

@media screen and (max-width:1033px) {
    #wrapper {
        padding: 0 20px
    }
}

@media screen and (max-width:767px) {
    .banad {
        width: 320px;
        height: auto;
        min-height: 50px
    }
}

@media screen and (max-width:701px) {
    h1 {
        font-size: 29px
    }
    #wrapper {
        margin: 20px 0
    }
    #generator-ui {
        margin-top: 45px;
        margin-bottom: 30px
    }
}