// HOA board roster table (stacks into cards on mobile) .board-heading { text-align: center; font-size: 24px; margin: 40px 0 24px; } .board-table { width: 100%; max-width: 900px; margin: 0 auto; border-collapse: collapse; background: $white; border-radius: 6px; overflow: hidden; box-shadow: 0 12px 30px -18px rgba(0, 0, 0, 0.4); thead th { background: $black; color: $white; @include Libre; font-weight: 700; text-align: left; padding: 16px 22px; font-size: 14px; letter-spacing: 0.5px; } tbody td { padding: 16px 22px; border-top: 1px solid rgba(0, 0, 0, 0.08); vertical-align: middle; } tbody tr:nth-child(even) { background: $cream; } tbody tr:hover { background: rgba(171, 153, 109, 0.12); } td a { color: darken($gold, 10%); text-decoration: none; } td a:hover { text-decoration: underline; } td[data-label="Position"] { @include Libre; } // Stacked cards on phones @media (max-width: $xs-break) { box-shadow: none; thead { display: none; } &, tbody, tr, td { display: block; width: 100%; } tbody tr { margin-bottom: 16px; border: 1px solid rgba(171, 153, 109, 0.3); border-radius: 6px; overflow: hidden; box-shadow: 0 8px 20px -14px rgba(0, 0, 0, 0.4); &:nth-child(even) { background: $white; } } tbody td { border-top: none; padding: 10px 18px; &:first-child { padding-top: 16px; font-weight: 700; font-size: 17px; } &:last-child { padding-bottom: 16px; } &::before { content: attr(data-label); display: block; text-transform: uppercase; letter-spacing: 1px; font-size: 10px; color: $gold; margin-bottom: 2px; } &:first-child::before { content: ""; margin: 0; } } } }