.dropdown,
.swapper {
    position: absolute;
    z-index: 100;
    }
.dropdown:hover {
    z-index: 1000;
    }

.dropdown *,
.swapper * {
    background: #fff;
    font-family: "Helvetica";
    }

.dropdown button,
.dropdown input,
.swapper button {
    border: 2px solid #fff;
    border-radius: 10px;
    padding: 5px 20px;
    white-space: nowrap;
    }
    .swapper button { color: #ccc; }
.dropdown:hover button,
.swapper:hover button {
    border-color: #ccc;
    cursor: pointer;
    }
    .swapper:hover button { color: #999; }
.dropdown button::after,
.dropdown input::after {
    color: #fff;
    content: "▿";
    margin-left: 20px;
    }
.dropdown:hover button::after,
.dropdown:hover input::after {
    color: #999;
    }
.dropdown button.hidden {
    display: none;
    }

.dropdown input {
    background: url('data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22><text y=%221em%22 font-size=%2290%22>🔎</text></svg>') no-repeat;
    background-position: left 0.4em top 100%;
    padding-left: 1.75em;
    display: none;
    }
.dropdown input.active {
    display: block;
    }

.dropdown ul {
    cursor: default;
    display: none;
    border: 2px solid #ccc;
    border-radius: 10px;
    list-style: none;
    margin: 0;
    padding: 10px 0;
    }
.dropdown ul.active {
    display: block;
    max-height: 700px;
    overflow-y: scroll;
    }

.dropdown ul li {
    padding: 0 20px;
    }
.dropdown ul li:hover {
    background: #eee;
    cursor: pointer;
    }
.dropdown ul li.hidden {
    display: none;
    }

.explanation {
    padding-bottom: 50px;
    position: absolute;
        top: 950px;
        left: 50px;
    width: 800px;
    }
.explanation * {
    color: #000;
    font-family: "Helvetica";
    font-weight: normal;
    line-height: 1.25em;
    }