.element-list {
    padding: 28px 0 38px;
}

.element-list-header > i, .element-list-header > h2 {
    display: inline-block;
    vertical-align: middle;
}

.element-list-header > i {
    margin-right: 8px;
    margin-bottom: 8px;
    font-size: 52px;
}

.element-list-header > h2 {
    font-size: 42px;
    font-weight: bold;
    color: rgba(0, 0, 0, 0.3);
}

.element {
    padding: 12px 0;
    display: flex;
    flex-flow: row;
    align-items: center;
    border-bottom: 1px solid #cacaca;
}

.element:first-child {
    border-top: 1px solid #cacaca;
}

.element-left {
    width: 100%; height: 0;
    padding-bottom: 12.5%;
    position: relative;
    flex: 1;
}

.element-img {
    width: 100%;
    position: absolute;
    top: 50%; left: 0;
    transform: translateY(-50%);
}

.element-emoji {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
    font-size: 4.5vw;
    font-weight: bold;
}

.element-right {
    padding-left: 24px;
    flex: 7;
}

.element-text, .element-url {
    display: block;
}

.element-text {
    font-size: 24pt;
    font-weight: bold;
}

.element-url, .element-url > strong {
    transition: color 0.2s;
}

.element-url {
    color: rgba(0, 0, 0, 0.4);
}

.element-url > strong {
    color: rgba(0, 0, 0, 0.7);
    font-weight: normal;
}

.element-url:hover, .element-url:hover > strong {
    color: #2196f3;
}

.no-website {
    color: rgba(0, 0, 0, 0.4);
}

.no-website:hover {
    color: rgba(0, 0, 0, 0.4);
}