.glossary { position: relative; margin-top: 4rem; }

.glossary .glossary-footer { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: justify; justify-content: space-between; margin-top: -10px; margin-bottom: 50px; }

.glossary .glossary-footer .link { color: var(--black); cursor: pointer; }

.glossary .glossary-footer .glossary-update span { opacity: 0; transition: opacity .5s; }

.glossary .glossary-footer .glossary-update span.is-active { opacity: 1; }

.glossary .glossary-download { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; }

.glossary .glossary-download input { width: 20px; height: 20px; margin: 0 12px; }

.glossary-section_item { margin: 70px 0; }

@media (min-width: 768px) { .form fieldset { margin: 0.875rem 0 1.5rem; } }

.glossarys-header { position: absolute; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: end; justify-content: flex-end; width: 100%; margin-bottom: 50px; }

.glossarys-header h2 { margin-bottom: 0; }

.add-glossary { margin: 30px 0; }

@media (min-width: 768px) { .add-glossary .form fieldset { margin: 0.875rem 0 1.5rem; } }

.add-glossary .confirm-btn .term-added { margin-left: 1rem; transition: opacity .5s; opacity: 0; }

.add-glossary .confirm-btn .term-added.is-active { opacity: 1; }

#add-btn { margin-top: 10px; }

.letter-section { margin: 4rem 0; }

.letter-section .cms-list_item { display: -ms-flexbox; display: flex; height: auto; -ms-flex-direction: initial; flex-direction: initial; -ms-flex-pack: justify; justify-content: space-between; }

.cms-list { display: -ms-grid; display: grid; margin-top: 4rem; -ms-grid-columns: (1fr)[1]; grid-template-columns: repeat(1, 1fr); gap: 0.75rem; }

@media (min-width: 768px) { .cms-list { -ms-grid-columns: (1fr)[4]; grid-template-columns: repeat(4, 1fr); gap: 1rem; } }

.cms-list_item { position: relative; width: 100%; padding: 1.5625rem; height: 12.0625rem; display: -ms-grid; display: grid; -ms-grid-columns: 100%; grid-template-columns: 100%; -ms-grid-rows: 1fr auto; grid-template-rows: 1fr auto; gap: 1rem; -ms-flex-direction: column; flex-direction: column; color: #212121; cursor: pointer; transition: color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1); }

@media (min-width: 768px) { .cms-list_item { height: 13.5rem; } }

.cms-list_item:hover { color: #fff; transition-delay: 0s; }

.cms-list_item:hover .cta { border-color: rgba(255, 255, 255, 0.3); transition-delay: 0s; }

.cms-list_item:hover .cta__icon { transform: translateX(100%) translateZ(0); transition-delay: 0s; }

.cms-list_item:hover::after { -webkit-clip-path: circle(140% at 0% 100%); clip-path: circle(140% at 0% 100%); transition-delay: 0s; }

.cms-list_item:hover h3 { color: var(--white); }

.cms-list_item::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 1.5rem; border: 1px solid rgba(33, 33, 33, 0.2); }

.cms-list_item::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #eb6c4b; border-radius: 1.5rem; -webkit-clip-path: circle(0% at 0% 100%); clip-path: circle(0% at 0% 100%); transition: -webkit-clip-path 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); transition: clip-path 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); transition: clip-path 0.6s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-clip-path 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); }

.cms-list_item h3 { position: relative; z-index: 1; font-family: var(--primary-font); font-size: 1.5rem; line-height: 1; letter-spacing: -0.05em; font-weight: 300; color: var(--black); }

@media (min-width: 768px) { .cms-list_item h3 { font-size: 2rem; } }

.cms-list_item .cta { position: relative; z-index: 1; display: block; width: 3.5rem; height: 2.5rem; border: 1px solid rgba(33, 33, 33, 0.3); border-radius: 999px; overflow: hidden; transition: border-color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1); transition-delay: 0.2s; }

.cms-list_item .cta__icon { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform: translateZ(0); transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); transition-delay: 0.2s; }

.cms-list_item .cta__icon--hover { left: -100%; }

.cms-list_item .cta__icon--hover svg { stroke: var(--white) !important; }

.cms-list_item .cta__icon svg { width: 0.9375rem; height: 0.75rem; fill: none; stroke: #212121; }