/*
    Created on : Aug 1, 2015, 4:23:42 PM
    Author     : flominou
*/
@import url(https://fonts.googleapis.com/css?family=Roboto:400,300,700);
@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:400,300,700);

@import url('https://fonts.cdnfonts.com/css/poppins');

:root {
    --color-main:       #2c2a69;
    --color-pinkish:    #d92667;
}
.text-main {
    color: var(--color-main);
}
.text-pinkish {
    color: var(--color-pinkish);
}
.content-text p {
    text-indent: 2em;
}
footer {
    margin-top: 2em;
}

::-webkit-scrollbar {
    width: 0;
    background: transparent; /* make scrollbar transparent */
}

pre,
body {
    font-family: 'Poppins', sans-serif ;
    font-size: 15px ;
    min-width: 320px ;
}

/*[required].form-control {
        border-width: 2px ;
}*/

.fas.input-group-addon,
.fa-solid.input-group-addon {
    display: table-cell ;
}
.fas, .fa-solid, input[type="checkbox"] {
    margin-left: 0.2em ;
    margin-right: 0.2em ;
}
.fa-stack .fas,
.fa-stack .fa-solid {
    margin-left: auto ;
    margin-right: auto ;
}
.fa-mars, .fa-venus {
    font-weight: bold ;
}

header,h1,h2,h3,h4 {
    font-weight: bold;
}

.arrowed:first-letter,
.btn:first-letter,
h3:first-letter,
h4:first-letter,
dt:first-letter {
    text-transform: capitalize ;
}

header {
    z-index: 500 ;
    position: fixed ;
    height: 60px ;
}

header.affix,
header.affix-top {
    position: fixed ;
    height: 60px ;
}
header.affix nav {
    box-shadow: 0 5px 5px -3px #ececec ;
    margin-bottom: 0 ;
}
header.affix .navbar-brand {
    height: 60px ;
    padding-top: 1px ;
    padding-bottom: 1px ;
}
@media (max-width: 767px) {
    header p { display: inline ; }
    header.affix-top .navbar-brand {
        padding: 1px 15px;
    }
}
.navbar-brand {
    height: 60px ;
    padding: 5px 0;
}

header .dropdown-menu {
    font-size: 1em ;
}

header .dropdown-menu > li > a,
header .nav > li > a {
    color: white ;
}
header .nav > li > a > .caret { color: #d92667 ; }
header .nav > li > a > span.fas,
header .nav > li > a > span.fa-solid {
    display: none;
}

nav.navbar {
    background-color: white ;
    border: 0 ;
}
body > footer,
.navbar-right { color: white ; background-color: #2c2a69 ; }

@media (min-width: 768px) {
    header .nav > li > a {
        color: #2c2a69 ;
        border-left: 2px solid #ececec ;
    }
    header .nav > li:last-child {
        height: 60px;
    }
    header .nav > li:last-child,
    header .nav > li:last-child > a,
    header .nav > li:last-child > a:hover,
    header .nav > li:last-child > a:active
    { color: white ; background-color: #2c2a69 ; }
    header .nav .dropdown-menu > li > a,
    header .nav .dropdown-menu > li > a > .caret  {
        color: #2c2a69 ;
    }
    header .nav > li:last-child > a {
        color: #fff ;
    }
    header .nav > li > a {
        color: #000000 ;
        margin-left: 0 ;
        margin-bottom: 0 ;
        font-weight: 300 ;
    }
    .navbar-right {
        margin-right: 0 ;
        background: transparent ;
    }
    header .nav > li > a {
        margin-top: .8em ;
        line-height: 1em ;
        padding: .1em .6em;
    }
    header .nav > li .dropdown-menu { top: 100% ; font-size: .8em ;}
}
@media (min-width: 992px) {
    header {
        font-size: 1.2em ;
        height: 150px ;
    }
    header .nav > li {
        height: 150px ;
    }
    header.affix-top {
        height: 150px ;
    }
    header.affix .nav > li {
        height: 60px ;
    }
    header .nav > li > a {
        margin-top: -1.5em ;
        height: 2.4em ;
        line-height: 1em ;
        top: 50% ;
        padding-top: .7em ;
    }
    header .nav > li .dropdown-menu{ top: 60% ; }
    header.affix .nav > li .dropdown-menu{ top: 72% ; }
    .navbar-brand,
    header.affix-top .nav > li {
        height: 150px ;
    }
}
@media (min-width: 1200px) {
    header.affix-top {
        font-size: 1.4em ;
    }
}
header .navbar-toggle { background-color: #2c2a69 ; }
header .nav.navbar-right > li:last-child > a {
    margin-left: .1em ;
    margin-right: .1em ;
    border: none ;
}
header .nav > li > a {
    text-transform: uppercase ;
    font-weight: bold ;
}

.mainContent {
    min-height: 600px ;
}

body > footer > div {
    text-align: center ;
    padding: 2.5em ;
}
body > footer hr {
    width: 2em ;
    margin-top: 1em ;
    margin-bottom: 1em ;
}
body > footer a {
    color: white ;
}
body > footer a:focus,
body > footer a:hover,
body > footer a:active {
    color: #d92667 ;
}
body > footer img {
    max-width: 150px ;
}
body > footer .small .fas,
body > footer .small .fa-solid {
    display: none ;
}
body > footer ul {
    padding: 0 ;
    list-style-position: inside ;
}
body > footer .social {
}
body > footer .social ul {
    display: inline ;
    background: white ;
    padding: 3px 5px ;
    font-size: 2.8em ;
}
body > footer .social ul li {
    padding: 0 ;
}
body > footer .social a:focus,
body > footer .social a:active,
body > footer .social a:hover {
    text-decoration: none ;
}
body > footer .social span {
    display: none ;
}
body > footer .social span.fa-brands {
    display: inline ;
}
body > footer .social span.fa-twitter {
    color: #4099FF ;
}
body > footer .social span.fa-facebook {
    color: #3b5998 ;
}
body > footer .social span.fa-instagram {
    color: #3897f0 ;
}
body > footer .social span.fa-tiktok {
    color: #010101 ;
    text-shadow: 3px 3px 0 #EE1D52, -3px -3px 0 #69C9D0;
}
body > footer .social span.fa-linkedin {
    color: #0a66c2 ;
}

.arrowed:after {
    font-size: 0.8em;
    content: "\f054";
    margin-left: 1em;
}

.home h3 {
    color: #2c3e50;
    text-transform: uppercase;
    text-align: center;
    font-weight: 700;
    font-size: 32px;
    letter-spacing: 2px;
    margin-bottom: 30px;
}

@media (max-width: 768px) {
    .home h3 {
        font-size: 24px;
    }
}
.home > div > .row {
    margin-bottom: 4em ;
}
.home #agenda .col-md-4 {
    margin-bottom: 1.5em ;
}

/* HOME BANNER / PAGE TITLE */
header.signedIn .hideWhenSignedIn,
header .showWhenSignedIn {
    display: none;
}
header.signedIn .showWhenSignedIn {
    display: initial;
}

.header {
    margin-top: 80px ;
    margin-bottom: 2em;
    padding: 2em 0;
    color: #2c2a69 ;
    width: 100% ;
    background: linear-gradient(#f1effc, white);
/*
    background: #f1effc ;
    border-top: 1px solid #2c2a69;
    border-bottom: 1px solid #2c2a69;
    margin-bottom: -10em ;
    height: 20em ;
 */
}
.header h2 {
    text-transform: uppercase ;
    margin: 0;
}
h2 {
    text-align: center ;
}
.home .header { display: none ; }

#banner {
    margin-top: 4em ;
    margin-bottom: 1em ;
    position: relative ;
}
#banner img {
    width: 100% ;
}
p.carousel-caption {
    bottom: 0 ;
    left: 0;
    font-size: 1.1em ;
    text-transform: uppercase ;
    width: 100% ;
    text-align: center ;
    padding: .3em .2em ;
    background-color: rgba(255, 255, 255, 0.6) ;
    margin: 0 ;
    text-shadow: none;
    color: inherit;
}
#banner strong {
    color: #2c2a69 ;
}
.carousel-control .fas,
.carousel-control .fa-solid {
    color: white;
    font-size: 1.1em;
    position: absolute;
    top: 60%;
}
.left.carousel-control .fas,
.left.carousel-control .fa-solid {
    left: .5em;
}
.right.carousel-control .fas,
.right.carousel-control .fa-solid {
    right: .5em;
}
@media (min-width: 768px) {
    .header { margin-top: 90px ; }
    .carousel-control .fas,
    .carousel-control .fa-solid,
    p.carousel-caption {
        font-size: 1.6em ;
    }
    p.carousel-caption {
        padding: 1em ;
    }
}
@media (min-width: 992px) {
    .header { margin-top: 150px ; }
    #banner {
        margin-top: 10em ;
        margin-bottom: 2em ;
    }
    .carousel-control .fas,
    .carousel-control .fa-solid,
    p.carousel-caption {
        font-size: 2em ;
    }
}
@media (min-width: 1600px) {
    #gaillards_carousel {
        width: 1600px;
        left: -215px ;
    }
    #banner {
        margin-top: 0 ;
        height: 800px ;
    }
    .carousel-control .fa,
    p.carousel-caption  {
        font-size: 2.5em;
    }
    p.carousel-caption {
        width: 1170px ;
        left: 215px;
    }
}

/* END */

#blog .page-header {
    border-color: #ececec ;
}
#blog .entry {
    font-size: .8em ;
    border: 1px solid #facfe2 ;
    margin-bottom: 2em ;
    height: 20em;
    background-color: #fff ;
}
@media (min-width: 768px) {
    #blog .entry {
        font-size: 1em ;
    }
}
#blog .entry > div.image {
    display: inline-block ;
    width: 40% ;
    height: 100% ;
    background-repeat: no-repeat ;
    background-size: cover ;
    background-origin: padding-box ;
    background-position: center ;
}
#blog .entry > div.text {
    display: inline-block ;
    width: 60% ;
    height: 100% ;
    padding: 2em ;
    vertical-align: top ;
    text-align: center ;
    position: relative ;
}
#blog .entry .arrowed {
    font-weight: bold;
    position: absolute ;
    width: 100% ;
    bottom: 1em ;
    left: 0 ;
}
#blog .entry .arrowed:after {
    color: #d92667 ;
}
#blog .entry > div.text h3 {
    font-size: 1.4em ;
    color: #d92667 ;
    text-transform: uppercase ;
    margin-top: 0 ;
}
#blog .entry.featured {
    border: none ;
    background-color: #2c2a69 ;
}
#blog .entry.featured > div.image {
    -webkit-filter: grayscale(100%) ;
    filter: grayscale(100%) ;
}
#blog .entry.featured .arrowed:after,
#blog .entry.featured > div.text,
#blog .entry.featured > div.text h3 {
    color: #fff ;
}
#blog .entry.not-published  {
    border-style: dashed;
    background-color: #ececec ;
}
#blog .entry.not-published > div.text {
    /*text-decoration: line-through ;*/
}
#blog article section {
    font-size: 1.2em ;
    white-space: pre-line;
}
#blog article footer {
    text-align: right ;
}

#agenda h3 {
    display: block;
    text-align: center;
    width: 100% ;
    clear: left ;
    margin: 1em auto;
}
#agenda h3,
#agenda h4 {
    font-family: 'Roboto', sans-serif ;
    font-weight: bold ;
    text-transform: uppercase ;
    color: #d92667 ;
}
#agenda .label {
    padding: 4px 4px 3px;
}
#agenda .label.XV {
    background-color: mediumseagreen;
}
#agenda .label.TOUCH {
    background-color: darkturquoise;
}
#agenda ul {
    margin-bottom: 0 ;
}
#agenda a {
    white-space: nowrap ;
}
#agenda .well.today {
    border: 2px solid #2c2a69 ;
}

#agenda .canceled .day time,
#agenda .canceled .details b, 
#agenda .canceled .details h4 {
    text-decoration: line-through;
}
#agenda ._next .btn._attendees,
#agenda .canceled .btn._attendees {
    display: none;
}
#agenda ._next .today .btn._attendees{
    display: inherit;
}
#attendees .media {
    margin: 5px;
}
#attendees .media-left img {
    width: 100%;
}
#attendees .media-left > div {
    width: 80px; 
    height: 80px; 
    border-radius: 50%; 
    overflow: hidden;
}
#attendees ._absent .media-left img {
    filter: grayscale(1);
}
#attendees ._absent h4 {
    text-decoration: line-through;
}

.list#agenda .col-sm-6.col-md-4 {
    float: none ;
    width: 100% ;
}
.list#agenda .day,
.list#agenda .details,
.list#agenda h4, 
.list#agenda ul{
    display: inline-block ;
    vertical-align: top ;
    margin: 0 ;
    padding: 0 ;
}
.list#agenda .day {
    width: 15em ;
    text-align: center;
}
.list#agenda .details {
    padding-left: 1em ;
}
.list#agenda .day,
.list#agenda .details {
    float: left;
    display: block ;
}
.list#agenda .day time {
    font-weight: bold ;
    color: #2c2a69 ;
}
.list#agenda .day time small {
    font-size: 1em ;
    line-height: 1em;
    display: inline ;
    text-transform: uppercase ;
    margin: 0 .4em ;
}
.list#agenda h4 {
    font-family: 'Roboto', sans-serif ;
    font-weight: bold ;
    text-transform: uppercase ;
    color: #d92667 ;
    margin: 0 .4em ;
}
.list#agenda > .row .btn-toolbar {
    float: right ;
    margin-top: 0 ;
    display: block ;
}

.box#agenda .day,
.box#agenda .details {
    display: inline-block ;
    vertical-align: top ;
    margin: 0 ;
    padding: 0 ;
}
.box#agenda .day {
    width: 33% ;
    text-align: center;
    border-right: 1px solid #ececec;
}
.box#agenda .details {
    width: 67% ;
    margin-left: -1px ;
    padding-left: 1em ;
    border-left: 1px solid #ececec ;
}
.box#agenda .day time {
    font-size: 5em ;
    font-weight: bold ;
    text-align: center ;
    line-height: 1em;
    display: inline-block ;
    color: #2c2a69 ;
}
.box#agenda .day time small {
    font-size: 0.2em ;
    line-height: 1em;
    font-weight: normal ;
    display: block ;
    text-transform: uppercase ;
}
#locations > .row > div,
.box#agenda > .row > div {
    margin-bottom: 1em;
}
@media(min-width: 768px) {
    .box#agenda > .row > div {
        height: 12em ;
    }
    .box#agenda > .row > div .well {
        max-height: 12em ;
        overflow: auto ;
    }
}
.box#agenda > .row .btn-toolbar {
    margin-top: .2em ;
}

.album-link {
    position: relative;
    margin-bottom: 1em ;
    overflow: hidden ;
    height: 200px ;
}
.album-link img {
    z-index : 5 ;
    width: 100% ;
    position: absolute ;
    top: -60px ;
}
.album-link div {
    width: 100% ;
    height: 100% ;
    position: absolute;
    background : rgba(44, 42, 105, 0.6);
    z-index : 6 ;
    top: 0 ;
}
.album-link h4,
.album-link span {
    position: absolute;
    color: white ;
    z-index : 7 ;
}
.album-link h4 {
    text-transform: uppercase ;
    left: .5em ;
    bottom: 1em;
    width: 55%;
    font-size: 1.5em;
    font-weight: 300 ;
}
.album-link span {
    left: 1em ;
    bottom: .8em;
}
@media(min-width: 768px) {
    .album-link {
        height: 240px ;
    }
    .album-link h4 {
        font-size: 1.8em;
    }
}
@media(min-width: 992px) {
    .album-link {
        height: 280px ;
    }
    .album-link strong {
        font-size: 1.5em;
    }
}
@media(min-width: 1200px) {
    .album-link img {
        z-index : 5 ;
        top: -30px ;
    }
}

#photos .thumbnail {
    position: relative ;
}
#photos .thumbnail .caption {
    position: absolute ;
    bottom: 0 ;
    left: 0 ;
    width: 100% ;
}

#cbHelp {
    font-size: 1.1em;
}

#locations > .row .panel-body {
    max-height: 18em ;
    overflow: auto ;
}

form > fieldset > button[type="submit"] {
    display: block ;
    margin-left: auto ;
    margin-right: auto ;
}

#shop {
    width: 100% ;
    height: auto ;
    margin-top: 1em ;
    margin-bottom: 1em ;
}

/*.input-group-addon.fa {
        color: white  ;
        background: #2c2a69;
} ;
.input-group-addon.fa-calendar-o {
        background: inherit
}*/

/* ADMIN */

#usersList .btn-group-vertical {
    display: block ;
    margin-bottom: 5px ;
}

#account .btn-warning:active,
#account .btn-warning.active,
#usersList .btn-warning:active,
#usersList .btn-warning.active {
    /*  color: #fff;
      background-color: #ed9c28;
      border-color: #d58512;
      background-image: none;*/
    color: #fff;
    background-color: #47a447;
    border-color: #398439;
    background-image: none;
}

#usersList .fa-tint,
#account .fa-tint  {
    color: #d00 ;
}

#account .fa-stack,
#usersList .fa-stack {
    font-size: .75em;
}

#account address,
#account .dl-horizontal {
    margin-bottom: 0 ;
}

@media (min-width: 768px) {
    #account .dl-horizontal dt {
        width: 200px ;
    }
    #account .dl-horizontal dd {
        margin-left: 220px;
    }
}

#changes .progress-bar {
    min-width: 2em ;
}
#changes .panel ul {
    font-size: 0.8em ;
    margin-bottom: 0 ;
    text-align: right ;
}
#changes .panel ul.media-list {
    font-size: 0.9em ;
    text-align: left ;
}
#changes .panel ul.media-list ul {
    font-size: 0.9em ;
}

#changes .media-list img.media-object {
    width: 40px ;
}
#changes .media-list h4 {
    display: inline ;
    margin-right: 1em ;
    font-size: 1.1em ;
    font-weight: bold ;
}
#changes .panel .collapse form {
    margin-bottom: 1em ;
}

#signUpForm,
#contact .col-md-4 {
    margin-bottom: 1em ;
}

.panel-primary.red,
.panel-primary.red > .panel-heading {
    border-color : #b30d19 ;
}
.panel-primary.red > .panel-heading {
    background-color : #b30d19 ;
}
.panel-primary.pink,
.panel-primary.pink > .panel-heading {
    border-color : #d92667 ;
}
.panel-primary.pink > .panel-heading {
    background-color : #d92667 ;
}
dt {
    color : #2c2a69 ;
}
.btn-primary.active {
    font-weight: bold ;
    background-color: #d92667;
}

.fa-minus-circle:before {
    color: #dd0000 ;
}

/*bootstrap override*/

hr,
.well, .panel-default,
blockquote, .blockquote-reverse {
    border-color: #b5b2cf ;
}
.btn.btn-block {
    white-space: normal ;
}
.modal-header {
    background-color : #2c2a69 ;
    color: white ;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}
.close {
    color: white ;
    opacity: 0.4 ;
    text-shadow: none ;
}
@media (min-width: 768px) {
    .container {
        padding-left: 0 ;
        padding-right: 0 ;
    }
}

.btn-toolbar .form-control {
    width: auto ;
}

@media (max-width: 767px) {
    .btn-toolbar select.form-control {
        height: 40px ;
    }
}
.input-group-addon {
    padding: 6px ;
}

/* font awesome */
.dropdown-menu .fas,
.dropdown-menu .fa-solid {
    width: 1.5em ;
    text-align: center ;
    display: inline-block ;
}
a.dropdown-toggle > p + p + .caret {
    position: absolute;
    top: 1em;
    right: 0;
}
.navbar-nav {
    margin-top: 0 ;
    margin-bottom: 0 ;
}

.arrowed:after {
    font-family: 'Font Awesome 6 Free', auto;
}

label.btn > input[type="checkbox"] {
    display: none;
}
[data-toggle=buttons]:not(.btn-group) > .btn {
    margin: 0 .2em .2em 0;
}
.help-block {
    margin-bottom: 0;
}

dl.faq dd {
    margin-bottom: 30px;
}

/* V2 */

table tr > .col-id {
    width: 4rem;
}
table tr > .col-season {
    width: 12rem;
}
table tr > .col-email {
}

table tr > .col-id,
table tr > .col-season,
table tr > .col-email {
    display: none;
}

table.col-id tr > .col-id,
table.col-season tr > .col-season,
table.col-email tr > .col-email {
    display: table-cell;
}

.lastSeason .btn.resignUp {
    display: none;
}

table tr > .col-checkbox label {
    display: inline-block;
    width: 100%;
    text-align: right;
    font-size: 1.1em
}
table tr > .col-checkbox input {
    display: none;
}

#team .media {
    margin-bottom: 20px;
}
#team .media-body {
    padding-left: 10px;
}
#team .media-heading {
    font-weight: bold;
}
#team .media-left {
    min-width: 120px;
    width: 120px;
    height: 120px;
    max-height: 120px;
    overflow: hidden;
    position: relative;
    border-radius: 50%;
}
#team .media-left img {
    width: 120px;
    position: absolute;
}

#team li:first-letter {
    text-transform: capitalize;
}

#sponsors img {
    width: 120px;
}
