.button-lang {
    cursor: pointer;
}

.button-menu {
    cursor: pointer;
}

.social-icons a {
    display: inline-block;
    line-height: 0;
}

.text-pre-line {
    white-space: pre-line;
}

.wp-block-lazyblock-image-and-descritpion-block {
    section {
        padding-top: 150px !important;
        padding-bottom: 150px !important;
    }
}

.wp-block-lazyblock-common-page-section + .wp-block-lazyblock-image-and-descritpion-block {
    section {
        /* padding-top: 0 !important; */
    }
}

.wp-block-lazyblock-image-and-descritpion-block:has(+ .wp-block-lazyblock-image-and-descritpion-block) {
    section {
        /* padding-bottom: 100px !important; */
    }
}

.wp-block-lazyblock-image-and-descritpion-block + .wp-block-lazyblock-image-and-descritpion-block {
    section {
        /* padding-top: 150px !important; */
    }
}


.wp-block-lazyblock-image-and-descritpion-block:has(+ div) {
    section {
        /* padding-bottom: 150px !important; */
    }
}

.section.image-and-description-section-mobile-bottom {
    gap: 90px !important;
}

.wp-block-lazyblock-common-page-section {
    .description + .description {
        margin-top: 0px !important;
    }
}

.lang-en a.yellow-button,
.pll-lang-en a.yellow-button {
    font-size: 19px;
}
.lang-sc a.yellow-button,
.lang-tc a.yellow-button,
.pll-lang-sc a.yellow-button,
.pll-lang-tc a.yellow-button {
    font-size: 21px;
}

a.yellow-button {
      display: inline-block;
      padding: 14px 30px;
      border: 1px solid #FFbc04;
      border-radius: 31px;
      background-color: transparent;
      height: 62px;
      color: #3d3d3d;
      white-space: nowrap;
      text-decoration: none;
}
a.yellow-button:hover {
    color: white;
    background-color: #ffbc04;
}

.cps-button-container:has(> p a) {
    display: flex; /* Apply flexbox only if <a> exists inside <p> */
    gap: 14px; /* Spacing between items */
    margin-top: 53px;
    margin-right: 20px;
}

.pi-button-container:has(> p a.yellow-button) {
    display: flex; /* Apply flexbox only if <a> exists inside <p> */
    gap: 10px; /* Spacing between items */
    margin-top: 46px;
    margin-right: 20px;
}

.lang-en td.pi-table-header,
.pll-lang-en td.pi-table-header {
    font-size: 19px !important;
}

.lang-sc td.pi-table-header,
.lang-tc td.pi-table-header,
.pll-lang-sc td.pi-table-header,
.pll-lang-tc td.pi-table-header {
    font-size: 21px !important;
}

td.pi-table-header {
    color: #7b2984 !important;
    font-weight: 400 !important;

    line-height: 1.7 !important;
    white-space: nowrap !important;
    vertical-align: top !important;
    padding-right: 20px !important;
}
/* class section and program-structure */

.lang-en .program-structure tr td:first-child,
.pll-lang-en .program-structure tr td:first-child {
        font-size: 19px;
}
.lang-sc .program-structure tr td:first-child,
.lang-tc .program-structure tr td:first-child,
.pll-lang-sc .program-structure tr td:first-child,
.pll-lang-tc .program-structure tr td:first-child {
        font-size: 21px;
}

.program-structure tr td:first-child {
    padding-left: 100px !important;
    width: 300px;
    min-width: 300px;
    text-align: left !important;
    font-weight: 700;
    padding: 24px 0px;
    color: #322c28;
    line-height: 35px;
    vertical-align: top;
}

.lang-en td.ps-table-header,
.pll-lang-en td.ps-table-header {
    font-size: 19px !important;
}
.lang-sc td.ps-table-header,
.lang-tc td.ps-table-header,
.pll-lang-sc td.ps-table-header,
.pll-lang-tc td.ps-table-header {
    font-size: 21px !important;
}

td.ps-table-header {
    padding-left: 100px !important;
    width: 300px;
    min-width: 300px;
    text-align: left !important;
    font-weight: 700;
    padding: 24px 0px;
    color: #322c28;

    line-height: 35px;
    vertical-align: top;
}
@media (max-width: 1200px) {
    a.yellow-button {
        padding: 15px 30px;
    }
    
    .section a.yellow-button {
        font-size: 18px;
    }
    .section.image-and-description-section-mobile-bottom {
        gap: 50px !important;
    }

    li.image-and-description-li {
        font-size: 18px !important;
    }

    section.image-and-description-section .text-content {
        min-width: 250px;
    }

    h1.image-and-description-h1 {
        margin-bottom: 45px !important;
    }

    h3.image-and-description-h3 {
        font-size: 32px !important;
        line-height: 1 !important;
        margin-bottom: 24px !important;
    }

    li.image-and-description-li {
        margin-bottom: 10px !important;
        margin-top: 0px !important;
        color: #333;
    }

    .wp-block-lazyblock-image-and-descritpion-block {
        section {
            margin-top: 59px !important;
            padding-top: 22px !important;
            margin-bottom: 52px !important;
            padding-bottom: 22px !important;
        }
    }


    .wp-block-lazyblock-common-page-section + .wp-block-lazyblock-image-and-descritpion-block {
        section {
            padding-top: 22px !important;
            margin-top: 0px !important;
        }
    }

    .wp-block-lazyblock-image-and-descritpion-block:has(+ .wp-block-lazyblock-image-and-descritpion-block) {
        section {
            padding-bottom: 22px !important;
            margin-bottom: 52px !important;
        }
    }

    .wp-block-lazyblock-image-and-descritpion-block + .wp-block-lazyblock-image-and-descritpion-block {
        section {
            padding-top: 78px !important;
            margin-top: 0px !important;
        }
    }

    .wp-block-lazyblock-image-and-descritpion-block:has(+ div) {
        section {
            padding-bottom: 78px !important;
            margin-bottom: 0px !important;
        }
    }

    .cps-button-container:has(> p a) {
        margin-top: 70px;
    }

    td.pi-table-header {
        font-size: 18px !important;
        padding-right: 25px !important;
    }

    .pi-button-container:has(> p a.yellow-button) {
        gap: 20px; /* Spacing between items */
        margin-top: 40px;
    }

    .program-structure tr td:first-child {
        padding-left: 0px !important;
        width: 200px;
        min-width: 200px;
        padding: 34px 0px;
        font-size: 18px;
        text-align: left !important;
        font-weight: 700;
    }

    td.ps-table-header {
        padding-left: 0px !important;
        width: 200px;
        min-width: 200px;
        padding: 34px 0px;
        font-size: 18px;
        text-align: left !important;
        font-weight: 700;
    }

    .wp-block-lazyblock-program-structure + .wp-block-lazyblock-image-and-descritpion-block {
        /* p {
            line-height: 1.65 !important;
        } */
        margin-top: 60px !important;
        margin-bottom: 60px !important;

        h3.image-and-description-h3 {
            font-size: 32px !important;
            line-height: 1 !important;
            margin-bottom: 22px !important;
        }

        p + h3.image-and-description-h3 {
            margin-top: 54px !important;
        }

        /* .mask-image-1 {
            margin-top: 0px !important; 
        } */
    }
}

@media (max-width: 768px) {
    .lang-en a.yellow-button,
    .pll-lang-en a.yellow-button {
        font-size: 19px;
    }
    .lang-sc a.yellow-button,
    .lang-tc a.yellow-button, 
    .pll-lang-sc a.yellow-button,
    .pll-lang-tc a.yellow-button {
        font-size: 21px;
    }

    .section a.yellow-button {
        padding: 14px 24px;

    }
    .section.image-and-description-section-mobile-bottom {
        gap: 25px !important;
    }
    .section.image-and-description-section-mobile-bottom {
        .mask-image-1 {
            margin-top: 2px !important;
            width: 376px !important;
            min-width: 376px !important;
            height: 528px !important;
        }

        .mask-image-background {
            top: 0px !important;
            bottom: auto !important;
            width: 336px !important;
            height: 496px !important;
            border-radius: 168px !important;
        }

        img {
            top: auto !important;
            bottom: 0px !important;
            width: 336px !important;
            height: 496px !important;
            border-radius: 168px !important;
        }
    }

    .lang-en h1.image-and-description-h1,
    .pll-lang-en h1.image-and-description-h1 {
        font-size: 19px !important;
    }
    .lang-sc h1.image-and-description-h1,
    .lang-tc h1.image-and-description-h1,
    .pll-lang-sc h1.image-and-description-h1,
    .pll-lang-tc h1.image-and-description-h1 {
        font-size: 21px !important;
    }

    li.image-and-description-li {

        line-height: 1.64 !important;
        margin-bottom: 16px !important;
    }

    p.image-and-description-p {
        line-height: 1.68 !important;
    }

    section.image-and-description-section-mobile-bottom  {
        flex-direction: column-reverse !important;
        align-items: center !important;
    }

    .wp-block-lazyblock-image-and-descritpion-block {
        section {
            margin-top: 52px !important;
            padding-top: 0px !important;
            padding-bottom: 22px !important;
            margin-bottom: 28px !important;
        }
    }

    .wp-block-lazyblock-common-page-section + .wp-block-lazyblock-image-and-descritpion-block {
        section {
            padding-top: 0px !important;
        }
    }

    .wp-block-lazyblock-image-and-descritpion-block + .wp-block-lazyblock-image-and-descritpion-block {
        section {
            padding-top: 48px !important;
        }
    }

   .wp-block-lazyblock-image-and-descritpion-block:has(+ .wp-block-lazyblock-image-and-descritpion-block) {
        section {
            margin-bottom: 10px !important;
        }
    }

    .wp-block-lazyblock-image-and-descritpion-block:has(+ div) {
        section {
            padding-bottom: 48px !important;
        }
    }

    .cps-button-container:has(> p a) {
        margin-top: 19px;
        gap: 20px;
    }


    .pi-button-container:has(> p a.yellow-button) {
        gap: 20px; /* Spacing between items */
        margin-top: 27px;
    }
    .lang-en td.pi-table-header, 
    .pll-lang-en td.pi-table-header { 
        font-size: 19px !important;
    }
    .lang-sc td.pi-table-header, 
    .lang-tc td.pi-table-header, 
    .pll-lang-sc td.pi-table-header, 
    .pll-lang-tc td.pi-table-header {
        font-size: 21px !important;
    }

    td.pi-table-header {
        font-weight: 300 !important;
        padding-right: 25px!important;
    }

    .wp-block-lazyblock-program-structure + .wp-block-lazyblock-image-and-descritpion-block {
        p {
            line-height: 1.65 !important;
        }
        h3.image-and-description-h3 {
            font-size: 32px !important;
            line-height: 1 !important;
            margin-bottom: 25px !important;
        }

        p + h3.image-and-description-h3 {
            margin-top: 50px !important;
        }

        .mask-image-1 {
            margin-top: 0px !important; 
        }
    }

    .program-structure tr td:first-child {
        white-space: nowrap;
        padding-left: 30px !important;
        font-size: 18px;
        width: 170px;
        min-width: 170px;
        padding: 39px 15px;
        line-height: 1.8;
        text-align: left;
        font-weight: 700;
    }

    td.ps-table-header {
        white-space: nowrap;
        padding-left: 30px !important;
        font-size: 18px;
        width: 170px;
        min-width: 170px;
        padding: 39px 15px;
        line-height: 1.8;
        text-align: left;
        font-weight: 700;
    }
    
}

li.image-and-description-li {
    color: #333;
    line-height: 1.8;
    position: relative;
    padding-left: 30px;
    /* margin-top: 50px; */
    margin-bottom: 52px;
    /* padding-top: 4px; */
    color: #333;
    font-size: 20px;
    /* height: 36px; */
    display: inline-block;
}
li.image-and-description-li:first-child {
    margin-top: 0px;
}

li.image-and-description-li:last-child {
    margin-bottom: 0px !important;
}

li.image-and-description-li::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 14px;
    height: 14px;
    background-color: #d9d9d9;
    border-radius: 50%;
}

ul.image-and-description-ul {
    list-style: none;
    padding: 0;
}

h1.image-and-description-h1 {
    margin-bottom: 42px;
}

.align-top {
    align-items: top !important;
}

.align-bottom {
    align-items: bottom !important;
}

.align-center {
    align-items: center !important;
}

.custom-lightbox {
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.lightbox-content {
  max-width: 90%;
  max-height: 80%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
#lightbox-caption {
  color: #fff;
  margin-top: 15px;
  font-size: 1.2rem;
}
.close-lightbox {
  position: absolute;
  top: 20px;
  right: 35px;
  color: #fff;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
}
