/* ///////////////////////////////////////////////

ECPI SECONDARY SHELL TEMPLATE
Created: July 2026

////////////////////////////////////////////////*/

.form-column {
    position: relative;
    overflow: visible;
}

.form-column::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 3px solid #FFF;
    border-radius: 1rem;
    opacity: 0;
    filter: blur(0);
    pointer-events: none;
    z-index: 10;
}

.form-column.addpulse::after {
    animation-name: ecpiFormPulse !important;
    animation-duration: 0.35s !important;
    animation-timing-function: linear !important;
    animation-fill-mode: forwards !important;
    animation-iteration-count: 1 !important;
}

@keyframes ecpiFormPulse {
    0% {
        inset: 0;
        opacity: 0;
        filter: blur(0px);
    }

    15% {
        inset: -3px;
        opacity: .9;
        filter: blur(0px);
    }

    60% {
        inset: -12px;
        opacity: .45;
        filter: blur(2px);
    }

    100% {
        inset: -20px;
        opacity: 0;
        filter: blur(6px);
    }
}

.ecpigrid.ecpi-secondary-shell {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.ecpigrid.ecpi-secondary-shell > section.content-main {
  flex: 1;
}

/* Template Grid Style Changes /////////////////*/
.ecpigrid.ecpi-secondary-shell .row { max-width: 75rem; padding: 1rem 0; }

/* Global Element Styles ///////////////////////*/
/* Button Styles */
.ecpigrid.ecpi-secondary-shell .btn { background-color: #0D4BA0; border-radius: 5rem; color: #FFFFFF; padding: .5rem 1rem; text-decoration: none; }
.ecpigrid.ecpi-secondary-shell .secondary-btn { background-color: rgb(246, 168, 0); padding: 1rem; font-weight: 600; display: inline-block; color: #000000; }

.ecpigrid.ecpi-secondary-shell .btn:hover { background-color: #333; }
.ecpigrid.ecpi-secondary-shell .secondary-btn:hover { color: #FFFFFF; }

/* Template Header Styles //////////////////////*/
.ecpigrid header { background: #FFFFFF; }
.ecpigrid.ecpi-secondary-shell header .row.grid-2 { align-items: center; }
.ecpigrid.ecpi-secondary-shell header .row.grid-2 .column:nth-child(2) { text-align: right; }
.ecpigrid header .brand-logo img { max-width: 20rem; height: auto; }

/* Template Banner & Form Styles //////////////////////*/
.ecpigrid.ecpi-secondary-shell .banner { background-repeat: no-repeat; background-position: 50% 100%; background-size: cover; } 
.ecpigrid.ecpi-secondary-shell .banner .row { align-items: center; min-height: 26.25rem; }
.ecpigrid.ecpi-secondary-shell .banner .headertext h1 { color: #FFFFFF; }
.ecpigrid.ecpi-secondary-shell .banner .headertext p { color: rgb(246, 168, 0); font-size: 1.5rem; font-weight: 600; }
.medi .ecpigrid.ecpi-secondary-shell .banner { background-color: #002559; }
.medi .ecpigrid.ecpi-secondary-shell .banner .headertext h1 { color: #FFFFFF; }
.medi .ecpigrid.ecpi-secondary-shell .banner .headertext p { color: rgb(246, 168, 0); font-size: 1.5rem; font-weight: 600; }
.nurs .ecpigrid.ecpi-secondary-shell .banner .headertext h1 { color: #002559; }
.cj .ecpigrid.ecpi-secondary-shell .banner .headertext h1 { color: #002559; }
.cj .ecpigrid.ecpi-secondary-shell .banner .headertext p { color: #000000; font-size: 1.5rem; font-weight: 600; }
.tech.cist.online .ecpigrid.ecpi-secondary-shell .banner { background-color: #002559; }
.tech.cist.online .ecpigrid.ecpi-secondary-shell .banner .headertext h1 { color: #FFFFFF; }
.tech.cist.online .ecpigrid.ecpi-secondary-shell .banner .headertext p { color: #CCCCCC; font-size: 1.375rem; font-weight: 600; }
.tech.eengtech .ecpigrid.ecpi-secondary-shell .banner h1 span.pre-header { font-size: 1.5rem; width: 100%; }
.tech.eengtech .ecpigrid.ecpi-secondary-shell .banner { background-color: #002559; }

#formWrapper { background: #FFFFFF; border-bottom-right-radius: 1rem; border-bottom-left-radius: 1rem; }
#formWrapper fieldset { border: none; margin: 0; padding: 1.5rem; }
#formWrapper .stepWrapper { display: none; }
#formWrapper { border-bottom: #999999 1px solid; }
.form-label { background: #002559; color: #FFFFFF; border-top-left-radius: 1rem; border-top-right-radius: 1rem; padding: 1rem; font-size: 1.3rem; font-weight: 600; text-align: center; }
#formWrapper label { margin-bottom: .5rem; }
#formWrapper .fullWidthFieldInput input[type="text"],
#formWrapper .fullWidthFieldInput input[type="number"],
#formWrapper .fullWidthFieldInput input[type="tel"],
#formWrapper .fullWidthFieldInput input[type="phone"],
#formWrapper .fullWidthFieldInput input[type="email"] { border-radius: 5px; height: 2.5rem; }
#formWrapper .fullWidthField select { border-radius: 5px; height: 2.5rem; }
#formWrapper .action-button { border: none; font-weight: bold; font-size: 1rem; border-radius: 1px; cursor: pointer; -webkit-appearance: none; border-radius: 5rem; }
#formWrapper .next, #formWrapper .previous { width: 33%; padding: .5rem 1rem; margin: 1rem .5rem; }
#formWrapper .submit-btn { width: auto; padding: .5rem 1rem; margin: 1rem .5rem; }
#formWrapper .next, #formWrapper .submit-btn { background-color: rgb(246, 168, 0); color: #000000; }
#formWrapper .previous { background-color: #002559; color: #FFFFFF; background-image: none; }
#formWrapper .next:hover, #formWrapper .previous:hover, #formWrapper .submit-btn:hover { background-color: #333333 !important; color: #FFFFFF; background-image: none !important; }
#formWrapper .financial-aid p { font-size: .75rem; }
.tech.cist.online .ecpigrid.ecpi-secondary-shell .form-label { background: #54b5ff; color: #000000; }
.tooltip-fallback { padding: .1rem .5rem !important; font-size: .75em !important; }

/* Template Content Main Styles */
.ecpigrid.ecpi-secondary-shell .content-main h2 { text-align: center; color: #008fff; margin-bottom: 1rem; }
.ecpigrid.ecpi-secondary-shell .content-main p { margin-bottom: 1rem; }
.ecpigrid.ecpi-secondary-shell .content-main p.ctabtnwrapper { text-align: center; }
.ecpigrid.ecpi-secondary-shell .content-main p.ctabtnwrapper a { margin: 1rem 0; } 
.ecpigrid.ecpi-secondary-shell .content-main #campus_map { display: flex; justify-content: center; margin: 1rem 0; }
.ecpigrid.ecpi-secondary-shell .content-main #campus_info { margin: 2rem 0 1rem 0; }
.ecpigrid.ecpi-secondary-shell .content-main .inner-grid-props .column { display: flex; flex-direction: row; align-items: center; }
.ecpigrid.ecpi-secondary-shell .content-main .inner-grid-props .column img { width: 4rem; height: 4rem; flex-shrink: 0; }
.ecpigrid.ecpi-secondary-shell .content-main .inner-grid-props .column p { padding: 0 1rem; margin: 0 0; }

/* Template Value Prop Styles */
.ecpigrid.ecpi-secondary-shell .valueprops { background: #f8f9fa; border-bottom: 1px solid #CCCCCC; }
.ecpigrid.ecpi-secondary-shell .valueprops .row .column { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 1rem 0; }
.ecpigrid.ecpi-secondary-shell .valueprop-icon svg { width: 80px; height: auto; color: #002559; display: inline-block; }
.ecpigrid.ecpi-secondary-shell .valueprops .row .column .valueprop-label { color: #002559; font-weight: 600; }

/* Template Footer Styles */
.ecpigrid.ecpi-secondary-shell footer { background: #ececec; color: #000000; }
.ecpigrid.ecpi-secondary-shell footer .row { padding-top: 3rem; }
.ecpigrid.ecpi-secondary-shell footer p:not(.footermainline) { font-size: .75rem; }
.ecpigrid.ecpi-secondary-shell footer p.footermainline { border-bottom: 1px solid #CCCCCC; padding-bottom: 1rem; margin-bottom: 1rem; }

/* Media Queries ///////////////////////////////*/
@media screen and (max-width: 78.125rem){ 
     .ecpigrid.ecpi-secondary-shell .row { padding: 1rem; }
}

@media screen and (max-width: 60rem){
     .ecpigrid.ecpi-secondary-shell .banner { background-position: 0% 100%; }
     .ecpigrid.ecpi-secondary-shell .banner .row { grid-template-columns: repeat(2, 1fr); }
     .ecpigrid.ecpi-secondary-shell .banner .row .column.span-2 { grid-column: span 1;}
}

@media screen and (max-width: 48rem) {
     .ecpigrid.ecpi-secondary-shell .content-main .inner-grid-props .column { flex-direction: column; align-items: center; text-align: center; padding: 1rem 0; }
     .ecpigrid.ecpi-secondary-shell .content-main .inner-grid-props .column img { width: 4rem; height: 4rem; flex-shrink: 0; }
     .ecpigrid.ecpi-secondary-shell .content-main .inner-grid-props .column p { padding: 0 1rem; margin: 0 0; text-align: center; }   
}

@media screen and (max-width: 37.5rem) {
     .ecpigrid.ecpi-secondary-shell header .row.grid-2 { grid-template-columns: repeat(2, 1fr); }
     .ecpigrid.ecpi-secondary-shell .banner .row { grid-template-columns: repeat(1, 1fr); }
     .ecpigrid.ecpi-secondary-shell .form-column { margin-bottom: 1rem; }
}