/*
The Factory Programs Accordion
Version 1.2
*/


/* 
Use the website's existing BeTheme font
*/

.factory-programs,
.factory-programs * {

    font-family: inherit;

}


/*
Main wrapper
*/

.factory-programs {

    max-width:1100px;
    margin:0 auto;
    background:#ffffff;
    padding:40px;
    border-radius:15px;
    box-sizing:border-box;

}



/*
Main Accordion Sections
*/

.factory-section {

    background:#ffffff;
    border-radius:12px;
    margin-bottom:22px;
    overflow:hidden;
    box-shadow:0 4px 14px rgba(0,0,0,.10);

}



.factory-section summary {

    background:#112241;
    color:#ffffff;
    padding:20px 25px;
    font-size:24px;
    font-weight:700;
    cursor:pointer;
    list-style:none;

}



.factory-section summary::-webkit-details-marker {

    display:none;

}



.factory-section summary:after {

    content:"+";
    float:right;
    font-size:30px;
    line-height:20px;

}



.factory-section[open] summary:after {

    content:"−";

}



/*
Main content area
*/

.factory-content {

    display:flex;
    gap:35px;
    padding:35px;
    align-items:flex-start;

}



/*
Images
*/

.factory-image {

    width:40%;
    min-width:280px;

}



.factory-image img,
.factory-placeholder {

    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    border-radius:12px;
    background:#eeeeee;
    display:flex;
    align-items:center;
    justify-content:center;

}



/*
Text area
*/

.factory-text {

    flex:1;

}



.factory-text h3 {

    color:#112241;
    margin-top:0;

}



.factory-text p {

    line-height:1.6;

}



/*
--------------------------------
Nested Skill Accordions
--------------------------------
*/


.factory-subsection {

    margin-top:15px;
    border:1px solid #dddddd;
    border-radius:10px;
    overflow:hidden;

}



.factory-subsection summary {

    background:#f5f5f5;
    color:#112241;
    padding:15px 18px;
    font-size:18px;
    font-weight:700;
    cursor:pointer;
    list-style:none;

}



.factory-subsection summary::-webkit-details-marker {

    display:none;

}



.factory-subsection summary:after {

    content:"+";
    float:right;
    color:#df5724;
    font-size:24px;

}



.factory-subsection[open] summary:after {

    content:"−";

}



.factory-subcontent {

    padding:20px;
    background:#ffffff;

}



/*
--------------------------------
Button Containers
--------------------------------
*/


.factory-cta-buttons {

    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:15px;

}



.factory-class-buttons {

    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:15px;

}



/*
Large Orange Buttons
*/

.factory-button {

    display:inline-block;
    background:#df5724;
    color:#ffffff !important;
    padding:12px 22px;
    border-radius:8px;
    font-weight:700;
    text-decoration:none;
    margin-top:10px;

}



.factory-button:hover {

    opacity:.9;

}



/*
Small Class Buttons
*/

.factory-class-button {

    display:inline-block;
    background:#112241;
    color:#ffffff !important;
    padding:9px 16px;
    border-radius:7px;
    font-size:14px;
    font-weight:600;
    text-decoration:none;

}



.factory-class-button:hover {

    background:#df5724;

}



/*
Trainer buttons
*/

.factory-trainer-buttons {

    display:flex;
    flex-wrap:wrap;
    gap:12px;

}



/*
Mobile Sticky CTA
*/

.factory-mobile-cta {

    display:none;

}



/*
Mobile Layout
*/

@media(max-width:768px){


    .factory-programs {

        padding:20px;

    }


    .factory-content {

        flex-direction:column;
        padding:25px 20px;

    }


    .factory-image {

        width:100%;
        min-width:0;

    }


    .factory-section summary {

        font-size:20px;
        padding:18px 20px;

    }


    .factory-subsection summary {

        font-size:16px;

    }


    .factory-button {

        width:100%;
        text-align:center;

    }


    .factory-class-button {

        padding:9px 13px;

    }


    /*
    Sticky assessment button
    */

    .factory-mobile-cta {

        display:block;
        position:fixed;
        bottom:0;
        left:0;
        width:100%;
        background:#df5724;
        color:#ffffff !important;
        text-align:center;
        padding:15px;
        font-weight:700;
        text-decoration:none;
        z-index:9999;

    }


    /*
    Prevent CTA from covering content
    */

    body {

        padding-bottom:70px;

    }


}