* {
  box-sizing: border-box;
}

html {
  width: 100%;
  height: 100%;
}

body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#root {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.main-container {
  position: relative;
  flex-grow: 1;
}



h3 {
  margin-top: 1rem;
  margin-bottom: 0.25rem;
}

select {
  border: 0.05rem solid #777777;
  padding: 0.25rem;
  background-color: #ffffff;
  border-radius: 0.25rem;
}

.app {
  width: 100%;
  height: 100%;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  height: 4rem;
  box-shadow: 0 0.25rem 0.5rem #777777;
  font-size: 1.5rem;
  font-weight: bold;
  padding-left: 1rem;
  z-index: 10;
}

.content-container {
  width: 100%;
  height: 100%;
  max-height: 100%;
  padding-top: 4rem;
}

.content {
  position: absolute;
  width: 100%;
  max-width: 60rem;
  left: 50%;
  max-height: 100%;
  transform: translateX(-50%);
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  overflow-y: scroll;
}

.content::-webkit-scrollbar {
  /* WebKit */
  display: none;
}

.full {
  width: 100%;
  height: 100%;
}

.floating-container {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
}

.floating-button {
  border: none;
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
  cursor: pointer;
  box-shadow: 0 0.25rem 0.5rem #777777;
  font-size: 1.5rem;
  padding: 0;
  margin: 0;
  z-index: 5;
}

.floating-container-center {
  position: fixed;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%);
}

.floating-button-large {
  border: none;
  border-radius: 50%;
  width: 4.5rem;
  height: 4.5rem;
  cursor: pointer;
  box-shadow: 0 0.25rem 0.5rem #777777;
  font-size: 2rem;
  padding: 0;
  margin: 0;
}

.freq-note,
.freq-hz {
  display: block;
}
.freq-note {
  font-size: 24px;
}
.freq-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.freq-pointer {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.freq-note-label {
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 20px;
}
.freq-octave {
  font-size: 0.6em;
  vertical-align: sub;
}
.freq-surround {
  position: relative;
  overflow: hidden;
  min-width: 300px;
  min-height: 300px;
  width: 100%;
  height: 100%;
}


.setting > *:last-child {
  display: block;
  text-align: right;
  font-size: smaller;
}
.setting > *:first-child {
  display: block;
  text-align: left;
  font-style: italic;
}
