chiro-canto/public/styles/style.css

769 lines
11 KiB
CSS
Executable File

* {
padding: 0;
margin: 0;
}
body {
margin: 0;
background-color: white;
}
header {
text-align: right;
padding: 0;
z-index: -1;
position: relative;
}
header a {
text-decoration: none;
color: black;
}
nav,
nav .container {
padding: 0;
margin: 0;
}
header .container,
nav .container {
display: flex;
justify-content: space-between;
}
header h1 {
font-size: 4em;
padding: 0;
margin: 0;
}
img.banner {
width: 100%;
height: auto;
}
section {
padding: 1em;
min-height: 100vh;
width: 50vw;
text-align: left;
margin: auto;
}
article {
width: 50vw;
text-align: left;
margin: auto;
}
article h1 {
font-size: 5em
}
footer {
color: white;
text-align: center;
background-color: rgba(0, 0, 0, 0.9);
padding: 1em;
}
footer a {
text-decoration: none;
}
footer img {
height: 1em;
}
label {
width: 40em;
display: inline-block;
}
label span.info {
display: none;
}
label:hover span.info {
display: inline;
position: relative;
background: yellow;
padding: 0.5em;
border-radius: 5px;
}
label {
float: left;
clear: none;
display: inline;
padding: 0px 1em 0px 8px;
}
/* Style inputs with type="text", select elements and textareas */
input,
select,
textarea {
width: 100%;
/* Full width */
padding: 12px;
margin: 0;
/* Some padding */
border: 1px solid #ccc;
/* Gray border */
border-radius: 4px;
/* Rounded borders */
box-sizing: border-box;
/* Add a top margin */
margin-bottom: 1em;
/* Bottom margin */
;
}
input[type=radio],
input[type=checkbox] {
display: inline;
width: auto;
height: auto;
}
/* Style the submit button with a specific background color etc */
input[type=submit] {
background-color: #4CAF50;
color: white;
padding: 12px 20px;
margin: 0.1em;
border: none;
border-radius: 4px;
cursor: pointer;
width: auto;
}
input[type=reset] {
background-color: #af4c4c;
color: white;
padding: 12px 20px;
margin: 0.1em;
border: none;
border-radius: 4px;
cursor: pointer;
width: auto;
}
/* When moving the mouse over the submit button, add a darker green color */
input[type=submit]:hover {
background-color: #45a049;
}
/* When moving the mouse over the reset button, add a darker red color */
input[type=reset]:hover {
background-color: #923737;
}
/* Add a background color and some padding around the form */
.container {
border-radius: 5px;
background-color: #f2f2f2;
padding: 1em;
}
nav {
border-bottom: 1px solid black;
position: flex;
display: block;
width: 100%;
background-color: white;
z-index: 10;
overflow: hidden;
overflow-wrap: break-word;
}
nav div {
padding: 1em;
}
nav.dark-theme {
background: black;
}
nav.dark-theme ul li {
color: white;
}
nav ul {
display: flex;
flex-direction: row;
}
nav ul a {
text-decoration: none;
}
nav ul li {
list-style: none;
color: black;
margin: 0.5em;
}
iframe::parent {
padding: 0;
margin: 0;
}
iframe {
width: 100%;
height: 750px;
}
#previewFrame {
width: 300px;
height: 200px;
resize: both;
zoom: 0.2;
-moz-transform: scale(0.5);
-moz-transform-origin: 0 0;
-o-transform: scale(0.5);
-o-transform-origin: 0 0;
-webkit-transform: scale(0.5);
-webkit-transform-origin: 0 0;
}
iframe html body {
font-size: 0.1em;
}
.container {
display: flex;
padding-top: 0;
padding-bottom: 0;
padding: 0.5em;
}
.container.row {
flex-direction: row;
}
.container.column {
flex-direction: column;
}
h3,
p {
padding: 1em;
width: auto;
}
p.large {
width: auto;
}
table {
border-radius: 5px;
width: 100%;
border-collapse: collapse;
}
td,
th {
border: 1px solid #dddddd;
text-align: left;
padding: 0.5em;
}
tr:nth-child(even) {
background-color: #dddddd;
}
table a {
text-decoration: none;
color: black;
}
table a:hover {
font-style: italic;
}
#searchbar {
display: inline-flex;
flex-direction: row;
}
ul.breadcrumb {
display: flex;
flex-basis: row;
}
ul.breadcrumb li {
list-style: url("/media/icons/arrow.svg");
margin-left: 2em;
}
ul.breadcrumb li.active {
font-weight: bold;
}
div.coordinates {
display: flex;
flex-direction: row;
}
div.coordinates input[type="text"] {
width: 25em;
}
.sci-name {
font-style: italic;
}
.error {
border: solid red;
border-radius: 5px;
padding: 0.5em;
background-color: rgba(255, 0, 0, 0.4)
}
.sound {
background-color: rgba(0, 255, 0, 0.5);
padding: 1em;
border-radius: 5px;
overflow: auto;
}
#spectrogram {
width: 100%;
max-width: 75vh;
}
button img {
max-height: 1em;
}
form#url-form {
display: none;
position: fixed;
top: 50%;
left: 35%;
width: 15em;
z-index: 1;
background-color: white;
padding: 1em;
border-radius: 5px;
border: 1px solid #ccc;
}
table#replies td {
background-color: white;
}
#larynx {
background-color: rgba(0, 0, 0, 0.8);
min-height: 100vh;
margin: 0;
color: white;
padding: 1em;
max-width: 100vw;
height: 10vh;
text-align: center;
overflow: auto;
}
#larynx h2 {
text-align: center;
}
#larynx .license {
text-align: left;
}
#larynx canvas {
width: 100vw;
position: relative;
left: 0;
}
#larynx .container {
background: transparent;
display: flex;
justify-content: space-between;
}
#larynx .settings {
display: flex;
}
#larynx .settings input,
#larynx .settings label {
width: auto;
padding: 0em 1em;
}
table {
max-width: 100vw;
}
table#list {
position: absolute;
left: 0;
}
table img {
height: 1em;
}
.images img {
max-height: 10em;
}
.images li {
list-style: none;
}
.images .fullscreen {
display: block;
position: fixed;
/*top: 10%;*/
bottom: 0;
left: 50%;
max-width: 100vw;
max-height: 100vh;
transform: translate(-50%);
}
.images .fullscreen::parent {
background: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(9px);
position: fixed;
bottom: 0;
right: 0;
left: 0;
top: 0;
}
.arrow {
position: relative;
bottom: 0;
left: 50%;
margin-left: -20px;
width: 40px;
height: 40px;
background-image: url(/media/icons/bottom_arrow.svg);
background-size: contain;
}
.bounce {
animation: bounce 2s infinite;
}
@keyframes bounce {
0%,
20%,
50%,
100% {
transform: translateY(0);
}
40% {
transform: translateY(-30px);
}
60% {
transform: translateY(-15px);
}
}
article#guano {
font-family: "Consolas";
background-color: lightgray;
padding: 1em;
border-radius: 8px;
}
.collapsible {
background-color: lightgrey;
color: black;
cursor: pointer;
padding: 18px;
width: 100%;
border: none;
text-align: left;
outline: none;
font-size: 15px;
}
.collapsed,
.collapsible:hover {
background-color: grey;
}
.content {
padding: 0 18px;
display: none;
overflow: hidden;
background-color: #f1f1f1;
}
.collapsible:after {
content: '\02795';
/* Unicode character for "plus" sign (+) */
font-size: 13px;
color: #777;
float: right;
margin-left: 5px;
}
.collapsed:after {
content: '\2796';
/* Unicode character for "minus" sign (-) */
}
.tooltip {
position: relative;
display: inline-block;
}
.tooltip .tooltiptext {
visibility: hidden;
width: 140px;
background-color: #555;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 5px;
position: absolute;
z-index: 1;
bottom: 150%;
left: 50%;
margin-left: -75px;
opacity: 0;
transition: opacity 0.3s;
}
.tooltip .tooltiptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #555 transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
visibility: visible;
opacity: 1;
}
/* The container <div> - needed to position the dropdown content */
.dropdown {
position: relative;
display: inline-block;
color: black;
padding: 0;
}
/* Dropdown Content (Hidden by Default) */
.dropdown-content {
display: none;
position: absolute;
background-color: #f2f2f2;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
}
.dropdown-content ul {
display: flex;
flex-direction: column;
padding: 0;
}
/* Links inside the dropdown */
.dropdown-content li a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
/* Change color of dropdown links on hover */
.dropdown-content a:hover {
background-color: #f1f1f1
}
/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
display: flex;
position: fixed;
}
/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
.search img,
.larynx img,
.mystery img,
.list img,
.spectro img {
max-height: 15vw
}
.wrapper {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
grid-auto-rows: minmax(100px, auto);
}
.search {}
.larynx {}
.mystery {}
.list {}
.spectro {}
i,
.fa {
height: 0.1em;
color: black;
}
.message .content {
display: flex;
flex-direction: row;
width: auto;
background-color: lightgreen;
border-radius: 8px 8px 0px 8px;
}
.notification {
text-decoration: none;
position: relative;
display: inline-block;
}
.notification span {
padding: 1em;
}
.notification .badge {
position: absolute;
font-size: 0.5em;
font-weight: bold;
top: -0.5em;
right: -0.5em;
padding: 5px;
border-radius: 50%;
background: red;
color: white;
}
section.observation {
height: 100%;
width: 100%;
display: flex;
position: absolute;
top: 20em;
left: 0;
width: auto;
flex-direction: row;
height: auto;
padding: 0;
margin: 0;
}
section .container {
padding: 0;
margin: 0;
}
section.observation {
max-width: 100%;
}
section.observation #map {
cursor: crosshair;
border-radius: 0;
width: 50vw;
height: 100% !important;
}
section.observation form .container.column {
display: flex;
flex-direction: column;
}
section.observation .container {
display: flex;
}
section.observation .metadata {
padding: 1em;
width: 47.5vw;
left: 0;
right: 0;
overflow: auto;
}
section.observation input,
section.observation select,
section.observation textarea,
section.observation label {
max-width: 80%;
}
section.observation .collapsible {
background-color: lightgrey;
width: 80%;
margin-bottom: 1em;
border-radius: 4px;
}
section.observation label {
width: auto;
display: block;
}
#map {
object-fit: contain;
height: 50vh;
}
#map img {
max-height: none;
}
.fa {
height: 1em;
}
.language {
background: transparent;
margin: 0;
padding: 0.1em;
}
.language:hover {
background: transparent;
}
.language::after {
content: none;
}
#language {
position: absolute;
right: 2.5em;
top: 2.5em;
}