body {
    margin: 0;
    line-height: normal;
  }
  
  :root {
    /* fonts */
    --font-inter: Inter;
    --font-hammersmith-one: "Hammersmith One";
  
    /* font sizes */
    --font-size-sm: 14px;
    --font-size-5xl: 24px;
    --font-size-lgi: 19px;
    --font-size-17xl: 36px;
    --font-size-3xl: 22px;
    --font-size-10xl: 29px;
    --font-size-11xl: 30px;
    --font-size-lg: 18px;
    --font-size-xl: 20px;
    --font-size-base: 16px;
    --font-size-24xl: 43px;
    --font-size-7xl: 26px;
    --font-size-15xl: 34px;
  
    /* Colors */
    --color-darkslategray-100: #3b3b3b;
    --color-darkslategray: #082943;
    --color-gainsboro-100: #e6e6e6;
    --color-gainsboro-200: #eadbdb;
    --color-gainsboro: #d9d9d9;
    --color-white: #fff;
    --color-slategray: #517c96;
    --color-black: #000;
    --color-gray: #0f1035;
    --color-silver: #bfbfbf;
  
    /* Gaps */
    --gap-11xl: 30px;
    --gap-41xl: 60px;
    --gap-xl: 20px;
    --gap-6xs: 7px;
    --gap-46xl: 65px;
    --gap-13xl: 32px;
    --gap-22xl: 41px;
    --gap-3xs: 10px;
  
    /* Paddings */
    --padding-48xl: 67px;
    --padding-14xl: 33px;
    --padding-11xl: 30px;
    --padding-18xl: 37px;
    --padding-xl: 20px;
    --padding-5xl: 24px;
    --padding-34xl: 53px;
    --padding-60xl: 79px;
    --padding-sm: 14px;
    --padding-20xl: 39px;
    --padding-31xl: 50px;
    --padding-11xs: 2px;
    --padding-7xs: 6px;
    --padding-8xs: 5px;
    --padding-8xl: 27px;
    --padding-3xl: 22px;
    --padding-6xl: 25px;
    --padding-mini: 15px;
    --padding-6xs: 7px;
    --padding-51xl: 70px;
    --padding-25xl: 44px;
    --padding-21xl: 40px;
    --padding-50xl: 69px;
    --padding-15xl: 34px;
  
    /* Border radiuses */
    --br-3xs: 10px;
    --br-6xs: 7px;
    --br-11xl: 30px;
  }
  
  
  .dinning-rectangle {
    width: 1440px;
    height: 2716px;
    position: relative;
    background-color: var(--color-darkslategray);
    display: none;
    max-width: 100%;
  }
  .what-is-dining {
    margin: 0;
    flex: 1;
    position: relative;
    font-size: inherit;
    font-weight: 400;
    font-family: inherit;
    display: inline-block;
    max-width: 100%;
  }
  .what-is-dining-philosophers-p-wrapper {
    align-self: stretch;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 0 21px 0 21.5px;
    box-sizing: border-box;
    max-width: 100%;
  }
  .the-dining-philosophers {
    margin: 0;
  }
  .there-are-n {
    margin-bottom: 0;
  }
  .there-are-n-philosophers-sitti {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    padding-left: var(--padding-8xl);
  }
  .the-dining-philosophers-container {
    align-self: stretch;
    height: 439px;
    position: relative;
    font-size: var(--font-size-xl);
    line-height: 30px;
    text-align: left;
    display: inline-block;
    flex-shrink: 0;
  }
  .dinning-philosopher-wrapper,
  .dinning-philosopher2 {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    box-sizing: border-box;
    max-width: 100%;
  }
  .dinning-philosopher2 {
    flex: 1;
    border-radius: var(--br-3xs);
    background-color: var(--color-gainsboro);
    overflow: hidden;
    flex-direction: column;
    padding: var(--padding-mini) var(--padding-21xl) 0;
    gap: var(--gap-3xs);
    z-index: 1;
  }
  .dinning-philosopher-wrapper {
    width: 982px;
    flex-direction: row;
    padding: 0 0 0 var(--padding-11xs);
    text-align: center;
    font-size: var(--font-size-24xl);
    color: var(--color-black);
    font-family: var(--font-hammersmith-one);
  }
  .main-challenges-in {
    margin: 0;
    flex: 1;
    position: relative;
    font-size: inherit;
    font-weight: 400;
    font-family: inherit;
    display: inline-block;
    max-width: 100%;
  }
  .main-challenges-in-dinning-phi-wrapper {
    align-self: stretch;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 0 41px 0 41.5px;
    box-sizing: border-box;
    max-width: 100%;
  }
  .the-main-challenge {
    align-self: stretch;
    height: 196px;
    position: relative;
    font-size: var(--font-size-xl);
    letter-spacing: 0.03em;
    line-height: 30px;
    text-align: left;
    display: inline-block;
    flex-shrink: 0;
  }
  .main-challenges {
    align-self: stretch;
    border-radius: var(--br-3xs);
    background-color: var(--color-gainsboro);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: var(--padding-mini) var(--padding-21xl) 8px;
    box-sizing: border-box;
    gap: var(--gap-3xs);
    max-width: 100%;
    z-index: 1;
  }
  .dining-philosophers-problem {
    margin: 0;
    flex: 1;
    position: relative;
    font-size: inherit;
    font-weight: 400;
    font-family: inherit;
    display: inline-block;
    max-width: 100%;
  }
  .dining-philosophers-problem-i-wrapper {
    align-self: stretch;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 0 var(--padding-50xl);
    box-sizing: border-box;
    max-width: 100%;
  }
  .deadlock-this-occurs,
  .starvation-even-without {
    margin-bottom: 0;
  }
  .deadlock-this-occurs-when-eac {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    padding-left: var(--padding-8xl);
  }
  .deadlock-this-occurs-container {
    align-self: stretch;
    height: 290px;
    position: relative;
    font-size: var(--font-size-xl);
    line-height: 30px;
    text-align: left;
    display: inline-block;
    flex-shrink: 0;
  }
  .problem {
    align-self: stretch;
    border-radius: var(--br-3xs);
    background-color: var(--color-gainsboro);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: var(--padding-mini) var(--padding-21xl) 0;
    box-sizing: border-box;
    gap: var(--gap-3xs);
    max-width: 100%;
    z-index: 1;
  }
  .how-we-can {
    margin: 0;
    flex: 1;
    position: relative;
    font-size: inherit;
    font-weight: 400;
    font-family: inherit;
    display: inline-block;
    max-width: 100%;
  }
  .how-we-can-solve-it-wrapper {
    align-self: stretch;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 0 var(--padding-50xl);
    box-sizing: border-box;
    max-width: 100%;
  }
  .asymmetric-solution-introduce,
  .mutexes-or-locks,
  .resource-hierarchy-assign,
  .semaphore-solution-use {
    margin-bottom: 0;
  }
  .mutexes-or-locks-use-mutexes {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    padding-left: var(--padding-8xl);
  }
  .mutexes-or-locks-container {
    align-self: stretch;
    height: 502px;
    position: relative;
    font-size: var(--font-size-xl);
    line-height: 30px;
    text-align: left;
    display: inline-block;
    flex-shrink: 0;
  }
  .how-to-solve {
    align-self: stretch;
    border-radius: var(--br-3xs);
    background-color: var(--color-gainsboro);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: var(--padding-mini) var(--padding-21xl) 0;
    box-sizing: border-box;
    gap: var(--gap-3xs);
    max-width: 100%;
    z-index: 1;
  }
  .how-algorithm-work1 {
    margin: 0;
    width: 467px;
    position: relative;
    font-size: inherit;
    font-weight: 400;
    font-family: inherit;
    display: inline-block;
    flex-shrink: 0;
    max-width: 100%;
  }
  .how-algorithm-work-container {
    align-self: stretch;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    max-width: 100%;
  }
  .initially-all-philosophers,
  .when-a-philosopher {
    margin-bottom: 0;
  }
  .initially-all-philosophers-ar {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    padding-left: var(--padding-8xl);
  }
  .a-for-philosophers,
  .b-for-the,
  .c-if-both {
    margin: 0;
  }
  .after-eating-the,
  .once-both-forks {
    margin-bottom: 0;
  }
  .once-both-forks-are-acquired {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    padding-left: var(--padding-8xl);
  }
  .initially-all-philosophers-container {
    align-self: stretch;
    position: relative;
    font-size: var(--font-size-xl);
    line-height: 30px;
    text-align: left;
    display: -webkit-inline-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 14;
    -webkit-box-orient: vertical;
  }
  .dinning-working,
  .main-challenges-parent {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    box-sizing: border-box;
    max-width: 100%;
  }
  .dinning-working {
    align-self: stretch;
    border-radius: var(--br-3xs);
    background-color: var(--color-gainsboro);
    overflow: hidden;
    padding: var(--padding-mini) var(--padding-21xl) 0;
    gap: var(--gap-3xs);
    z-index: 1;
  }
  .main-challenges-parent {
    width: 980px;
    padding: 0 0 var(--padding-7xs);
    gap: var(--gap-22xl);
    text-align: center;
    font-size: var(--font-size-24xl);
    color: var(--color-black);
    font-family: var(--font-hammersmith-one);
  }
  .dinning-btn-child {
    height: 59px;
    width: 187px;
    position: relative;
    border-radius: var(--br-3xs);
    background-color: var(--color-gainsboro);
    display: none;
  }
  .simulate2 {
    flex: 1;
    position: relative;
    font-size: var(--font-size-5xl);
    font-family: var(--font-hammersmith-one);
    color: var(--color-black);
    text-align: left;
    z-index: 1;
  }
  .dinning-btn,
  .dinning-btn-wrapper {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    box-sizing: border-box;
  }
  .dinning-btn {
    cursor: pointer;
    border: 0;
    padding: var(--padding-sm) var(--padding-25xl) var(--padding-mini);
    background-color: var(--color-gainsboro);
    width: 187px;
    border-radius: var(--br-3xs);
    justify-content: flex-start;
    z-index: 1;
  }
  .dinning-btn:hover {
    background-color: var(--color-silver);
  }
  .dinning-btn-wrapper {
    width: 982px;
    justify-content: center;
    padding: 0 3px 0 0;
    max-width: 100%;
  }
  .dinning-rectangle-parent {
    width: 100%;
    position: relative;
    background-color: var(--color-darkslategray);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: var(--padding-51xl) var(--padding-xl) 105px var(--padding-3xl);
    box-sizing: border-box;
    gap: var(--gap-22xl);
    letter-spacing: normal;
  }
  @media screen and (max-width: 900px) {
    .dining-philosophers-problem,
    .main-challenges-in,
    .what-is-dining {
      font-size: var(--font-size-15xl);
    }
    .dining-philosophers-problem-i-wrapper {
      padding-left: var(--padding-15xl);
      padding-right: var(--padding-15xl);
      box-sizing: border-box;
    }
    .how-we-can {
      font-size: var(--font-size-15xl);
    }
    .how-we-can-solve-it-wrapper {
      padding-left: var(--padding-15xl);
      padding-right: var(--padding-15xl);
      box-sizing: border-box;
    }
    .how-algorithm-work1 {
      font-size: var(--font-size-15xl);
    }
  }
  @media screen and (max-width: 700px) {
    .dinning-rectangle-parent,
    .main-challenges-parent {
      gap: 20px 41px;
    }
  }
  @media screen and (max-width: 450px) {
    .what-is-dining {
      font-size: var(--font-size-7xl);
    }
    .the-dining-philosophers-container {
      font-size: var(--font-size-base);
      line-height: 24px;
    }
    .main-challenges-in {
      font-size: var(--font-size-7xl);
    }
    .the-main-challenge {
      font-size: var(--font-size-base);
      line-height: 24px;
    }
    .dining-philosophers-problem {
      font-size: var(--font-size-7xl);
    }
    .deadlock-this-occurs-container {
      font-size: var(--font-size-base);
      line-height: 24px;
    }
    .how-we-can {
      font-size: var(--font-size-7xl);
    }
    .mutexes-or-locks-container {
      font-size: var(--font-size-base);
      line-height: 24px;
    }
    .how-algorithm-work1 {
      font-size: var(--font-size-7xl);
    }
    .initially-all-philosophers-container {
      font-size: var(--font-size-base);
      line-height: 24px;
    }
    .simulate2 {
      font-size: var(--font-size-lgi);
    }
  }
  

  .btn {
    border-radius: 10px;
    background: none;
    color: #fff;
    border: 2px solid #ffffff;
    text-transform: uppercase;
    padding: 12px 20px;
    min-width: 200px;
    margin: 10px;
    cursor: pointer;
    transition: color 0.4s linear;
    position: relative;
    z-index: 0;
    font-family: "Anta", sans-serif;
    font-weight: 400;
    font-style: normal;
  }
  
  .btn_a{
    display: contents;
  }
  
  .btn:hover {
    color: #fff;
    overflow: hidden;
    border-radius: 10px;
  }
  
  .btn::before {
    content: "";
    position: absolute;
    border-radius: 10px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    /* background: #000; */
    z-index: -1;
    /* background-image: linear-gradient(to right, rgb(7, 15, 43) 0%, rgb(27, 26, 85) 45% , rgb(83, 92, 145) 100%); */
    background: linear-gradient(94.82deg,
            #00192c 14.6%,
            #003a67 55.34%,
            #1868a7 79.26%,
            #2774b2);
    transition: transform 0.5s;
    transform-origin: 0 0;
    transition-timing-function: cubic-bezier(0.5, 1.6, 0.4, 0.7);
    overflow: hidden;
  }
  
  .btn1::before {
    transform: scaleX(0);
    overflow: hidden;
  
  }
  
  .btn1:hover::before {
    transform: scaleX(1);
    overflow: hidden;
  }