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

/*                       CSS for Individual Pages                        */
/*                         (Try to Keep Sorted)                          */

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


/* ********************* Academy Application ***********************/

.dataTableLarge td.tdRegisterButton {
    width: 240px;
}
.calendarCheck {
    font-size: 1.5rem;
    padding-right: 3px;
}
.calendarKey { margin: 20px 0 20px 0; }
.calendarKeyCentered { 
    max-width: 768px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}
.calendarKey span i { padding-right: 8px; }
.calendarKey span { 
    font-size: 14px; 
    font-weight: 400;
    margin-right: 20px;
    white-space: nowrap;
} 
.calendarKey i { font-size: 1.25rem; }
.calendarCheckGray { color: #444444; }
.calendarCheckBlue { color: #64ACAA; }
.calendarCheckGreen { color: green; }
.calendarCheckMaroon { color: maroon; }

.panelExpand { 
    font-size: 1.75rem;
    color: #444444;
    padding-left: 6px;
}
.panelExpand:hover, .panelExpand:active { 
    color: #64ACAA;
}
tr.dataPanel {
    background-color: #F8F8F8;
}
.dataPanelClosed { display: none; }
.dataPanelOpen { display: table-row; }
.dataTable .dataPanel td { 
    padding: 5px 20px 15px 20px; 
    text-align: left;
}
.dataPanel .dataPanelLabel { 
	font-size: 0.9rem;
    font-weight: 400;
    white-space: nowrap;
    color: #328281;
    margin-right: 10px;
}
.dataPanel .dataPanelContent { 
	font-size: 0.9rem;
    font-weight: 400;
}


.selectOffering .tdSelect, .selectOffering th:last-child {
    text-align: right;
    padding-right: 15px;
}
.selectOffering .tdSelect input {
    margin-right: 5px;
}
tr.paymentTotals {
    background-color: #FFFFFF;
    border: 0 none;
}
.paymentTotals td {
    text-align: right;
    padding: 20px 20px 0 0;
}
.paymentTotals .dataPanelLabel { 
	font-size: 1.2rem;
    font-weight: 500;
    white-space: nowrap;
    color: #47A9A7;
    margin-right: 10px;
    line-height: 200%;
}
.paymentTotals .dataPanelContent { 
	font-size: 1.2rem;
    font-weight: 500;
    width: 60px;
    display: inline-block;
    line-height: 200%;
}
.paymentButton {
    text-align: right;
    margin-top: 25px;
    margin-bottom: 50px;
}
.tableButton.paymentButton {
    margin: 0;
    padding: 6px; 
}
.tableButton.paymentButton a {
    padding: 7px 14px;
    font-size: .9rem;
}
.paymentTotalsTotalDue { margin: 10px 0; }
.paymentButton.paymentByCheck { margin-top: 0; }
.applicationComplete .formButton { 
    text-align: initial;
    margin: 20px 0 25px 0;
}

@media (max-width: 768px) {  
    .calendarKey span { display: block; }
}
@media (max-width: 480px) {  
    .tdSelect {
        padding-right: 10px;
    }
    .dataTable td.tdRegisterButton {
        width: 180px;
    }
    .dataPanel .dataPanelLabel { font-size: 0.8rem; }
    .dataPanel .dataPanelContent { font-size: 0.8rem; }
    .dataTable .dataPanel td { padding: 0px 12px 10px 12px; }
    .calendarCheck { font-size: 1.25rem; }
    .calendarKey span { font-size: 0.8rem; }
    .calendarKey i { font-size: 1rem; }
    .panelExpand { 
        font-size: 1.4rem;
        padding-left: 2px;
    }
    .selectOffering .tdSelect, .selectOffering th:last-child { padding-right: 8px; }
    .selectOffering .tdSelect input { margin-right: 4px; }
    .paymentTotals .dataPanelLabel { font-size: 0.9rem; }
    .paymentTotals .dataPanelContent { 
        font-size: 0.9rem; 
        width: 45px; 
    }
    .paymentButton { 
        text-align: center; 
        margin-bottom: 35px; 
    }
    .tableButton.paymentButton {
        margin: 0;
        padding: 2px;
    }
    .tableButton.paymentButton a {
        padding: 7px 8px;
        font-size: .8rem;
    }
}

.dataTable tr.registrationTotalTop td { padding-top: 20px; }
.dataTable tr.registrationTotalBottom td { padding-bottom: 20px; }
tr.registrationTotal { background-color: #F8F8F8; }
tr.registrationTotal.noBorderBottom { border-bottom: 0 none; }
tr.registrationTotal.noBorderTop { border-top: 0 none; }
tr.registrationTotal td { padding: 12px 6px; }
td.totalDue { 
    color: #328281; 
    font-size: 1rem; 
    font-weight: 500; 
}
td.refundDue, .refundTotal td .refundDue { 
    color: #328281; 
    font-size: 1.1rem; 
    font-weight: 500; 
}

#paymentAggregateTable { 
    margin-top: 45px; 
    margin-bottom: 45px; 
    max-width: 1024px;
}
.dataTable .dataPanel.paymentAggregatePanel td { padding: 15px 20px 30px 20px; }
.paymentAggregateLine { margin-bottom: 5px; }

.showWithdrawalOptions tr.refundTotal td { padding: 30px 0; }
.showWithdrawalOptions.dataTableSmall th, .showWithdrawalOptions.dataTableSmall td {
    padding-top: 14px;
    padding-bottom: 14px;
}
.withdrawFormFooter { 
    display: block;
    padding: 30px 0 10px 0;
    max-width: 768px;
    margin: 0 auto;
}
.withdrawFormFooter .formField, .withdrawFormFooter .formGroup label { display: inline-block; }

@media (max-width: 768px) {  
    td.totalDue, td.refundDue, .refundTotal td .refundDue { font-size: 0.9rem; }
}
@media (max-width: 480px) {  
    .paymentAggregateLine { margin-bottom: 8px; }
    .paymentAggregateDate { display: block; } 
}

/* ********************* Account Recovery ***********************/
.accountRecoveryForm .formGroup label {
    min-width: 31%;
}

/* ********************* Assign Scholarships ***********************/

.addAssignmentRow, .addAssignmentRow span { 
    font-size: 1.5rem;
    color: #444444;
    margin: 0 8px;
    white-space: nowrap;
}
.addAssignmentRow:hover, .addAssignmentRow:hover span, .addAssignmentRow span:hover {
    color: #47A9A7;
    cursor: pointer;
}
td span.addAssignmentRowLabel {
    font-size: 1.1rem;
    font-weight: 600;
    position: relative;
    top: -2px;
}
.assignReservationsTotals td, .assignReservationsTotals td div, .assignReservationsTotals td span {
    font-size: 1.1rem;
    font-weight: 600;
}
tr.assignmentTotals {
    background-color: #FFFFFF;
    border: 0;
}
.assignReservationsTotals td:last-child { 
    padding-left: 15px;
}
.assignReservationsTotals td:last-child { 
    padding-right: 30px; 
    text-align: right;
}
tr.assignmentTotals div { display: inline-block; }
.totalRemainingTitle { margin-left: 30px; }

#tblAssignScholarships th:first-child, #tblAssignScholarships td:first-child { padding-left: 20px; }
#tblAssignScholarships th:last-child, #tblAssignScholarships td:last-child { padding-right: 20px; }

.dataTableHeader.assignScholarshipsHeader { font-size: 1.2rem; }
@media (max-width: 600px) {  
    .dataTableHeader.assignScholarshipsHeader { font-size: 1rem; }
} 
@media (max-width: 480px) { 
    .dataTableHeader.assignScholarshipsHeader { font-size: 0.85rem; }
}

/* *********************** Cadet Search ************************/
.tdCadetButtonList { white-space: nowrap; }
.searchModifyButton { 
    display: inline-block; 
    padding-right: 15px;
}
.searchWithdrawButton { display: inline-block; }

/* ********************** Contact **************************/
p.contactAddress { 
    margin-top: -10px;
    padding-top: 0px;
    line-height: 200%;
}

/* ********************** Email Generator ***********************/
.emailListGenerator { max-width: initial; }
.emailListGenerator textarea { 
    width: 100%; 
    font-size: 1rem;
    font-weight: 400;
}

/* ********************* Home Page ***********************/
.homeLinks { 
    display: block;
    max-width: 480px;
    margin: 50px auto 0 auto;
}

@media (max-width: 768px) {  
    .homePageImage {
        width: 320px;
        height: 240px;
    }
}
@media (max-width: 600px) {  
    .homePageImage {
        width: 240px;
        height: 180px;
    }
} 
@media (max-width: 480px) {  
    .homePageImage {
        width: 200px;
        height: 150px;
    }
}
@media (max-width: 400px) {  
    .homePageImage {
        width: 160px;
        height: 120px;
    }
} 

/* ********************** Login/Logout **************************/
.registrationForm .formField { text-align: left; }
.loginForm .formField { text-align: left; }
.passwordResetForm .formField { text-align: left; }
.revealPassword {
    font-size: 1.5rem;
    position: relative;
    left: -34px;
    top: 7px;
    cursor: pointer;
}
.revealPassword:hover {
    color: #47A9A7;
    cursor: pointer;
}
.revealPasswordButton {
    position: absolute;
}

/* ********************* Manage Offerings ***********************/
.selectOfferingForm .formField {
    min-width: 500px;
    text-align: center;
 }

@media (max-width: 640px) {  
    .selectOfferingForm .formField { min-width: initial; }
}

/* ********************* Manage Wings ***********************/
.selectAcademyForm { min-width: 468px; }
.selectAcademyForm .formButton { width: 408px; }
.selectAcademyForm .formField { 
    width: 408px; 
    text-align: center; 
}

.selectAcademyForm .formGroup select { padding: 5px 16px; }

@media (max-width: 600px) {  
    .selectAcademyForm { min-width: initial; }
    .selectAcademyForm .formField { width: initial; }
    .selectAcademyForm .formButton { width: 100%; }
}

/* ********************* Payment Logging ***********************/
.searchCriteriaForm { padding-top: 25px; }
.tdLogPaymentButton button { white-space: nowrap; }

.showReservations { margin-bottom: 0; }

.logPaymentsForm { 
    width: 100%; 
    margin-bottom: 40px;
}
.logPaymentsForm fieldset { 
    padding-top: 5px; 
    padding-bottom: 20px;
}
.paymentTypeClosed { display: none; }
.dataTable .dataPanel.paymentDetailsPanel td { padding-left: 30px; }

.formHeader.noResults, fieldset.noResults {
    max-width: 468px;
    margin-left: auto;
    margin-right: auto;
}

/* ********************** Profile **************************/

#updateProfileForm h5 { text-align: left; }
#updateProfileForm h5:first-child { margin-top: -12px; }

/* ********************* Promote User ***************************/
.promoteUserForm { min-width: 468px; }

/* ********************** Registration **************************/
.captcha {
    text-align: center;
    margin: 15px auto;
    display: table;
}

/* *************** Report: Academies by Gender ******************/
#tblAcademiesByGender td:nth-child(8), #tblAcademiesByGender td:nth-child(9) {
    border-right: 1px solid #DDDDDD;
}
#tblAcademiesByGender td:nth-child(9) {
    font-weight: 600;
}

/* ******************* Report: All Payments *********************/
#selectPaymentDates { 
    width: 90%;
    margin: 40px auto;
    display: flex;
    justify-content: space-around;
}
#selectPaymentDates-Dates, #selectPaymentDates-Buttons {
    width: 100%;
}
#selectPaymentDates-Dates {
    margin-right: 50px;
}
#selectPaymentDates-Dates > div {
    white-space: nowrap;
}
#selectPaymentDates > div, #selectPaymentDates > div > div {
    display: flex;
    font-weight: 500;
    width: 100%;
}
.selectPaymentDates-Label {
    padding: 11px 15px 0 20px;
}
#selectPaymentDates-Dates .selectPaymentDates-Label:first-child {
    padding-left: 0;
}
#selectPaymentDates-Buttons button {
    margin-right: 10px;
}
#selectPaymentDates a.linkButton, #selectPaymentDates a.linkButton:visited, #selectPaymentDates button {
    padding: 8px 30px;
    height: 42px;
    display: inline-block;
}

@media (max-width: 1024px) { 
    #selectPaymentDates, #selectPaymentDates #selectPaymentDates-Dates, #selectPaymentDates #selectPaymentDates-Buttons { display: block; }
    #selectPaymentDates #selectPaymentDates-Dates div { display: block; }
    #selectPaymentDates #selectPaymentDates-Buttons div { display: inline; }
    .selectPaymentDates-Label { padding-left: 0; }
    #selectPaymentDates-Buttons { margin-top: 20px; }
    #selectPaymentDates a.linkButton, #selectPaymentDates a.linkButton:visited, #selectPaymentDates button { padding: 9px 30px; }
}
@media (max-width: 480px) { 
    #selectPaymentDates div#selectPaymentDates-ResetButton { 
        display: block; 
        margin-top: 20px; 
    }
}

/* ********************* Report: Wing List **********************/
.wingListReport h4 { text-align: center; }
.dataTable.tableWingLists {
    margin: 20px auto 80px auto;
    width: auto;
    min-width: 600px;
}
.dataTable.tableWingLists thead, .dataTable.tableWingLists thead th { 
    background-color: #FFF;
    color: #444444;
    border : 0 none;
    border-bottom: 1px solid #444444;
    font-size: 1.2rem;
    font-weight: 600;
}
.dataTable.tableWingLists tr { 
    background-color: #FFFFFF; 
    border: 0 none;
}
.dataTable.tableWingLists tr.trWingHeader { 
    border-bottom: 1px solid #D2D2D2; 
}
.dataTable.tableWingLists tr.trWingHeader td { 
    padding-top: 25px;
    font-size: 1.1rem;
    font-weight: 600;
}
.dataTable.tableWingLists tr.trWingHeader:first-child td { 
    padding-top: 35px;
}
@media (max-width: 768px) { .dataTable.tableWingLists { min-width: 468px; } }
@media (max-width: 600px) { 
    .dataTable.tableWingLists { min-width: initial; } 
    .dataTable.tableWingLists tr.trWingHeader { 
        font-size: 1rem;
    }
    .dataTable.tableWingLists thead, .dataTable.tableWingLists thead th { 
        font-size: 1.1rem;
    }
}

/* ********************* T-Shirt Inventory ***********************/

.centeredForm.updateTShirtInventoryForm { 
    max-width: initial;
    width: 890px;
}
.TSIHeaderType div { 
    font-family: 'Segoe UI'; 
    font-weight: 600; 
    font-size: 1.1rem; 
    width: 310px;
    text-align: center; 
}
.TSIHeaderSize span { 
    font-family: 'Segoe UI'; 
    font-weight: 600; 
    font-size: 0.9rem; 
    text-align: center; 
}
.TSITable-Size, .TSITable-OnHand { 
    display: inline-block; 
    width: 48px; 
}
.TSITable-HeaderCell { display: inline-block; }
.TSITable-DataCell { display: inline-block; }
.dataCellLabel { 
    font-family: 'Segoe UI'; 
    font-weight: 600; 
    font-size: 0.9rem; 
    width: 170px; 
}
.dataCellA, .headerCellA {
  padding: 5px 0 5px 5px;
  margin: 0 5px 0 10px;
}
.headerCellA { margin-left: 180px; }
.dataCellB, .headerCellB {
    padding: 5px 5px 5px 10px;
    border-left: 1px solid #D0D0D0;
}
.TSIHeaderType .headerCellB { margin-left: 1px; }

.dataCellType { display: none; }

@media (max-width: 1024px) {  
 
    .TSIHeaderSize { margin-bottom: 12px; }
    .dataCellType { 
        display: inline-block; 
        width: 55px;
        font-family: 'Segoe UI'; 
        font-weight: 600; 
        font-size: 0.9rem; 
    }
    .dataCellLabel {
        width: auto;
        display: block;
        margin-top: 10px;
        margin-bottom: 10px;
    }
    .centeredForm.updateTShirtInventoryForm { width: 450px; }
    .dataCellB, .headerCellB {
        border: 0 none;
        display: block;
        margin-left: 10px;
        padding-left: 10px;
    }
    .dataCellA, .headerCellA { 
        display: block;
        margin-left: 10px; 
        padding-left: 10px;
    }

    .headerCellB { margin-left: 65px; }
    .TSIHeaderType .headerCellB { display: none; }
    .headerCellA { display: none; }

}

/* ********************* View Application ***********************/
.viewApplication fieldset { 
    min-width: 600px; 
    margin-bottom: 40px;
}
.viewApplicationButton-Cadet { 
    float: left; 
    padding-right: 10px;
}
.viewApplicationButton-Parent { float: right; }
.viewApplicationButton-Another { margin-top: 40px; }
.viewApplicationButton-Another a { 
    display: inline-block;
    line-height: 24px;
}
.viewApplication .dataLabel { 
    display: inline-block;
    min-width: 140px; 
}
@media (max-width: 768px) { 
    .viewApplication fieldset { min-width: 468px; }
}
@media (max-width: 600px) { 
    .viewApplication fieldset { min-width: initial; }
}
@media (max-width: 480px) { 
    .viewApplicationButton-Cadet, .viewApplicationButton-Parent, .viewApplicationButton-Another { 
        float: none;
        display: block;
        margin: 0 0 20px 0;
        text-align: initial;
    }
}

/* ****************** Report: Academy Roseter *******************/

#academyListOptions {
    width: 80%;
    margin: 25px auto 35px auto;
}
#selectAcademyList {
    clear: both;
    margin-bottom: 30px;
}
.academySelection { 
    display: inline-block;
    margin-right: 25px;
    height: 40px;
}
.academySelection-Name { 
    padding-right: 10px; 
    font-weight: 400;
    font-size: 1rem;
}
.academySelection-Box {
    position: relative;
    top: 3px;
}

#academySelection-Buttons, #academySelection-Buttons div {
    display: flex;
}
#academySelection-ChooseAcademies {
    padding-right: 40px;
}
h2.h2Roster { margin: 30px 0 0 0; }

@media (max-width: 600px) { 
    #academyListOptions {
        width: 100%;
        margin: 25px 0 35px 0;
    }
    .academySelection {
        margin-right: 20px;
        height: 30px;
    }
    .academySelection-Name { 
        font-size: .8rem;
        margin-top: 20px; 
    }
}


/* ************** Report: Academies by City/State ***************/
.academiesByCityReport h4 { 
    width: 468px;
    margin: 35px auto 1rem auto; 
}
.dataTable.tableAcademiesByCity { 
    width: auto;
    margin: 25px auto 55px auto;
    min-width: 468px;
}
.dataTable.tableAcademiesByCity tbody tr {
    background-color: #FFFFFF;
}
.dataTable.tableAcademiesByCity tbody tr:nth-child(2n) {
    background-color: #F2F2F2;
}
.dataTable.tableAcademiesByCity tbody tr.trAcademiesByCity-Totals {
    background-color: #E2E2E2;
}
.trAcademiesByCity-Totals td {
    font-weight: 600;
    font-size: 1.1rem;
}
.trAcademiesByCity-Totals td:first-child { 
    text-align: right;
    padding-right: 10px;
}

@media (max-width: 600px) { 
    .dataTable.tableAcademiesByCity { 
        min-width: initial;
    }
    .trAcademiesByCity-Totals td {
        font-size: 1rem;
    }
}
@media (max-width: 480px) { 
    .academiesByCityReport h4 { 
        width: 320px;
    }
}


/* **************** Report: Cadets by City/State ****************/
#tblCadetsByCity {
    width: auto;
    min-width: 468px;
    margin: 25px auto 20px auto;
}
.dataTable.tableCadetsByCity tbody tr {
    background-color: #FFFFFF;
}
.dataTable.tableCadetsByCity tbody tr.trCadetsByCity-Counts {
    background-color: #F2F2F2;
}
.dataTable.tableCadetsByCity tbody tr.trCadetsByCity-Total {
    background-color: #E2E2E2;
}
.trCadetsByCity-Counts td, .trCadetsByCity-Total td {
    font-weight: 600;
    font-size: 1.1rem;
}
.trCadetsByCity-Counts td:first-child, .trCadetsByCity-Total td:first-child { 
    text-align: right;
    padding-right: 10px;
}

@media (max-width: 600px) { 
    .dataTable.tableCadetsByCity { 
        min-width: initial;
    }
    .trCadetsByCity-Counts td, .trCadetsByCity-Total td {
        font-size: 1rem;
    }
}

/* ************** Report: Academies by School ***************/
.academiesBySchoolReport h4 { 
    width: 468px;
    margin: 35px auto 1rem auto; 
}
.dataTable.tableAcademiesBySchool { 
    width: auto;
    margin: 25px auto 55px auto;
    min-width: 468px;
}
.dataTable.tableAcademiesBySchool tbody tr {
    background-color: #FFFFFF;
}
.dataTable.tableAcademiesBySchool tbody tr:nth-child(2n) {
    background-color: #F2F2F2;
}
.dataTable.tableAcademiesBySchool tbody tr.trAcademiesBySchool-Totals {
    background-color: #E2E2E2;
}
.trAcademiesBySchool-Totals td {
    font-weight: 600;
    font-size: 1.1rem;
}
.trAcademiesBySchool-Totals td:first-child { 
    text-align: right;
    padding-right: 10px;
}

@media (max-width: 600px) { 
    .dataTable.tableAcademiesBySchool { 
        min-width: initial;
    }
    .trAcademiesBySchool-Totals td {
        font-size: 1rem;
    }
}
@media (max-width: 480px) { 
    .academiesBySchoolReport h4 { 
        width: 320px;
    }
}


/* ***************** Report: Cadets by School *****************/
#tblCadetsBySchool {
    width: auto;
    min-width: 468px;
    margin: 25px auto 20px auto;
}
.dataTable.tableCadetsBySchool tbody tr {
    background-color: #FFFFFF;
}
.dataTable.tableCadetsBySchool tbody tr:nth-child(2n) {
    background-color: #F2F2F2;
}
.dataTable.tableCadetsBySchool tbody tr.trCadetsBySchool-Total {
    background-color: #E2E2E2;
}
.trCadetsBySchool-Counts td, .trCadetsBySchool-Total td {
    font-weight: 600;
    font-size: 1.1rem;
}
.trCadetsBySchool-Counts td:first-child, .trCadetsBySchool-Total td:first-child { 
    text-align: right;
    padding-right: 10px;
}

@media (max-width: 600px) { 
    .dataTable.tableCadetsBySchool { 
        min-width: initial;
    }
    .trCadetsBySchool-Counts td, .trCadetsBySchool-Total td {
        font-size: 1rem;
    }
}