prime8dev

prime8dev
git clone https://git.prime8.dev/prime8dev.git
Log | Files | Refs | README | LICENSE

experience.css (4942B)


      1 #experience {
      2   width: 100%;
      3 }
      4 
      5 .experience-layout {
      6   display: flex;
      7   flex-direction: row;
      8   height: 100%;
      9   width: 100%;
     10   padding: 24px 32px;
     11   gap: 24px;
     12   justify-content: center;
     13 }
     14 
     15 .experience-detail {
     16   flex: 0 1 980px;
     17   width: 100%;
     18   overflow-y: auto;
     19   display: flex;
     20   flex-direction: column;
     21   gap: 16px;
     22   padding: 4px 20px 4px 4px;
     23 }
     24 
     25 .exp-row {
     26   display: flex;
     27 }
     28 
     29 .exp-card {
     30   background: var(--bg-alt);
     31   border: 2px solid var(--border);
     32   border-radius: 4px;
     33   padding: 24px;
     34   flex: 1;
     35   min-width: 0;
     36   display: flex;
     37   flex-direction: column;
     38 }
     39 
     40 .exp-card.selected {
     41   border-color: var(--accent);
     42 }
     43 
     44 .exp-timeline {
     45   width: 64px;
     46   flex-shrink: 0;
     47   display: flex;
     48   flex-direction: column;
     49   align-items: center;
     50   padding-top: 24px;
     51   position: relative;
     52 }
     53 
     54 .timeline-dot {
     55   width: 12px;
     56   height: 12px;
     57   border: 2px solid var(--fg-dim);
     58   border-radius: 50%;
     59   background: transparent;
     60 }
     61 
     62 .timeline-dot-end {
     63   position: absolute;
     64   bottom: 8px;
     65 }
     66 
     67 .exp-timeline.has-end-dot .timeline-line {
     68   bottom: 14px;
     69 }
     70 
     71 .exp-timeline.active .timeline-dot-end {
     72   border-color: var(--accent);
     73   background: var(--accent);
     74 }
     75 
     76 .exp-timeline.active .timeline-dot {
     77   border-color: var(--accent);
     78   background: var(--accent);
     79 }
     80 
     81 .timeline-year {
     82   font-size: var(--fs-12);
     83   color: var(--fg-dim);
     84   margin-top: 4px;
     85 }
     86 
     87 .timeline-line {
     88   position: absolute;
     89   top: 56px;
     90   bottom: -16px;
     91   width: 2px;
     92   left: 50%;
     93   transform: translateX(-50%);
     94   background: repeating-linear-gradient(
     95     to bottom,
     96     var(--border) 0px,
     97     var(--border) 4px,
     98     transparent 4px,
     99     transparent 8px
    100   );
    101 }
    102 
    103 .exp-card-header {
    104   display: grid;
    105   grid-template-columns: minmax(0, 1fr) auto;
    106   align-items: flex-start;
    107   gap: 12px 24px;
    108 }
    109 
    110 .exp-card-title {
    111   min-width: 0;
    112 }
    113 
    114 .exp-title-with-logo {
    115   display: flex;
    116   align-items: flex-start;
    117   gap: 12px;
    118   min-width: 0;
    119 }
    120 
    121 .exp-logo {
    122   height: 44px;
    123   width: auto;
    124   max-width: 180px;
    125   object-fit: contain;
    126   flex-shrink: 0;
    127 }
    128 
    129 .exp-logo.logo-hark {
    130   height: 30px;
    131   max-width: 140px;
    132 }
    133 
    134 .exp-logo.logo-invert {
    135   filter: brightness(0) invert(1);
    136   opacity: 0.9;
    137 }
    138 
    139 .exp-title-text {
    140   display: flex;
    141   align-items: center;
    142   gap: 10px;
    143   flex-wrap: wrap;
    144   min-width: 0;
    145 }
    146 
    147 .exp-title-text h2 {
    148   font-size: var(--fs-22);
    149   font-weight: 500;
    150   color: var(--accent);
    151   margin: 0;
    152   line-height: 1.1;
    153 }
    154 
    155 .exp-role {
    156   display: inline-flex;
    157   align-items: center;
    158   color: var(--accent);
    159   font-size: var(--fs-15);
    160   font-weight: 500;
    161   white-space: nowrap;
    162   line-height: 1.2;
    163 }
    164 
    165 .exp-role::before {
    166   content: "/";
    167   color: var(--yellow);
    168   margin-right: 4px;
    169 }
    170 
    171 .exp-role::after {
    172   content: "";
    173 }
    174 
    175 .exp-title-with-logo .exp-role {
    176   font-size: var(--fs-16);
    177   line-height: 1.1;
    178   margin-top: 22px;
    179 }
    180 
    181 .exp-logo.logo-hark + .exp-role {
    182   margin-top: 15px;
    183 }
    184 
    185 .exp-card-meta {
    186   display: flex;
    187   flex-direction: column;
    188   align-items: flex-end;
    189   gap: 3px;
    190   font-size: var(--fs-14);
    191   text-align: right;
    192   white-space: nowrap;
    193 }
    194 
    195 .exp-duration {
    196   color: var(--fg-dim);
    197 }
    198 
    199 .exp-card-tech {
    200   display: flex;
    201   flex-wrap: wrap;
    202   gap: 6px;
    203   margin-bottom: 20px;
    204 }
    205 
    206 .exp-card-body {
    207   color: var(--fg);
    208   line-height: 1.7;
    209 }
    210 
    211 .exp-card-body p {
    212   margin-bottom: 12px;
    213 }
    214 
    215 .exp-card-images {
    216   display: flex;
    217   gap: 12px;
    218   margin-top: 12px;
    219   padding-top: 12px;
    220   border-top: 1px solid var(--border);
    221   max-height: 200px;
    222   overflow: hidden;
    223 }
    224 
    225 .exp-image-hero {
    226   max-width: 280px;
    227   height: 100%;
    228   border-radius: 4px;
    229   border: 1px solid var(--border);
    230   object-fit: cover;
    231   cursor: pointer;
    232 }
    233 
    234 .exp-image-grid {
    235   display: flex;
    236   flex-wrap: wrap;
    237   gap: 8px;
    238   max-width: 400px;
    239 }
    240 
    241 .exp-image-thumb {
    242   width: calc(50% - 4px);
    243   height: 86px;
    244   border-radius: 4px;
    245   border: 1px solid var(--border);
    246   object-fit: cover;
    247   cursor: pointer;
    248 }
    249 
    250 .external-link {
    251   color: var(--light-blue);
    252   font-size: var(--fs-14);
    253   max-width: 36ch;
    254   overflow: hidden;
    255   text-overflow: ellipsis;
    256 }
    257 
    258 @media (max-width: 768px) {
    259   .experience-layout {
    260     padding: 16px;
    261     gap: 12px;
    262   }
    263 
    264   .exp-timeline {
    265     display: none;
    266   }
    267 
    268   .exp-card {
    269     padding: 16px;
    270   }
    271 
    272   .experience-detail {
    273     padding: 4px 14px 4px 0;
    274   }
    275 
    276   .exp-card-header {
    277     grid-template-columns: 1fr;
    278     gap: 10px;
    279   }
    280 
    281   .exp-title-with-logo {
    282     align-items: flex-start;
    283   }
    284 
    285   .exp-logo {
    286     height: 38px;
    287     max-width: 150px;
    288     margin-top: 0;
    289   }
    290 
    291   .exp-logo.logo-hark {
    292     height: 26px;
    293     max-width: 120px;
    294   }
    295 
    296   .exp-title-with-logo .exp-role {
    297     margin-top: 19px;
    298   }
    299 
    300   .exp-logo.logo-hark + .exp-role {
    301     margin-top: 13px;
    302   }
    303 
    304   .exp-card-meta {
    305     align-items: flex-start;
    306     text-align: left;
    307     white-space: normal;
    308   }
    309 
    310   .exp-card-images {
    311     flex-direction: column;
    312     max-height: none;
    313     overflow: visible;
    314   }
    315 
    316   .exp-image-hero {
    317     max-width: 100%;
    318     height: auto;
    319     max-height: 200px;
    320   }
    321 
    322   .exp-image-thumb {
    323     width: calc(33.33% - 6px);
    324     height: 80px;
    325   }
    326 }