*,*:before,*:after {box-sizing:inherit} 
:root {
      --back: white;   --text: black;     --hover: red;
  --cta-back: red; --cta-text: white; --cta-hover: #777;
  --caret: "\f0d7"; /* caret-square-down */
    /* --caret: "\f078"; /* caret-down */
    /* --caret: "\f150"; /* caret-square-down inverse */
  
  /* Do NOT change this date - changes are made in deploy.sh on droplet */
  --SITE-LAST-UPDATED: "Wed Sep  3 22:53:01 CDT 2025";
}

html { box-sizing:border-box; padding: 0; overflow-x:hidden;
       -ms-text-size-adjust:100%; -webkit-text-size-adjust:100%;
       max-width: 1280px; margin: 0 auto; 
       background-color: var(--back); color: var(--text); }
body {
  font-family: "Lato", "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 1.125rem; line-height: 1.618; margin: 0;
  
}
nav  { padding: 0; letter-spacing: 1.2px; font-weight: 600;}
a    { color: var(--text); text-decoration: none; }
li p a { color: blue; text-decoration: underline}
footer h4 a { color: blue; }


.menu { padding-inline-start: 0; margin: 0; 
        border-left: 1px solid; border-right: 1px solid;
        border-top: 1px solid;}
.menu,
.submenu { list-style-type: none; background-color: var(--back); }

.logo { font-size: 1.25rem; padding: 0 0.8rem 0 0; 
  letter-spacing: 3px; font-weight: 600;}
.logo a { color: var(--text);}
.logo:hover a { color: var(--hover)}
.item { padding: 0rem 0.75rem; }
.item a:hover, 
.item a:hover::after { color: var(--hover) }

/* Mobile Menu */
.menu { display: flex; flex-wrap: wrap; justify-content: space-between;
  align-items: center; }
.menu li a { display: block; padding: 0.9rem 0.3rem; }
.menu li.subitem a { padding: 1rem; }
.toggle { order: 1; font-size: 1.25rem; }
.item { order: 3; width: 100%; text-align: left; display: none;
  padding-left: 1.0rem; }
.active .item { display: block; }

/* Submenu up from mobile screens */
.submenu { display: none; 
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 
  0 6px 20px 0 rgba(0,0,0,0.19); 
  padding-left: 0.5rem;
  }
.submenu-active .submenu { display: block; }
.has-submenu > a::after { font-family: "Font Awesome 5 Free"; 
  font-size: 1rem; line-height: 1rem; font-weight: 800; 
  content: var(--caret); color: var(--text); padding-left: 0.3rem; }
.subitem a { padding: 0.75rem 1rem; }
.submenu-active{ background-color: var(--back); border-radius: 3px; 
}

@media all and (min-width: 700px) { /* Tablet menu */
  .menu { justify-content: center; }
  .logo { flex: 1; }
  .toggle { flex: 1; text-align: right; order: 2; }
}
@media all and (min-width: 900px) { /* Desktop menu  */
  .menu { align-items: flex-start; flex-wrap: nowrap; background: none; }
  .logo { order: 0; }
  .item { order: 1; position: relative; display: block; width: auto; }
  .has-submenu:hover .submenu { display: block; position: absolute;
    left: 0; top: 46px; 
    text-align: left; padding-left: 0; width: auto;}
  .toggle { display: none; }
  .submenu-active { border-radius: 0; }
}

/* -------------- */

h1 { font-weight: 700; font-size: 1.85rem; line-height: 1.60; margin: 1.3em 0; }
h2 { font-weight: 700; font-size: 1.55rem; line-height: 1.70; margin: 1.5em 0; }
h3 { font-weight: 600; font-size: 1.40rem; line-height: 1.60; margin: 1.6em 0; }
h4 { font-weight: 500; font-size: 1.25rem; line-height: 1.60; margin: 1.6em 0; }
h5 { font-weight: 400; font-size: 1.00rem; line-height: 1.60; margin: 1.6em 0; }
h6 { font-weight: 300; font-size: 0.85rem; line-height: 1.60; margin: 1.6em 0; }

.fw-700 { font-weight: 700; }
.fw-600 { font-weight: 600; }
.fw-500 { font-weight: 500; }

header{ line-height: 0;} 

footer { text-align: center; padding: 0.5rem 1rem; background-color: #f0f0f0;
         border-left: 1px solid; border-right: 1px solid; 
         border-bottom: 1px solid;}
footer h4 { font-weight: 500;font-size:1.00rem;line-height:1.0;margin: 0     0;}
footer h5 { font-weight: 400;font-size:0.80rem;line-height:1.0;margin: 1.0em 0;}
footer h6 { font-weight: 300;font-size:0.60rem;line-height:1.0;margin: 1.0em 0;}

/* -------------- */

img { width: 100%;  height: auto; border: 1px solid}

.speaker   { width: 14rem; height: auto; }
.qrcode    { width: 20rem; height: auto; }
.narrowimg { width:   30%; height: auto; }
.wideimg   { width:   90%; height: auto; }
.underline { text-decoration: underline ;}

.wrapper { width: 100%; max-width: 80rem; margin: 0 auto; padding: 1rem; 
           box-sizing: border-box; border-style: solid; border-width: 1px; 
           border-top-width: 0;}

/* index page two column format */
.col-01 { width: 62.5%; float: left; box-sizing: border-box;
        }
.col-02 { width: 37.5%; float: right; padding-left: 5rem;}
.col-02 > :first-child { margin-top: 0;}

/* club officer page - even columns */
.col-01e { width: 50%; float: left; box-sizing: border-box;
           text-align: right; padding-right: 2rem;}
.col-02e { width: 50%; float: left; padding-left: 0rem;
           text-align: left;}
.col-02e > :first-child { margin-top: 0;}

/* MEDIA for multi column folding ****************/
@media (max-width: 985px){
  .col-01, .col-02 { float: none; width: 100%; }
  .col-02  { padding-left: 0;  } 
}

@media (max-width: 600px) {
  /* .col-01e, .col-02e { float: none; width: 100%; } */
  .col-01e, .col-02e { width: 100%; text-align: center; padding:0; } 
}

.clearfix:before,
.clearfix:after { content: " "; display: table; clear: both;
}

.center-text { text-align:center;}
.align-text  { text-align:jusify;}

/* cta: call to action button */
.cta-wrapper { display: block; text-align: center; }
.cta-button { display: inline-block; border: none; border-radius: 2em; 
  font-size: 1.2em; font-weight: bold;   padding: 0.8em 1.5em; 
  background-color: var(--cta-back); color: var(--cta-text); 
  width: auto;
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 
              0 6px 20px 0 rgba(0,0,0,0.19); }
.cta-button:hover { background-color: var(--cta-hover); }

.isd-wrapper {display: block; text-align: left; padding-left: 2rem;}
.isd-button { display: inline-block; border-radius: 30px;
  border-width: 3px; 
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 
  0 6px 20px 0 rgba(0,0,0,0.19);
}
.isd-button:hover { background-color: var(--cta-hover); }

.drop-wrapper {display: block; text-align: left; padding-left: 0rem;}
.drop-button { display: inline-block; border: none; border-radius: 30px;
  font-size: 1.0em; font-weight: bold; padding: 0.4em .75em; 
  background-color: var(--cta-back);
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 
  0 6px 20px 0 rgba(0,0,0,0.19);
}
.drop-button:hover { background-color: var(--cta-hover); }

/* page tweaks */
/* greeting - signature */
.margin-0     { margin:0; }
.margin-top-0 {margin-top: 0; }

.no-bullet-list{ list-style-type: none; padding: 0; margin:0;}
.no-bullet-list li:first-child {padding-top: 0;}
.no-bullet-list li {padding-top: 1rem;}

dt { font-weight: bold; }
dd { margin-bottom: 1em; }
dt i { font-weight: lighter;}

.showDiv {display: block!important;}
.hideDiv {display: none;}

/* modal rsvp page items */
.showDivIB {display: inline-block}  /* for rsvp message*/
.modal-message { z-index: 3; display: none; padding-top:100px;
  position: fixed!important; left: 0; top: 0; width: 100%; height: 100%; overflow: auto;
  background-color: rgb(0,0,0);   background-color: rgba(0,0,0,0.4)
}
.modal-message-box {
  margin: auto; background-color: #fff;
  position: relative; padding: 10px; outline: 0; width: 300px;
}
.modal-message-text {
  margin-top: 16px; margin-bottom: 16px;
}
.modal-x-position { position: absolute; top: 0; right: 0.5rem; }

@media print {
  body { margin: 0; color: var(--text); background-color: var(--back); }
}