/*
 Theme Name:     Velopalooza 2017 - Customizr Child
 Theme URI:      http://velopalooza.ca/
 Description:    2017
 Author:         Mark Cosgrove
 Template:       customizr
 Version:        1.0.5
*/

/* May 27, 2023, Steve Kisby: adjusted from 22 to 27px to match other inputs */
#once-multiple-container button, #once-multiple-container input {
  line-height: 25px;
}

/* May 22, 2023, Steve Kisby: From https://stackoverflow.com/a/10305549 */
html, body { height: 100%; }
body.wait, body.wait *{
    cursor: wait !important;   
}

/* Jun 24, 2022, Steve Kisby: Icons */
.file-icon {
  height: 94px;
  width: 72px;
}

/* Jun 25, 2022, Steve Kisby: Customizr theme CSS settting overrides */
.featurette-divider {
  margin: 22px 0;
}
.row-fluid .span6 {
  width: auto;
}

/* May 13, 2017, Steve Kisby: Added this style to replace "btn-large" to reduce the height of the two buttons to the left of the social networking buttons to the height of those buttons. */
.btn-frontpage {
   padding: 5px 19px;
   font-size: 17.5px;
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px; }

.show-600-max {display: none;}

.bfc-event header {display: none;}

/* May 13, 2017, Steve Kisby: Changed padding from 10px to 0px 8px 0px 8px so that it lines up better with the reduced height buttons to the left */
#home-social-media {float: right; padding: 0px 8px 0px 8px;}
#home-social-media li {display: inline-block;}

/* Upcoming events list */
.bfc-upcoming, .bfc-upcoming-nav {max-width: 800px;}
.bfc-upcoming #listing {
    max-width: 800px !important;
    margin: 5px 10px 20px 10px;
}
.bfc-upcoming #listing .title h2 {font-size:24px !important;}
.bfc-upcoming .weeks {
    border-bottom: 3px solid;
    padding: 5px;
}
.bfc-upcoming #listing .event-image {
    padding: 0 20px 20px 0;
}
.bfc-upcoming #listing .event-about {
    width:auto !important;
}
.bfc-upcoming #listing .event-description {
    width:auto !important;
    float: unset !important;
    padding-bottom: 10px;
}
.bfc-upcoming #listing .event-about {
    color: #5a5a5a !important;
    padding: 10px 5px 0px 10px !important;
    margin: 10px 0 0 0 !important;
    background-color: white;
    border-radius: 10px;
    transition: box-shadow 0.5s;
}
.bfc-upcoming #listing .event-about:hover {box-shadow:0 0 5px #5CE3F9;}

.bfc-upcoming #listing .bfc-more-link {display: none !important;}

.bfc-upcoming .event-details {display: none;}
.bfc-upcoming #listing .event-navigation {display: none;}

.event-info .leader-name, .event-info .permalink {display: block;}

footer {background: url(http://velopalooza.ca/wp-content/uploads/2014/04/footer-background-2014.jpg) !important;}

#menu-archive-navigation li {display:inline-block !important; padding-right:10px;}

#velo_stayconnected-2 {
    padding: 10px;
    margin: 10px;
    color: #AAA;
    background-color: #575757;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
}

.calendar-switch {
    float: right;
    height: 80px;
    background: url(http://velopalooza.ca/wp-content/themes/velotheme-meg/images/calendar-switch-2.png) no-repeat;
    padding: 20px 20px 20px 120px;
}

@media (max-width:800px) {
    .calendar-switch {display:none !important;}
}

/*
@media (min-width:600px) and (max-width:980px) {
    .navbar-inner { margin-top: -35px !important; }
}
*/

@media (max-width: 600px) {
    .sticky-disabled .tc-shrink-on .site-logo img {margin: auto !important; }
    .mobile-hide {display: none;}
    .hide-600-max {display: none;}
    .show-600-max {display: unset !important;}
}
@media (max-width: 400px) {
     header .brand .site-logo>img {
          max-width: 70% !important;
          position: absolute;
          left: 5%;
     }
     .navbar-wrapper {
          max-height: 40px;
          position: relative !important;
     }
     .sticky-disabled .navbar-wrapper {
          top: -30px !important;
     }
    #sponsors .b-5 {
        width: 100% !important;
        margin: 5px 0 10px; 
    }
}
@media (min-width: 401px) {
    header .brand .site-logo>img {
        width: 100% !important;
        margin: auto !important;
        max-width: 300px !important;
        max-height: 60px !important;
        padding-left: 10pt;
        padding-right: 10pt;    }
}

.navbar-wrapper {
     position: absolute;
     right: 0;
     top: 0;
}

#widget-friends-velo li a { font-size: 14px !important; }
#widget-friends-velo li { margin-bottom: 4px; }

.widget_nav_menu h3::before{content:"";}

#site-disclaimer {font-size: 11px;}

img[class*="align"], img[class*="wp-image-"], #content .gallery .gallery-icon img {
    border: 1px solid #ddd;
    padding: 6px;
}

#event-page .event-details {float:none !important; display:inline-block !important; width:auto !important;}
#event-page .edit-link {display:block !important; clear:both !important;}
#event-page .contact-info {width: auto !important;}
#event-page .event-about {width: auto !important; max-width:500px !important;}
 
h1,h2,h3,h4,h5,h6, .clear-both {clear: both;}
.no-clear {clear: none !important;}



/* Navigation - Top */
.sticky-disabled #menu-main-navigation-2 > li > a {
    font-size: 1.7em;
    margin-top: 0.5em;
    /* margin-bottom: 1em; */
    text-align: center;
}
.sticky-enabled #menu-main-navigation-2 > li > a {
    font-size: 1.5em;
    margin-top: 0.3em;
    /* margin-bottom: 1em; */
    text-align: center;
}

.sticky-disabled .tc-shrink-on .site-logo img {
    /* margin-left: 20px; */
    max-height: 160px;
}

.sticky-enabled .tc-shrink-on .site-logo img {
    height: 50px !important;
}

.sticky-enabled .tc-header .brand a{
    margin: 2px 0;
}

.sticky-enabled .tc-header .navbar .navbar-inner {
    margin: 0;
}

.nav-collapse.collapse.in {
    overflow-y: auto !important;
}


@media (min-width: 1500px) {
    .sticky-disabled .tc-header {
        background-image: url("/wp-content/uploads/2016/06/2016-site-header-bg-300x193.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 120px;
        transition: all 1s !important;
    }

}


/***** COPIED *****/

/* Navigation in current/monthly calendars */
.cal-links .previous {
    text-align: left;
    float: left;
}

.cal-links .current {
    text-align: center;
}

.cal-links .next {
    text-align: left;
    float: right;
}

/* Main Calendar */
#main-calendar {
    clear: both;
    position: relative;
    padding: 10px;
    margin-bottom: 20px;
    font-size: 12px;
    -webkit-box-shadow: rgba(0,0,0,0.3) 0 0 3px;
    -moz-box-shadow: rgba(0,0,0,0.3) 0 0 3px;
    box-shadow: rgba(0,0,0,0.3) 0 0 3px;
}

#main-calendar .add-event-button {
    display: inline-block;
    margin-bottom: 10px;
    padding: 5px 25px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    border: none;
    background: #00d3be;
/* Old browsers */
    background: -moz-linear-gradient(top,#00d3be 0%,#009e8f 100%);
/* FF3.6+ */
    background: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#00d3be),color-stop(100%,#009e8f));
/* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,#00d3be 0%,#009e8f 100%);
/* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,#00d3be 0%,#009e8f 100%);
/* Opera 11.10+ */
    background: -ms-linear-gradient(top,#00d3be 0%,#009e8f 100%);
/* IE10+ */
    background: linear-gradient(top,#00d3be 0%,#009e8f 100%);
/* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00d3be',endColorstr='#009e8f',GradientType=0);
/* IE6-9 */
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.3);
    -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.3);
    box-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

/* Heading above the calendar on the landing page */
#calendar-header {
    position: relative;
    width: 100%;
    border-top: 1px dotted rgba(0,0,0,0.3);
}

#calendar-header h1 {
    color: #222;
    font-size: 26px;
    font-weight: 700;
    line-height: 1em;
    padding: 10px 0;
}

#calendar-header h3 {
    color: #373737;
    font-size: 18px;
    font-weight: 700;
}

#calendar-header h4 {
    color: #222;
    font-size: 18px;
}

#calendar-header .calendar-title {
    width: 50%;
    float: left;
    padding: 20px;
    margin-top: 9px;
    margin-bottom: 10px;
}

#calendar-header .calendar-switch {
    float: right;
    width: 260px;
    height: 80px;
    background: url(images/calendar-switch-2.png) no-repeat;
    border-left: 1px dotted rgba(0,0,0,0.3);
    padding: 20px;
    padding-left: 145px;
    margin: 9px 0 10px 10px;
}

#calendar-header .calendar-switch p {
    margin-bottom: 0;
    margin-top: 15px;
}

#calendar-header .calendar-switch a {
    color: #009e8f;
    font-weight: strong;
    font-size: 16px;
}

/* Calendar grid */
.overview-calendar {
/* No right-side border after the header for Saturday */
/* Days of the month */
/* Padding text in the calendar */
}

.overview-calendar th.weekday-name {
    background-color: #6d6c6c;
    color: #fff;
    padding-left: 11px;
    padding-bottom: 2px;
    padding-top: 4px;
    padding-right: 11px;
/* override CSS properties the theme sets for regular tables */
    font-size: 12px;
    line-height: normal;
    letter-spacing: normal;
    font-weight: 400;
/* We have 940px available for the calendar.

     * The closest we can come is 935px

     *

     * (7 * 131px) + (6 * 3px) = 935px

     */
    width: 131px;
    border-right: 3px;
    border-right-color: #fff;
    border-right-style: solid;
    text-transform: none;
}

.overview-calendar th:last-child {
    border-right-style: none;
}

.overview-calendar td {
/* help align the calendar entries with the padding text. */
    vertical-align: top;
}

.overview-calendar div.date {
    margin-top: 9px;
    padding-bottom: 0;
    margin-bottom: 4px;
    border-bottom: 1px;
    border-bottom-color: #d5d5d5;
    border-bottom-style: solid;
    font-size: 14px;
}

.overview-calendar .overview-calendar-padding {
    font-size: 16px;
    padding: 20px;
    margin-right: 3px;
/* Align the box with the bottom of the date divs.

     * Need a mystery 2px of padding.

     */
    margin-top: 30px;
    background-color: #F7F7F7;
    text-align: center;
}

.overview-calendar .overview-calendar-padding h2 {
    font-size: 20px;
    font-weight: 700;
}

.overview-calendar .overview-calendar-padding p {
    line-height: 1.425em;
}

.overview-calendar .event-time {
    color: #888;
}

.calendar-legend {
    padding-top: 15px;
    float: right;
    color: #888;
}

/* Event listings in overview calendar, sidebar, etc */
.event-title {
    padding: 0 5px 8px 0;
}

.event-title a {
    color: #000;
}

/* Canceled events in the overview calendar */
.event-overview.canceled .event-title {
/* Don't color the event red, b/c that would

   * be visually distracting.

   */
    text-decoration: line-through;
}

/* Event listings are similar, but not identical, based on how they're used. 

 * Set up a mixin to handle the differences.

 */
#listing {}

#listing .event-details {
    font-size: 12px;
    width: 215px;
    min-height: 160px;
    float: right;
    margin: 10px 0;
    padding: 10px 10px 10px 8px;
/* Be sure it clears below the icon for audience */
    clear: both;
    border-left: solid 1px #ccc;
}

#listing .location {
    word-wrap: break-word;
    word-wrap: break-all;
/*IE 6*/
}

#listing .contact-info {
    word-wrap: break-word;
    word-wrap: break-all;
}

#listing .event-about {
    font-size: 12px;
    float: left;
    width: 527px;
    margin: 10px 0 10px 10px;
    padding-top: 10px;
    padding-right: 8px;
    border-right: solid 1px transparent;
}

#listing .event-image {
    display: block;
    overflow: hidden;
    float: left;
    margin-right: 5px;
}

#listing .event-image img {
    max-width: 180px;
    max-height: 200px;
}

#listing .event-description {
    display: block;
    float: left;
    width: 342px;
/*  padding-left: 5px; */
}

#listing .end-of-event {
    clear: both;
}

#listing .social-media {
/* Use whitespace to visually separate from the info 

     * the ride leader entered.

     */
    margin-top: 20px;
}

#listing .social-media a {
    margin-right: 10px;
}

#event-page {
/* Declare variables so they stay in scope after the @if block. */
/* meeting location & contact info */
}

#event-page .event-details {
    font-size: 12px;
    width: 176px;
    min-height: 160px;
    float: right;
    margin: 10px 0;
    padding: 10px 10px 10px 8px;
/* Be sure it clears below the icon for audience */
    clear: both;
    border-left: solid 1px transparent;
}

#event-page .location {
    word-wrap: break-word;
    word-wrap: break-all;
/*IE 6*/
}

#event-page .contact-info {
    word-wrap: break-word;
    word-wrap: break-all;
/*IE 6*/
    display: block;
    margin: 5px 10px 5px 0;
    width: 115px;
/* @@@ why is this set? Inspector says the text overflows this, anyways... */
}

#event-page .event-about {
    font-size: 12px;
    float: left;
    width: 436px;
    margin: 10px 0 10px 10px;
    padding-top: 10px;
    padding-right: 8px;
    border-right: solid 1px #ccc;
}

#event-page .event-image {
    display: block;
    overflow: hidden;
    float: right;
    padding: 20px 0;
}

#event-page .event-image img {
    max-width: 436px;
    max-height: none;
}

#event-page .event-description {
    display: block;
    float: left;
    width: auto;
    padding-left: 0;
    padding-right: 8px;
}

#event-page .end-of-event {
    clear: both;
}

#event-page .social-media {
/* Use whitespace to visually separate from the info 

     * the ride leader entered.

     */
    margin-top: 20px;
}

#event-page .social-media a {
    margin-right: 10px;
}

#preview {
    border: 1px #bfbfbf solid;
    padding: 3px;
/* Preview looks like the event page, not the pop-up listing. */
/* Declare variables so they stay in scope after the @if block. */
/* meeting location & contact info */
}

#preview .event-details {
    font-size: 12px;
    width: 173.6px;
    min-height: 160px;
    float: right;
    margin: 10px 0;
    padding: 10px 10px 10px 8px;
/* Be sure it clears below the icon for audience */
    clear: both;
    border-left: solid 1px transparent;
}

#preview .location {
    word-wrap: break-word;
    word-wrap: break-all;
/*IE 6*/
}

#preview .contact-info {
    word-wrap: break-word;
    word-wrap: break-all;
/*IE 6*/
    display: block;
    margin: 5px 10px 5px 0;
/*  width: 115px; */
/* @@@ why is this set? Inspector says the text overflows this, anyways... */
}

#preview .event-about {
    font-size: 12px;
    float: left;
    width: 430.4px;
    margin: 10px 0 10px 10px;
    padding-top: 10px;
    padding-right: 8px;
    border-right: solid 1px #ccc;
}

#preview .event-image {
    display: block;
    overflow: hidden;
    float: right;
    padding: 20px 0;
}

#preview .event-image img {
    max-width: 430.4px;
    max-height: none;
}

#preview .event-description {
    display: block;
    float: left;
    width: auto;
    padding-left: 0;
    padding-right: 8px;
}

#preview .end-of-event {
    clear: both;
}

#preview .social-media {
/* Use whitespace to visually separate from the info 

     * the ride leader entered.

     */
    margin-top: 20px;
}

#preview .social-media a {
    margin-right: 10px;
}

.event-info .time {
    color: #666;
}

/* On the event page, the title is an H1 element. Override

 * WordPress' default stylings to align things properly.

 */
#event-page .title h1.entry-title {
/* Align nicely with audience icons */
    clear: none;
    padding-top: 0;
/* Bring it closer to the date listing below */
    margin-bottom: 0;
}

.event-info .title h2 {
    font-size: 18px;
    font-weight: 700;
    display: inline;
}

.event-info {
/* newsflashes for non-canceled events */
/* The word "CANCELED" that appears before canceled events */
}

.event-info div.newsflash {
    color: red;
}

.event-info span.cancel,.event-info div.cancel {
/* When canceled, most things have a strikethrough */
    text-decoration: line-through;
/* Except newsflashes */
}

.event-info span.cancel.newsflash,.event-info div.cancel.newsflash {
    text-decoration: none;
    color: #cb3d3a;
}

.event-info .title-cancel {
    color: #cb3d3a;
}

.event-info h3 {
    font-weight: 700;
    font-size: 14px;
    margin: 0;
}

.event-info a {
    color: #009e8f;
}

.event-info .admin-edit-link {
    font: 12px "Lucida Sans Unicode","Lucida Grande",sans-serif;
    padding-left: 10px;
}

/* Includes audience & the fee warning */
.event-info .audience {
    float: right;
    clear: both;
}

.event-info .audience img {
    margin-left: 10px;
}

#event-page .event-about {
/* Make the text describing the event be bigger, when showing the event page */
/* @@@ todo: Make it bigger for preview, too */
    font-size: 14px;
}

.event-info .location {
    clear: both;
}

.event-info .location a {
    display: block;
}

.event-info .leader-name {
    font-size: 14px;
    margin-bottom: 10px;
}

.event-info .permalink {
    font-size: 14px;
    margin-top: 20px;
}

.event-info .event-navigation {
    display: block;
    clear: both;
    float: left;
    width: 100%;
    margin-top: 10px;
    padding: 10px 0;
    border-top: solid 1px #CCC;
}

.event-info .event-navigation p {
    color: #666;
    font-size: 12px;
    margin-bottom: 0;
}

.event-info .previous {
    display: block;
    clear: left;
    float: left;
    width: 40%;
}

.event-info .next {
    float: right;
    text-align: right;
    width: 40%;
}

.event-info .details {
    float: right;
}

/*Event Dialog*/
#simplemodal-data {
    padding: 0 10px;
    background-color: #fff;
}

/* Style the pop-up window that events can appear in */
#simplemodal-overlay {
    background-color: #000;
}

#simplemodal-container {
    height: auto !important;
    max-height: 600px;
    width: 800px;
    color: #111;
    background-color: #fff;
    border: 4px solid #444;
    padding: 12px;
    z-index: 1000;
}

#simplemodal-container br {
    display: none;
}

#simplemodal-container a.modalCloseImg {
    background: url(images/x.png) no-repeat;
    width: 25px;
    height: 29px;
    display: inline;
    z-index: 3200;
    position: absolute;
    top: -15px;
    right: -16px;
    cursor: pointer;
}

h2.event-submission-preview {
    margin-top: 10px;
    font-size: 20px;
    margin-bottom: 5px;
}

/* Container for the whole form */
.new-event-form {
    width: 650px;
/* Section labels are bigger than normal */
/* A red that's not too bright */
/* Labels for the individual controls on the left side */
/* Controls, instructions, etc. that go with a label */
/* textarea for entering event description */
/* Actions at the bottom of the form */
/* help text */
/* Indent the radio button */
/* Error message field */
}

.new-event-form h2.event-submission-section {
    margin-top: 10px;
    font-size: 20px;
}

.new-event-form .event-submission-label {
    width: 130px;
    clear: both;
    float: left;
    margin-bottom: 20px;
}

.new-event-form .event-submission-label.error {
/* Wrap the label in a span, so the underline only goes

       * under the text, not the whole width of the div.

       */
}

.new-event-form .event-submission-label.error span {
    border-bottom-style: solid;
    border-bottom-color: #900;
    border-bottom-width: 3px;
}

.new-event-form .new-event-controls {
    width: 520px;
    float: right;
    margin-bottom: 20px;
}

.new-event-form h3.event-submission-label,
.new-event-form div.event-submission-label h3 {
    font-size: 16px;
	margin: 0;
}

.new-event-form input.fullwidth {
    width: 468px;
}

.new-event-form input.narrower {
    width: 77%;
}

.new-event-form #event_descr {
    width: 468px;
    height: 15em;
}

.new-event-form input[type='text'],.new-event-form input[type='email'],.new-event-form input[type='url'] {
/* override a setting in the theme's stylesheet */
    margin-bottom: 0;
}

.new-event-form .new-event-actions {
    clear: both;
    margin-top: 15px;
    padding: 5px;
    background-color: gray;
}

.new-event-form .new-event-actions input[type='submit'] {
    font-size: 17px;
    font-weight: 700;
}

.new-event-form label {
   display: inline-block;
}

.new-event-form label.disabled {
    color: grey;
}

.new-event-form .help,.new-event-form tr.dates-table-tip {
    font-style: italic;
}

.new-event-form .help.hideemail,.new-event-form tr.dates-table-tip.hideemail {
    margin-left: 20px;
}

.new-event-form .email-controls {
    margin-top: 5px;
}

.new-event-form #datelist-container {
    width: 478px;
    max-height: 300px;
    overflow-y: auto;
    border: 1px solid #d9d9d9;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 20px;
    padding-left: 20px;
}

.new-event-form .dates-table-tip td {
    border-top: none;
}

.new-event-form #event-during-festival {
    margin-left: 20px;
}

.new-event-form .datelist select { 
    margin-bottom: 0;
}

.new-event-form .newsflash {
    width: 100%;
}

.new-event-form .optional {
    color: gray;
    font-size: 12px;
}

.new-event-form .error-messages {
    border-style: solid;
    border-color: #900;
    border-width: 2px;
    margin: 0;
    padding: 5px;
    padding-left: 10px;
/* Tighten up spacing between intro paragraph & list */
}

.new-event-form .error-messages p {
    margin-bottom: 0;
}

.new-event-form .error-messages ul {
    margin-top: 0;
}


.new-event-form input[type="radio"],
.new-event-form input[type="checkbox"] {
    margin: 0;
}

.new-event-form #submission_action {background: green;}
.new-event-form #delete_button {color:#ccc; background: darkred;}

#sponsors .b-5 {
    width: 30%;
    vertical-align: middle;
    display: inline-block;
    float: unset;
}

#sponsors .b-5 img {
    display:block;
    margin:auto;
}

.color-unset * {color:unset;}

/* May 18, 2019, Steve Kisby: Added this to tighen up the line spacing on the calendar grid. It didn't work. */
.overview-calendar table {
    line-height: 1.5;
}

