/* your styles go here */

/*

=====================
CALENDAR
=====================

*/

.calendar {
    color: #2065a1;
    font-size: 16px;
}
.calendar .datepicker {
    width: 100%;
}
.calendar .datepicker .table-condensed {
    width: 100%;
    margin-bottom: 30px;
}
.datepicker table tr td.day:hover, .datepicker table tr td.focused {
    background: #FFFFF8;
}
.datepicker .datepicker-switch:hover, .datepicker .next:hover, .datepicker .prev:hover, .datepicker tfoot tr th:hover {
    background: #FFFFF8;
}
.datepicker table tr td span:hover {
    background: #FFFFF8;
}


/*

=====================
SIDEBAR
=====================

*/

#sidebar {
    padding-top:20px;
}
.sidebar-logo {
    margin-bottom: 30px;
}

.sidebar-logo .img-responsive {
    max-width: 250px;
    margin-left: 0;
}

.sidebar-menu li {
    margin-left: 15px;
}

.sidebar-menu li.root {
    margin-left: 0px;
    font-size: 1.2em;
}


/* enlaces del menú izquierdo (quiénes somos, dónde estamos) */
.sidebar-links.admin {
    border: 1px solid;
    border-radius: 15px;
    border-color: #ccc;
    padding: 10px 0px 10px 20px;
    background-color: #e1e7ee;
}
.sidebar-links {
    display:inline-block;
    padding-left: 0px;
}
.sidebar-links li {
    list-style-type: none;
    line-height: 60px;
    text-decoration: none;
    float:left;
    width: 100%;
}
.sidebar-links a {

}
.sidebar-links a i {
    margin: 0 10px 10px 0;
    color: #fff;
    display: inline-block;
    width: 40px;
    height: 40px;
    border-radius: 20px;
    line-height: 40px;
    font-size: 15px;
    text-align: center;
    vertical-align: bottom;
    border: solid 1px #999999;
    color: #999999;
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}


/* offcanvas sidebar: es demasiado estrecho y el calendario queda montado por debajo de los eventos,
   lo arreglamos así */

@media only screen and (max-width: 767px) {
    .row-offcanvas-left.active {
        left: 250px;
    }
    .sidebar-offcanvas {
        width: 260px;
        left: -250px !important;
    }
}

/*

=====================
SMALL NAVBAR
=====================

*/
.small-navbar {
    margin-bottom: 0px;
    padding: 10px;
}
.small-navbar button {
    margin-top: 36px;
}
.small-navbar-heading {
    margin-top: -5px;
    margin-right:10px;
}
.small-navbar-heading img {
    max-width: 150px;
    margin-right:0px;
}
.small-navbar-heading a {
    font-size:11px;
}

/*

=====================
MASONRY
=====================

*/

/* position stamp elements with CSS */
.stamp {
    top: -5px;
    width: 100%;
    left:0%;
    margin-bottom: 20px;
    text-align:center;
}

.stamp h4 {
    font-size: 1.8em;
    color: #285e8e;
    /*text-shadow: 2px 2px 7px white;*/
    text-border: 1px solid black;
    letter-spacing: 4px;
}

.stamp h4 img {
    filter: hue-rotate(200deg) saturate(3);
}


/* masonry grid sizes depending on screen size */
@media only screen and (min-width: 768px) {
    div.related {
        margin-left: 0px !important;
    }
}
@media only screen and (max-width: 767px) {
    .masonry-item { width: calc(90%); margin-left:5%; }
    .grid-sizer { width: 100%; }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .masonry-item { width: calc(47%); }
    .grid-sizer { width: 50% !important; }
}
@media only screen and (min-width: 1200px) and (max-width: 1599px) {
    .masonry-item { width: calc(30%); }
    .grid-sizer { width: 33.333% !important; }
}
@media only screen and (min-width: 1600px) {
    .masonry-item { width: calc(23%); }
    .grid-sizer { width: 25% !important; }
}

/*

=====================
FORM
=====================

*/

form ul {
    list-style-type: none;
    padding: 0;
}

form ul li {
}

form ul li.photo, form ul li.attachment, form ul li.new-item {
    display: inline-block;
    width:100%;
    clear:both;
    margin-bottom: 15px;
}

kbd.label-info {
    background-color: #ddd;
    float: left;
    margin: 5px 10px 10px 0px;
}

kbd {
    width:100%;
}

form kbd label {
    background-color: #ddd;
    padding-top: 5px;
}

label {
    text-transform: none;
}

.form-group {
    margin-bottom:10px;
}

.nopadding {
    padding: 0 !important;
    margin: 0 !important;
}

.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
    margin-left:0px;
}

.vich-file label a {
    color:white;
}

div.panel, input.form-control, .btn {
    border-radius: 4px;
}

div.fileinput.fileinput-new, div.fileinput.fileinput-exists {
    display:block;
    margin:0;
}
div.fileinput-new.thumbnail, div.fileinput-exists.thumbnail {
    float: left;
    margin-right: 10px;
    max-width: 250px;
}

div.add-item-button {
    margin-top:10px;
    padding-top: 10px;
}

.fileinput .thumbnail {
    margin-bottom: 0px;
}

.select2 {
    margin-bottom: 10px;
}

/* Make Select2 boxes match Bootstrap3 heights: */
.select2-selection__rendered {
    line-height: 32px !important;
}

.select2-selection {
    height: 34px !important;
}


li.category {
    margin-bottom:15px;
}


/*

=====================
EVENT LIST
=====================

*/

span.notify-badge {
    position: absolute;
    right: -6rem;
    top: 1.9rem;
    background: orange;
    text-align: center;
    color: white;
    padding: 5px 10px;
    font-size: 1.8rem;
    z-index: 1000;
    transform: rotate(45deg);
    width: 200px;
    font-weight: bold;
    /*box-shadow: 0px 0px 22px #fff;*/
}
span.notify-badge.today {
    background: red;
    /*box-shadow: 0px 0px 22px #fff;*/
}


/*

=====================
EVENT DETAILS
=====================

*/
div#event-body {
    margin-top: 30px;
    margin-bottom: 20px;
}

div#event-body p {
    color: #000000;
}

div.content-column {
    padding-top: 20px;
}

h4, h5, h6 {
    color: #000000;
}

h5.tags, h6.tags {
    padding: 10px;
    background: #ddd;
    line-height: 1.3em;
    border: 2px dashed #285e8e;
    border-radius: 10px;
}
h5.tags {
    margin: 5px 0px 20px 0px;
    display: inline-block;
}
h6.tags {
    margin: 10px 0px 0px 0px;
}

/** font sizes >>> desktop */
@media only screen and (min-width: 1024px) {

    div#event-body {
        font-size: 2rem;
    }
    h1 {
        font-size: 4rem;
    }
    h2 {
        font-size: 3.7rem;
    }
    h3 {
        font-size: 3.5rem;
    }
    h4 {
        font-size: 2rem;
    }
    h5 {
        font-size: 1.7rem;
    }
    h6 {
        font-size: 1.5rem;
    }

    /* related events */
    .grid.related h5, .grid.related h6 {
        font-size: 1.3rem;
    }
}

/** font sizes >>> mobile */
@media only screen and (max-width: 1023px) {

    h1, h2, h3, h4, h5, h6 {
        line-height: 100%;
    }

    div.content-column {
        padding-top: 20px;
    }

    .stamp h4 {
        font-size: 1.3em;
        letter-spacing: 0px;
    }

    div#event-body {
        font-size: 1.8rem;
    }
    h1 {
        font-size: 3rem;
    }
    h2 {
        font-size: 2.7rem;
    }
    h3 {
        font-size: 1.7rem;
    }
    h4 {
        font-size: 1.6rem;
    }
    h5 {
        font-size: 1.5rem;
    }
    h6 {
        font-size: 1.4rem;
    }

    /* related events */
    .grid.related h5, .grid.related h6 {
        font-size: 1.3rem;
    }
}

/* rrssb buttons */
.rrssb-buttons {
    max-width: 425px;
}
.rrssb-buttons li a {
    border-radius: 5px;
    padding-top: 13px;
}
.content-column-content ul li:before {
    content: '';
}

/* custom SVG styles for social icons (TikTok, X) */
p.social a svg {
    vertical-align: middle;
    margin-bottom: 4px;
}
p.social a:hover svg path {
    fill: #2065a1;
    transition: fill 0.2s ease-out;
}
