.work-wrapper { .work { .info { display: flex; .duration { min-width: 50px; text-align: center; display: inline-flex; flex-direction: column; justify-content: center; background: var(--green); @media screen and (min-width: 500px) { min-width: 100px; height: 80px; } .separator { line-height: 10px; } } .company { position: relative; display: inline-flex; width: 100%; flex-direction: column; justify-content: center; padding: 10px 110px 10px 20px; background: var(--dark-lighter); .office { position: absolute; top: 20px; right: 20px; font-size: 14px; padding: 10px; background: var(--dark); } } } .description { padding: 20px; margin-left: 50px; border-top: 1px solid var(--green); border-left: 1px solid var(--green); @media screen and (min-width: 500px) { margin-left: 100px; } summary { position: relative; outline: 0; cursor: pointer; &::before { content: "+"; position: absolute; font-size: 30px; width: 45px; height: 45px; padding: 10px; line-height: 20px; text-align: center; left: -70px; top: calc(50% - 22px); transform-origin: center; transition: 200ms linear; cursor: pointer; @media screen and (min-width: 500px) { left: -95px; } } } &[open] { .dots { display: none; } summary::before { transform: rotate(45deg); font-size: 32px; } } } } } details summary::-webkit-details-marker, details summary::marker { display: none; content: ""; } details[open] summary ~ * { animation: open 0.4s ease-in-out; } @keyframes open { 0% { opacity: 0; height: 0; } 100% { opacity: 1; height: 100%; } }