/* to be inserted into all pages*/


html {
    font-size: 100%;
}

body {
    font-size: 100%;
}

.cdsvgicon {
    display: inline-block;
    width: 1em;
    height: 1em;
    stroke-width: 0;
    stroke: currentColor;
    fill: currentColor;
}

.icon-location {
    font-size: 1.2em;
    color: #530000;
}



.cdtopmargin {
    padding: 1rem 0;
}

.cdsection {
    padding-top: 1rem;
}

.cdlocationbuilding {
    font-size: 1.8rem;
}


.cdlocationsecondary {
    font-weight: 600;
}



.cdeventsearchfilters {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}


.cdeventlisting {
}

    .cdeventlisting section {
        background-color: white;
        margin: 1rem 0;
        box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
        padding: 0;
    }

        .cdeventlisting section header {
            font-size: 1.8rem;
            padding: 1rem;
            border-bottom: 1px solid #eee;
        }


        .cdeventlisting section article {
            border-bottom: 1px solid #eee;
            padding-bottom: .25rem;
        }

        .cdeventlisting section .cdevent {
            display: flex;
            -ms-flex-direction: row;
            -webkit-flex-direction: row;
            flex-direction: row;
            flex-wrap: wrap;
        }

    .cdeventlisting .cdeventlistdateblock {
        /*display: table-cell;*/
        padding: .5rem;
        vertical-align: top;
    }

    .cdeventlisting .cdeventtitle {
        font-size: 1.5rem;
        line-height: 1;
    }


    .cdeventlisting .cdeventlistmainblock {
        /*display: table-cell;*/
        -ms-flex: inherit;
        -webkit-flex: inherit;
        flex-grow: 1;
        padding: .5rem;
    }

    .cdeventlisting .cdeventregisterholder {
        /*display: table-cell;*/
        padding: .5rem;
        text-align: right;
        flex-grow: 1;
    }


    .cdeventlisting .cdeventtime {
        color: rebeccapurple;
        font-weight: bold;
        display: inline-block;
    }

    .cdeventlisting .cdeventtopic {
        display: inline-block;
    }


    .cdeventlisting .cdeventreglink { /*smaller list link*/
        padding: .3rem 2rem;
        background-color: #004075;
        color: white !important;
        font-size: 1.1rem;
    }

a.cdeventreglink:hover, a.cdeventreglink:active {
    background-color: #035fac;
    color: #d1cdcd !important;
}

.cdeventdate {
    display: block;
    width: 5rem;
    text-align: center;
    color: black;
    background-color: white;
    line-height: 1.1;
    border: 1px solid silver;
}

    .cdeventdate .cddatedayweek {
        font-size: 1rem;
    }

    .cdeventdate .cddatemonth {
        color: white;
        background-color: rgb(37, 87, 132);
    }

    .cdeventdate .cddateday {
        font-size: 1.4rem;
    }

    .cdeventdate .cddateyear {
        font-size: .8rem;
    }


    .cdeventdate .cdondemand {
        font-size: 1rem;
        color: white;
        background-color: rgba(28, 96, 0, 1);
    }

    .cdeventdate .cdondemanduntil {
        font-size: .9rem;
        padding: 2px;
    }



.cdeventaddtocal {
    font-size: .8rem;
}

.cdworkshoploctitle {
    font-weight: bold;
}

.cdworkshopaddress {
    white-space: pre-wrap;
}

.cdworkshopHTMLinfo {
    padding-top: 1em;
    padding-bottom: 1em;
}

.cdworkshoptextinfo {
    white-space: pre-wrap;
}



.cdlocationdirections {
    white-space: pre-wrap;
    font-size: 85%;
    margin: 1rem;
}

.cdloconlineprimetitle {
    font-size: .8rem;
}

.cdeventlocation .cdloconlineprimetitle {
    font-size: .7rem;
    color: rgba(118, 116, 116, 1);
}

.cdeventlocation {
    margin: .5rem 0;
}



.cdlocationsearchfilters {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

    .cdlocationsearchfilters > div {
        padding: 0 .5rem;
    }

.cdbutton {
    padding: .8rem 2rem;
    background-color: #004075 !important;
    color: white !important;
    font-size: 1.2rem;
    display: inline-block;
    margin-bottom: 0.5em;
    margin-top: 0.5em;
    border-radius: 6px;
}


.cdeventreg { /* larger link on detail*/
    padding: .8rem 2rem;
    background-color: #004075 !important;
    color: white !important;
    font-size: 1.2rem;
    display: inline-block;
    margin-bottom: 0.5em;
}

a.cdeventreg:hover, a.cdeventreg:active {
    background-color: #035fac;
    color: #d1cdcd;
}


.cdrfc {
    padding: .8rem 2rem;
    background-color: #004075 !important;
    color: white !important;
    font-size: 1.2rem;
    display: inline-block;
    margin-bottom: 0.5em;
}

a.cdrfc:hover, a.cdrfc:active {
    background-color: #035fac;
    color: #d1cdcd;
}


.cdlocationgroupheader {
    padding-top: 1.7rem;
}

.cdlocation {
    padding-bottom: 1rem;
}

.cdlocationtitle {
    font-size: 1.2rem;
    font-weight: 600;
}

.cdlocationbldg {
    font-weight: 600;
}

@media screen and (min-width: 40em) {

    .cdgridrow {
        display: table-row;
    }

    .cdgridcol {
        display: table-cell;
        vertical-align: top;
        padding-right: 1rem;
    }

    .cdgridcolmiddle {
        vertical-align: middle;
    }

    .cdpad1 {
        padding: 1rem;
    }

    .cdpad1leftcell {
        padding: 1rem 1rem 1rem 0;
    }

    .cdpad1rightcell {
        padding: 1rem 0 1rem 1rem;
    }


    #searchUI select { /* event search*/
        width: auto;
        font-size: 1.1rem;
        -webkit-appearance: menulist;
    }


    .cdeventlisting section .cdevent {
        flex-wrap: nowrap;
    }
}






/* registration below */

#regformholder {
    /* box-sizing: content-box; */
}

    #regformholder input { /* reset */
        box-sizing: border-box;
        /*width: auto;*/
        height: 2.5rem;
        font-size: 1.2rem;
        padding: 10px;
        margin: 0px;
        border: 0;
        box-shadow: none;
        transition: 0;
        border-radius: 0;
        background-color: white;
        color: black;
        border-bottom: 2px solid silver;
        max-width: 72vw;
    }



        #regformholder input:focus { /* reset */
            border-bottom: 1px solid black;
        }

        #regformholder input[type='checkbox'] {
            width: 1.5rem;
            height: 1.5rem;
            margin: .5rem;
        }


    #regformholder select { /* reset */
        width: auto;
        box-sizing: border-box;
        min-height: 2.5rem;
        font-size: 1.2rem;
        padding: 8px;
        margin-bottom: 6px;
        max-width: 72vw;
    }

    #regformholder textarea { /* reset */
        width: auto;
        box-sizing: border-box;
        font-size: 1.2rem;
        padding: 10px;
        margin-bottom: 6px;
    }
/*
    #regformholder input:invalid {
        border-color: red;
        background-color: #ffe6e6;
    }

    #regformholder select:invalid {
        border-color: red;
        background-color: #ffe6e6;
    }*/

#cdsignin {
    /* left box around signin */
    min-height: 14rem;
    min-width: 20rem;
    border: 1px solid rgb(32, 106, 173);
    background-color: #F0F8FF;
    color: #000;
    /*border-radius: 8px;*/
    padding: 1rem;
}

.cdstaffsignin {
    background-color: #fffaf2;
    border-radius: 8px;
    padding: 6px;
    margin: 1em;
    color: black;
    font-size: 100%;
}

#cdsignincontinue {
    height: 50px;
    margin-top: 10px;
}

label.required {
    font-weight: bold;
}

.cdsubtypehour, .cdsubtypedec, .cdsubtypeint {
    /* numeric inputs*/
    text-align: right;
}

.cdpage tr:nth-of-type(even) {
    background-color: transparent; /* clear zebra rows*/
}

.cdpage tr {
    /* not current rows */
    color: #585858;
    background-color: White;
}

    .cdpage tr.activerow {
        /* current row */
        color: black;
        background-color: #F0F8FF;
    }




.cdpage .fldspacer {
    margin: 15px;
}


/* 2024 A11Y rework */


#regformholder fieldset {
    border: 1px solid #ccc;
    padding: 20px;
    border-radius: 5px;
    margin-bottom: 1rem;
}

#regformholder legend {
    font-weight: bold;
    padding: 0 10px;
}

#regformholder div[role=group] {
    border: 1px solid #ccc;
    padding: 20px;
    border-radius: 5px;
    margin-bottom: 1rem;
}


#regformholder ul.cdfieldlist {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 24px; /* Increased gap for clarity */
}

    #regformholder ul.cdfieldlist li {
        display: flex;
        flex-direction: column;
    }

/*
#regformholder li:focus-within {
    background-color: #f0f8ff;  
}
*/



#regformholder .left-side {
    display: flex;
    justify-content: flex-start;
    align-self: start; /* Align to the top */
    padding-right: 10px;
    margin-bottom: 5px; /* Space between label and input */
}

#regformholder label.cdlabel {
    display: block;
    text-align: left; /* Align text to the left */
    width: 100%;
    font-weight: bold;
}

#regformholder .right-side {
    display: flex;
    flex-direction: column;
    padding-left: 20px; /* Indent the right-side div */
}

    #regformholder .right-side > * {
        margin-bottom: 10px;
    }

        #regformholder .right-side > *:last-child {
            margin-bottom: 0;
        }

#regformholder textarea {
   width: 100%;
    box-sizing: border-box;
}

#regformholder select {
    /* width: 100%; */
    padding: 5px;
    box-sizing: border-box;
}

#regformholder hr {
    border: 0;
    border-top: 1px solid #ccc;
    margin: 10px 0; /* Adjust the vertical spacing */
}






#regformholder td.cdfldlabel {
    text-align: right;
    border-bottom: solid 1px #DEE7EC;
}

#regformholder td.cdfld {
    text-align: left;
    width: 65%;
    border-bottom: solid 1px #DEE7EC;
    padding: 4px;
}

#regformholder .cdcheckbox-container {
    columns: 2; /* Set the number of columns */
    column-gap: 20px;
    overflow-y: auto;
}

#regformholder .cdcheckbox-item {
    display: flex;
    align-items: center;
    break-inside: avoid; /* Prevents items from being split across columns */
}

    #regformholder .cdcheckbox-item.hidden {
        display: none;
    }

#regformholder summary {
    min-height: 1.5rem;
    display: revert;
}

#cdbttnnextpage {
    width: 14em;
}

#cdsignin input[name=ticketcode] {
    border: 4px solid #F00;
    height: 4rem;
    font-size: 1.5rem;
}


div.cdsecthelp {
    /* page/pane help */
    padding: 10px;
}

div.cdwizfldhelp {
    /* field help/ desc.*/
    /*font-size: 9pt;*/
}

div.cdmsgprompt {
    /* messages related to signing in*/
    padding: 4px 0px 8px 0px;
    /*font-size: 9pt;*/
}

div.cdmsgcrit {
    /* critical messages */
    border: solid 1px red;
    background-color: white; /*#F8F3F3;*/
    padding: 4px;
    /*font-size: 9pt;*/
    color: Maroon;
    border-radius: 6px;
    /*margin-top: 6px;*/
    margin: .5rem 0;
}

div.cdmsgwarning {
    /* warning messages */
    /* border: solid 1px #E2B13A; */
    background-color: #FFFCC9; /*#F8F3F3;*/
    padding: .5rem;
    /*padding: 4px;*/
    /*font-size: 1.2em;*/
    color: #332201;
    margin: .5rem 0;
    /*border-radius: 6px;
    margin-top: 6px;*/
    /* display: inline-block; */
}

div.cdmsginfo {
    /* info messages */
    /*border: solid 1px #C18E3B;*/
    background-color: #F9F7F2;
    padding: .5rem;
    /*font-size: 9pt;*/
    color: #562121;
    /*border-radius: 6px;*/
    margin: .5rem 0;
}

    div.cdmsginfo a {
        color: Blue;
    }

#regformholder div ol {
    margin: 1em;
}


.cdfielderror {
    /*border: solid 1px #E2B13A;*/
    background-color: #FFFCC9; /*#F8F3F3;*/
}


.cdajaxloading {
    /* ajax loading*/
    background: #fff url(/sysimg/ajax3.gif) no-repeat top center;
    position: absolute;
    display: none;
    z-index: 100000;
}


.cdtotalattendfee {
    font-weight: bold;
    background-color: white;
    color: maroon;
    font-size: 1.1em;
    border-top: solid 1px maroon;
}

.cdattendfee {
    font-weight: bold;
    background-color: white;
    color: maroon;
    font-size: 1.1em;
}



.autocomplete-w1 {
    background: url(/sysimg/shadow.png) no-repeat bottom right;
    position: absolute;
    top: 0px;
    left: 0px;
    margin: 8px 0 0 6px; /* IE6 fix: */
    _background: none;
    _margin: 0;
}

.autocomplete {
    border: 1px solid #999;
    background: #FFF;
    cursor: default;
    text-align: left;
    max-height: 350px;
    overflow: auto;
    margin: -6px 6px 6px -6px; /* IE6 specific: */
    _height: 350px;
    _margin: 0;
    _overflow-x: hidden;
}

    .autocomplete .selected {
        background: #F0F0F0;
    }

    .autocomplete div {
        padding: 2px 5px;
        white-space: nowrap;
    }

    .autocomplete strong {
        font-weight: normal;
        color: #3399FF;
    }

.cdautocompleteinvalid {
    color: Red;
}


.cderrordisplay {
    border: solid 1px red;
    margin: 4px;
    padding: 4px;
    background-color: white;
    color: Maroon;
}



.cdlibraryedit {
    font-size: 60%;
    color: #6f6d6d;
}

/* TABS */

.cdtabs {
    margin: 2rem 0;
}

ul.cdtablist {
    display: flex;
    list-style-type: none;
    margin: 0;
    flex-direction: row;
    flex-wrap: wrap;
    border-left: 1px solid rgba(0,0,0,0.12);
    padding: 0;
}

li.cdtablist__item {
    flex-grow: 1;
    padding: .5rem;
    text-align: center;
    border-top: 1px solid rgba(0,0,0,0.1);
    border-right: 1px solid rgba(0,0,0,0.1);
    border-bottom: 1px solid black;
    background-color: rgba(0,0,0,.1);
}

/*li.cdtablist__item:first-child {
        border-left: 1px solid rgba(0,0,0,0.12);
    }*/

li.cdtablist__itemselected {
    border-top: 1px solid rgba(0,0,0,0.8);
    border-right: 1px solid rgba(0,0,0,0.8);
    border-left: 1px solid rgba(0,0,0,0.8);
    border-bottom: 0;
    background-color: white;
}

@media screen and (max-width: 40em) {
    ul.cdtablist {
        flex-direction: row;
        border: 0;
    }

    li.cdtablist__item {
        border: 1px solid rgba(0,0,0,0.1);
    }

    li.cdtablist__itemselected {
        border: 1px solid rgba(0,0,0,0.8);
    }
}

.cddashboardtbl {
    dl {
      display: flex;
      flex-direction: column;
    }
    
    div {
      display: flex;
    }
    
    dt {
      flex: 1;
      text-align: right;
      padding-right: 10px;
      font-weight: bold;
    }
    
    dd {
      flex: 2;
      margin: 0;
    }
}