        * {
    margin: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.5 !important;
    color: #333;
}
strong{
    font-weight:500 !important;
}
ul, ol{
    text-align: left;
    padding-left: 60px !important;
    margin-top: 15px;
}

li{
    margin-bottom: 10px;
}
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 44px;
}

/* Logo Section */
.logo-section {
    padding: 30px 0;
    border-bottom: 1px solid #e9ecef;
}

.logo {
    display: flex;
    align-items: center;
    gap: 20px;
    position: relative;
    left: -20px;
}

.logo-image {
    object-fit: contain;
    border-radius: 8px;
}

.logo-text {
    font-size: 18px;
    font-weight: 600;
    color: #2c3e50;
}

/* Cover Image Section */
.cover-section {
    position: relative;
    width: 100%;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.cover-image {
    position: relative;
    width: 100%;
    height: 100%;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
}

.cover-image .container {
    width: 100%;
}

    .cover-title {
    /* H1: enforce min 22px and max 48px as requested */
    font-size: clamp(22px, 5vw, 48px);
    font-weight: 700;
    color: #fff8f3 !important;
    max-width: none;
    width: 90%;
    display: block;
    word-wrap: break-word;
    text-align: left;
    margin: 0;
}

/* Primary Resource Section */
.primary-resource {
    padding: 20px 0;
    background-color: #ffffff;
}

    .primary-resource h2 {
    /* H2: enforce min 19px and max 35px as requested */
    font-size: clamp(19px, 3.2vw, 35px);
    margin-bottom: 20px;
    color: #2c3e50;
}

    /* Paragraphs: enforce min 16px and max 18px */
    .primary-resource p {
    font-size:18px;
    line-height: 1.5 !important;
    color: #555;
    text-align: left;
    margin-bottom: 10px;
}
/* Secondary Resource Section */
.secondary-resource {
    padding: 0px 0px 40px 0px;
}

    .secondary-resource h2 {
    /* H2 variant on the thank-you/secondary section; min 19px max 35px */
    font-size: clamp(19px, 3.2vw, 35px);
    margin-bottom: 40px;
    color: #2c3e50;
    text-align: left;
}


.content-snippets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

/* Secondary tile headings and descriptions: enforce requested clamp ranges
   - .learnhead (H3-like): min 18px, max 27px (keeps it smaller than H2)
   - .learndesc (description): min 16px, max 18px */
.secondary-tile .learnhead {
    /* H3-like heading: enforce min 18px and max 27px (keeps it smaller than H2) */
    font-size: clamp(18px, 2.2vw, 27px);
    line-height: 1.5 !important;
    font-family: 'Segoe UI Semibold', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
}

.secondary-tile .learndesc {
    /* Description text: keep min 16px and max 18px */
    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 1.5 !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
}

/* Enforce exact sizes only for the description: 16px on small screens, 18px on tablet+ */
@media (max-width: 767px) {
    .secondary-tile .learndesc {
        font-size: 16px !important;
    }

    ul, ol{
    font-size: 16px !important;
    padding-left: 30px !important;
}
}

@media (min-width: 768px) {
    .secondary-tile .learndesc {
        font-size: 18px !important;
    }
}

.snippet {
    background-color: white;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.snippet:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.snippet h3 {
    font-size: 20px;
    margin-bottom: 15px;
    color: #667eea;
}

    .snippet p {
    /* Snippet/body paragraphs should also respect the 16-18px requirement */
    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 1.5 !important;
    color: #666;
}

/* Footer */
.footer {
    background-color: #2c3e50;
    color: white;
    padding: 20px 0;
}

.footer p {
    font-size: 14px;
    text-align: left;
}

/* Ensure footer element uses full-width dark background and inner rows are transparent */
footer.container-fluid {
    background-color: #f2f2f2;
    color: #ffffff;
    width: 100%;
    left: 0;
}

footer.container-fluid .footer-bottom-row {
    background-color: transparent;
    color: inherit;
}

/* Make footer links inherit light color on dark background */
footer.container-fluid #footerlinks a {
    color: #ffffff !important;
}

/* Footer content alignment: align with page container on desktop; on tablet/mobile left-align with 30px inset */
footer.container-fluid .footer-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 44px;
    text-align: left;
}

@media (max-width: 480px) {

    footer.container-fluid .footer-content {
        padding-left: 10px !important;

    }
    footer.container-fluid .footer-bottom-row #footerlinks{
        font-size: 11px !important;
    }
    footer span.footer-copyright {
    font-size: 11px !important;
}
}

@media (max-width: 767px) {

    footer.container-fluid .footer-content {
        margin: 0;
        padding-left: 30px;
        padding-right: 0;
        text-align: left !important;
    }
}

@media (max-width:991px) {
    .primary-resource p {
    text-align: left !important;
}

.secondary-resource h2 {
    text-align: center !important;
}

/* center cover title when layout collapses at ~992px */
.cover-title {
    text-align: center !important;
    width: 100% !important;
}

}

/* Ensure primary and secondary H2s are also centered when layout stacks at <=992px
   and guarantee H1 stays larger than H2 via the clamp values above. */
@media (max-width: 992px) {
    .primary-resource h2,
    .secondary-resource h2,
    .cover-title {
        text-align: center !important;
    }
}
/* Responsive Design */
@media (max-width: 767px) {
    .logo-section {
        padding: 20px 0;
    }

    .logo {
        flex-direction: row;
        text-align: left;
        justify-content: flex-start;
    }

    .logo-image {
        height: 60px;
    }

    .logo-text {
        font-size: 16px;
    }

    .cover-section {
        height: 300px;
    }

    .cover-title {
        font-size: 36px;
    }

    /* center cover title on tablet and smaller */
    .cover-title {
        text-align: center;
    }

    .primary-resource {
        padding: 40px 0px 0px 0px ;
    }

    .primary-resource h2 {
        font-size: 24px;
    }

    .primary-resource p {
        font-size: 16px !important;
    }

    .secondary-resource {
        padding: 0px 0;
    }

    .secondary-resource h2 {
        font-size: 24px;
        margin-bottom: 30px;
    }

    .primary-resource {
        text-align: center;
    }

    .primary-resource p {
        text-align: left !important;
    }

    .secondary-resource {
        text-align: center;
    }

    .secondary-resource h2 {
        text-align: center;
    }

    .content-snippets {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .footer {
        text-align: center;
    }

    .footer p {
        text-align: center;
    }
}

@media (max-width: 480px) {
     
    .logo-section {
        padding: 15px 0;
    }

    .logo-image {
        height: 50px;
    }

    .logo-text {
        font-size: 14px;
    }

    .cover-section {
        height: 200px;
    }

    .cover-title {
        font-size: 22px;
    }

    .primary-resource {
        padding: 30px 0px 0px 0px;
    }

    .primary-resource h2 {
        font-size: 20px;
    }

    .primary-resource p {
        font-size: 16px !important;
    }

    .secondary-resource h2 {
        font-size: 20px;
    }

    .snippet {
        padding: 20px;
    }

    .snippet h3 {
        font-size: 18px;
    }

    .snippet p {
        font-size: 16px !important;
    }
}
@media (min-width:1200px){
    .cover-title{
        position: relative;
        /* left: -90px; */
    }
}
footer.container-fluid {
    color: #505050 !important;
    margin: 0 auto;
}
footer.container-fluid .footer-top-row {
    border-bottom: 2px solid #fff;
    background-color: #2f2f2f;
}
footer.container-fluid .footer-top-row h3.follow {
    display: block;
    line-height: 70px;
    margin: 0;
    margin-right: 25px;
    font-family: "Segoe UI Semilight";
    font-size: 21px;
    position: relative;
    top: -1px;
    color: #ffffff;
}
footer.container-fluid .footer-top-row a {
    display: inline-block;
    margin-right: 15px;
    margin-bottom: 16px;
    top: -10px;
    position: relative;
}
footer.container-fluid .footer-top-row a img {
    height: 25px;
    margin: 22px 0 23px;
}
body footer.container-fluid .footer-bottom-row {
    overflow: hidden;
    background-color: #f2f2f2;
    color: #505050;
}
footer.container-fluid .footer-bottom-row .footer-logo {
    line-height: 1.5;
    margin-top: 15px;
    position: relative;
    color: #505050 !important;
    display: block;
    clear: both;
    text-align: right;
}
footer.container-fluid .footer-bottom-row .footer-logo .caption {
    font-size: 12px;
    margin-top: 2px;
    display: block;
    color: inherit;
    opacity: 0.8;
}
footer.container-fluid .footer-bottom-row #footerlinks {
    line-height: 1.5;
    font-size: 12px;
    float: left;
}
footer.container-fluid .footer-bottom-row #footerlinks a {
    color: #505050 !important;
    text-decoration: underline;
    margin-top: 27px;
    margin-bottom: 30px;
    padding: 0 9px 0 5px;
    position: relative;
    display: inline-block;
}
footer.container-fluid .footer-bottom-row #footerlinks a:after {
  content: "|";
  right: 0;
  position: absolute;
  text-decoration: none;
  top: 0;
}
footer.container-fluid .footer-bottom-row #footerlinks a:last-of-type:after {
  content: "";
}
footer.container-fluid .footer-bottom-row #footerlinks a:first-child {
  padding-left: 0;
}
footer.container-fluid .footer-bottom-row #footerlinks a:hover {
    opacity: 0.9;
}
span.footer-copyright {
    font-size: 12px;
    line-height: 1.5 ;
    padding-top: 27px;
    padding-bottom: 30px;
    display: inline-block;
}
footer.container-fluid .footer-bottom-row svg path {
    fill: currentColor;
}
footer #footerlinks span {
    display: inline-block;
}
footer span.footer-copyright {
    font-size: 12px;
}
body[dir="rtl"] footer.container-fluid .footer-bottom-row #footerlinks {
    float: right;
}
body[dir="rtl"] footer.container-fluid .footer-bottom-row #footerlinks a {
    padding-right: 0;
    padding-left: 20px;
}

footer.fixed-bottom:not([oldbrowsers]) { /*This will break the footer on IE8, so we don't want a fixed footer on IE8. Old browsers do not support the :not operator*/
    position: fixed;
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
}

@media (min-width: 480px) {
    footer.container-fluid .footer-top-row h3.follow {
        display: inline-block;
    }
    footer.container-fluid .footer-top-row a {
        margin-bottom: 0px;
        top: 0px;
    }
}
@media (min-width: 520px) {
    footer.container-fluid .footer-top-row a {
        margin-right: 26px;
    }
}
@media (min-width: 768px) {
    footer.container-fluid .footer-bottom-row {
        padding-top: 0;
        padding-bottom: 0;
    }
    footer.container-fluid .footer-bottom-row .footer-logo {
        left: -3px;
        clear: none;
    }
    footer.container-fluid .footer-bottom-row #footerlinks {
        padding: 0;
    }
    footer.container-fluid .footer-bottom-row #footerlinks a {
        display: inline-block;
    }
    body[dir="rtl"] footer.container-fluid .footer-bottom-row .footer-logo {
        float: left;
        text-align: left;
        left: auto;
        right: -3px;
    }
}
