/* FAMILY SCHEDULER ADDITIONAL STYLES */

/* fonts */

@font-face {
    font-family: ComicNeue-Regular;
    src: url('/static/fonts/ComicNeue-Regular.ttf');

}

/* stylings */


/*********** BASE NAVIGATION *************/

html {
    padding: 0px;
}

nav {
        z-index: 100;
        position: sticky;
        top: 0px;
        visibility: visible;
}

.navbox{
    
    background-image: linear-gradient(to top, darkseagreen , white);
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    border-bottom: darkseagreen;
}
.nav-link{
    
    color: blue;

}
a.nav-link:hover {
    color: darkseagreen;
}

#hamburger-menu {
    display: none;
}
div#menu {
        display: none;
}
#menu p {
    margin: 0px;
}
#menu p a {
    text-align: center;
    font-size: 1.5em;
    border: solid 1px gray;
    margin: 1px;
    background-image: linear-gradient(to top, darkseagreen , white);
}

div.fc-daygrid-event-harness {
    font-size: 12px;
}

h2.text-center.title {
    display: block;
}



/************* CALENDAR *******************/

#calendar {
    margin: 10px;
    padding: 10px;
    width: 100%;
    height: 900px;
   
}

h1 {
    font-family: 'ComicNeue-Regular', serif;
    font-size: 35px;
    background-color: darkseagreen;
    color: white;
    
}

.container {
    border: solid darkseagreen 1px;
    border-radius: 10px;
    margin: 10px;
    padding: 10px;
}

button.user-badges {
    font-size: 10px;
    min-width: 45px;
}
div#legend {
    position: relative;
    left: 15px;
}

#search-term {
    border: 1px solid mediumseagreen;
}
#search-results {
    display: none;
    height: 200px;
    overflow: scroll; 
    
}

#add-event-container {

    display: none;
    position: relative;
    left: 20px;

}
#edit-event-container {

    display: none;
    position: relative;
    left: 20px;
} 

#birthdays-btn {
    float: left;
    background-color: white;
    border: none;
    width: 40px;
    height: 40px;
    background-image: url("../images/birthday.png");
    background-repeat: no-repeat;
    background-size: 35px;
    background-position: center;
    margin: 0px 5px;
    
    text-align: center;
}
#birthdays-sort-btn{
    float: right;
    width: 30px;
    height: 30px;
}

#add-event-btn {
    float: right;
    font-size: 20px;
    background-image: url("../images/icons8-plus-100.png");
    background-size:cover;
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: center;
    margin: 0px 5px;
    width: 35px;
    height: 38px;
    text-align: center;
}

#edit-event-btn {
    float: right;
    background-color: darkgreen; 
    background-image: url("../images/icons8-pencil-drawing-100.png");
    background-size:cover;
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: center;
    margin: 0px 5px; 
    width: 35px;
    height: 38px;
}
#delete-event-btn {
    float: right;
    background-color: red; 
    margin: 0px 5px; 
    background-image: url("../images/icons8-waste-100.png");
    background-size:cover;
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: center;
    border-color: red;
    height: 38px;
    width: 35px;
}

.cancel-btn.btn.btn-primary.active{
    float: left;
    color: white;
    background-color: red;
}


div.upload-box {
    border: 1px dashed lightgray;
    width: 100px;
    height: 100px;
    background-color: #efefefef;
}

div.active {
    border: 2px dashed green;
    background-color: lightgreen;

}

#bgd-text {
    color: gray
}

.submit-btn {
    color: white;
    background-color: blue;
    width: 100px;
    height: 40px;
    float:right;
}



/*********** CUSTOM FULL CALENDAR STYLES ************/


/* background for todays date */
td.fc-daygrid-day.fc-day.fc-day-today {
    background-color: #ffff33;

}

#calendar-container {
    margin-top: 10px;
}

.fc .fc-toolbar {
    justify-content: flex-start;
}

td.fc-day-sat, td.fc-day-sun {
    background-color: #eeeeee;

}

.fc-highlight {
  background: green !important;
}


/* month week day buttons */

button.fc-dayGridMonth-button.fc-button.fc-button-primary{
    background-color: var(--fc-button-active-bg-color,#888);
    max-height: 25px;
    font-size: 12px;
    content: 'MONTH';
   
}

button.fc-timeGridWeek-button.fc-button.fc-button-primary {
    background-color: var(--fc-button-active-bg-color,#888);
    max-height: 25px;
    font-size: 12px;
}
button.fc-timeGridDay-button.fc-button.fc-button-primary {
    background-color: var(--fc-button-active-bg-color,#888);
    max-height: 25px;
    font-size: 12px;
}
button.fc-dayGridMonth-button.fc-button.fc-button-primary.fc-button-active {
    background-color: var(--fc-button-active-bg-color,#bbb);
    max-height: 25px;
    font-size: 12px;
    content: ''
}
button.fc-timeGridWeek-button.fc-button.fc-button-primary.fc-button-active {
    background-color: var(--fc-button-active-bg-color,#bbb);
    max-height: 25px;
    font-size: 12px;
}
button.fc-timeGridDay-button.fc-button.fc-button-primary.fc-button-active {
    background-color: var(--fc-button-active-bg-color,#bbb);
    max-height: 25px;
    font-size: 12px;
}


/*** PREV/NEXT BUTTONS ***/

div.fc-toolbar-chunk {
    margin-right: 10px;
    margin-left: 0px;
}

/*** PREVIOUS BUTTON ***/
button.fc-prev-button.fc-button.fc-button-primary {
    background-color: var(--fc-button-active-bg-color,darkseagreen);
    height: 35px;
    font-size: 18px;
}
button.fc-prev-button.fc-button.fc-button-primary.fc-button-active {
    background-color: var(--fc-button-active-bg-color,lightgreen);
    height: 35px;
    font-size: 18px;
}

/*** NEXT BUTTON ***/
button.fc-next-button.fc-button.fc-button-primary {
    background-color: var(--fc-button-active-bg-color,darkseagreen);
    height: 35px;
    font-size: 18px;
}
button.fc-next-button.fc-button.fc-button-primary.fc-button-active {
    background-color: var(--fc-button-active-bg-color,lightgreen);
    height: 35px;
    font-size: 18px;
}

/****** TODAY BUTTON *****/
/*
button.fc-today-button.fc-button.fc-button-primary {
    background-color: var(--fc-button-active-bg-color,#888);
    max-height: 25px;
    font-size: 12px;
} 
button.fc-today-button.fc-button.fc-button-primary.fc-button-active {
    background-color: var(--fc-button-active-bg-color,#888);
    max-height: 25px;
    font-size: 12px;
}
*/



button.fc-today-button.fc-button.fc-button-primary {
    display: block;
    background-color: darkseagreen;
    height: 35px;
    font-size: 18px;
    
}
div.fc-toolbar-chunk {
    float: right;
}


/***** calendar event dialog ****/
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
   float: none;
}

.ui-icon .ui-button-icon{
/*
    width: 60px;
    height: 60px;
*/

}

.close-button {
    color:red;
    width: 40px;
    height: 40px;
    font-size: 30px;
    text-align:center;
}


/*** TITLE DATE **/

h2#fc-dom-1.fc-toolbar-title {
    font-size: 1.3em;
    color: darkseagreen;
    margin-right: 10px;
    width: 73px;
}

/***** MODAL  ********/



/*********   PICTURES GALLERY  ************/


/* FOLDERS LIST */
li.folder{   
    width:40%;
    float:left;
    margin-right: 2px;
    list-style-type: none;
    margin: 3px;
    padding:3px;
    border: 1px solid darkseagreen;
    border-radius: 2px;
    word-wrap: break-word;
}   
li.folder:hover{
    border-color: forestgreen;
    color: forestgreen;
}
.folder a{
    text-decoration: none;
    color: white;
}
.folder a:hover {
    color: mediumseagreen;
}

#img-folder-list{
    display: none;
    z-index: 1000;
}
#folder-menu-btn{
    background-color: rgba(0,0,0,0.0);
    border: solid 1px darkseagreen;
    position: fixed;
    z-index: 1000;
/*    z-index: 1;*/
    right: 0px;
}
#folder-menu-btn img{
    width: 30px;
    height: 30px;
    
}
#slideshow-btn{
    display: block;
    background-color: rgba(0,0,0,0.0);
    border: solid 1px darkseagreen;
    position: fixed;
    z-index: 1000;
    right: 0px;
    top: 40%;
}



/* UPLOAD BOX */
div.upload-box {
    border: 1px dashed lightgray;
    border-radius: 15px;
    width: 90%;
    height: 200px;
    background-color: #efefefef;
    overflow: scroll;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 15px;
}
div.active {
    border: 2px dashed green;
    background-color: lightgreen;
}
#bgd-text {
    color: gray
}
.container.uploader {
    display: relative;
    clear:both;
    visibility: visible;
    background-color: darkseagreen;
    opacity: 50%;
    width: 300px;
    margin-right: auto;
    margin-left: auto;
}

/*  TO CUSTOMISE TOOLTIPS BASED ON 'TITLE' ATTRIBUTE
[title]:hover:after {
    opacity: 1;
    transition: all 0.1s ease 0.5s;
    visibility: visible;
}
[title]:after {
    content: attr(title);
    background-color: green;
    color: #fff;
    font-size: 100%;
    position: absolute;
    padding: 1px 5px 2px 5px;
    bottom: -1.0em;
    left: 100%;
    white-space: nowrap;
    box-shadow: 1px 1px 3px #222222;
    opacity: 0;
    border: 1px solid #111111;
    border-radius: 5px;
    z-index: 99999;
    visibility: hidden;
}
[title] {
    position: relative;
}
*/

/* ADDITIONAL SLIDER CSS IN static/css */
.slider-container {
    margin: 10px auto;
    max-width: 960px;
}
#slider {
    width: 100%;
    height: 400px;
    border-color:darkseagreen;
    border: none;
}
.slider-img {
    margin: 0px 3px;
}



/* LIGHTBOX PICTURE VIEWER */
/*SOURCE CODE:    https://codepen.io/nebo/pen/ONXejO*/

*{margin: 0; padding: 0;}
/*body{background-color: black;}*/

#lightbox-main {
    background-color: black;
    padding: 0px;
}
.lightbox-container
{
	width: 100%;
	height: 100%;
}
.trans
{
	transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-ms-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
}
.top
{   
    background-color: black;
	display: flex;
	width: 80vw;
	height: 80vh;
	margin-top: 10vh;
    margin-top:0px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10vh;
    overflow: scroll;
}
.top ul
{
	list-style: none;
	width: 100%;
	height: 100%;
    z-index: 1;
	box-sizing: border-box;
    padding: 0px;
}
.top ul li
{
	position: relative;
	float: left;
	width: 25%;
	height: 25%;
	overflow: hidden;
    border: solid black 1px;
}

.top ul li::before
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	content: '';
	color: white;
	opacity: 0.4;
	text-align: center;
	box-sizing: border-box;
	pointer-events: none;
	transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-ms-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
}
.top ul li:hover::before
{
	opacity: 0;
	background-color: rgba(0,0,0,0.90);
}
.top ul li img
{
	width: 100%;
	height: auto;
	overflow: hidden;
}
.lightbox
{
	position: fixed;
	width: 100%;
	height: 100%;
	text-align: center;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,.90);
	z-index: 999;
	opacity: 0;
	pointer-events: none;
}
.lightbox img
{
	max-width: 90%;
	max-height: 80%;
	position: relative;
	top: -100%;
	/* Transition */
/* 	transition: all 1s ease;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-o-transition: all 1s ease;
	-webkit-transition: all 1s ease; */
}
.lightbox:target
{
	outline: none;
	top: 0;
	opacity: 1;
	pointer-events: auto;
	transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-ms-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
}
.lightbox:target img
{
	top: 0;
	top: 50%;
	transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}
.arrow {
    position: fixed;
    font-size: 50px;
    font-weight: 100;
    text-shadow: 1px 1px darkslategray;
    top: 50%;
    z-index: 1000;
    text-decoration: none;
    font-family: 'ComicNeue-Regular', serif; 
    }
#next-arrow{
    color: darkseagreen;
    position: fixed;
    right: 20px;
    text-decoration: none;
}
#prev-arrow{
    color: darkseagreen;
    position: fixed;
    left: 20px;
    text-decoration: none;
}
#full-screen{
    position:fixed;
    color: blue;
    font-size: 30px;
    bottom:20px;
    left:50%;
    visibility: hidden;
}

.top ul li video::-webkit-media-controls {
     display: flex !important;
     opacity: 1 !important;
}


/**********  RECIPES PAGE  *************/
#recipes-main {
    background-color: white;
    padding: 0px;
}
/*
.top{
    background-color: white;
    padding: 0px;
}
*/

.container.uploader.add-recipe {
    display: none;
    position: absolute;
    top: 120px;
    width: 50%;
    margin-left: 25%;
    background-color: darkseagreen;
    opacity: 90%;
    z-index: 1001;
}

button.recipe-btn {
    display : block;
    margin: 20px;
}


/* RECIPES LINKS */
li.recipe-link{   
    list-style-type: none;
    margin: 0px 3px;
    word-wrap: break-word;   
}   
li.recipe-link:hover{
    color: forestgreen;
}
.recipe-link a{
    text-decoration: none;
    color: darkseagreen;
}
.recipe-link a:hover {
    color: mediumseagreen !important;
}


#recipe-list{
    position: relative;
    display: block;
}
#recipe-menu-btn{
    background-color: rgba(0,0,0,0.0);
    border: solid 1px darkseagreen;
}
#recipe-menu-btn img{
    width: 30px;
    height: 30px;
}
.recipe-card{
    display:none;
    margin:10px;
    padding:10px;
    border: 1px mediumseagreen solid;
    border-radius: 10px;
    margin-bottom: 10px;
}
.recipe-card h2{
    color: darkseagreen;
}
.recipe-card h4{
    color: gray;
}
.recipe-card p{
    white-space: pre-wrap;
}
.close-recipe-card{
    position: relative;
    float: right;
    opacity: 75%;
    font-size: 35px;
    font-weight: 100;
    padding: 0px 20px 7px;
    color: red;
    border: 1px red solid;
    border-radius: 30px;
    margin-bottom: 15px;
}
.edit-recipe-btn {
    display: inline-block;
    width: 40px;
    position: relative;
    font-size: 15px;
    background-color: #0a58ca;
    color: white;
    border-radius: 3px;
    text-align: center;
    margin-left: 15px;
    padding: 3px;
}
div.recipe-card img{
    position: relative;
    max-width: 95%;
}
.recipe-form{
    margin-bottom: 11px;
}

/******** TODO - MEETING PAGE **********/

div#todo-notes {
    height: 300px;
    overflow: scroll;
    font-size: 1em;
    
    
}

input#submit-btn {
    font-size: 1.3em;
    background-color: white; 
    color: red;
    border: none;
}
input#submit-btn:hover,active {
    background-color: pink;
}

input#todo-item:hover,active,visited {
    background-color: lightblue;
}

input#todo-item {
    padding: 0px; 
    margin: 0px;
}



/******** SHOPPING PAGE **********/
div#shopping-list {
    height: 350x;
    overflow: scroll;
    font-size: 1em;
}

div#shopping-list ul {
    padding: 0px;
}

div#shopping-list li {
    margin: 0px;
    padding: 0px;
}

div#shopping-list li {
    list-style-type: none;
}
div#shopping-list tr {
    width: 100%;
}
button.edit-btn {
    border: none;
    background-color: white;
}
button.delete-btn {
    border: none;
    background-color: white;
    font-size: 1.3em;
    background-color: white; 
    border: none; 
    color: red;
}
button.delete-btn:hover,active {
    background-color: pink;
}
button.check-btn {
    border: none;
    background-color: white;
    font-size: 1.3em;
    background-color: white; 
    border: none; 
    color: darkseagreen;
}
button.check-btn:hover,active {
    background-color: lightgreen;
}

div#shopping-list#edit-item input {
    border: none;
    padding: 0px; 
    margin: 0px; 
    
}
button.plain-btn {
    border: none;
    background-color: white;
    margin: 5px;
}
input#edit-item:hover,active,visited {
    background-color: lightblue;
}

div#shopping-list#edit-item button {
    border: none;
}
button.edit-btn img  {
    width: 18px;
    height: 18px;
}


#shop-menu p {
    margin: 0px;
}



#shop-menu{
/*
    display:flex;
    position: relative;
    float: left;
*/
}
#shop-menu p a {
    text-align: center;
    font-size: 0.9em;
    border: solid 1px gray;
    margin: 1px;
    display:block;
/*    background-image: linear-gradient(to top, darkseagreen , white);*/
    background-image: radial-gradient( white, white, darkseagreen);
    color:blue;
}

.grid-container {
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-gap: 20px;
}

input#item {
    background-image: url('../images/icons8-pencil-drawing-100-aqua.png');
    background-size: 22px;
    background-repeat: no-repeat;
    background-position: left;
    text-indent: 20px;
    /* Extra Styling */
    
    
}

input#item:focus {
    background-image:none;
    text-indent:0px
}
input#edit-item {
    width:90%;
}
#cart-icon {
    float: left;
    margin: 0px 5px; 
    width: 35px;
    height: 38px;
}

#checklist-icon {
    float: left;
    margin: 0px 5px; 
    width: 35px;
    height: 38px;
}



.roster-form-item {
    margin: 20px 10px;
}




/************** ROSTERS - DRAG  AND DROP  *******************/


#roster-link {
    
    margin: 20px 10px; 
}
#roster-link a{
    text-decoration: none;
    color: white;
    background-color: #0a58ca;
    border-radius: 5px;
    padding: 7px;

}

div#drop-area {
  border: 2px dashed #ccc;
  border-radius: 20px;
  width: 480px;
  font-family: sans-serif;
  margin: 100px auto;
  padding: 20px;
}
div#drop-area.highlight {
  border-color: purple;
}
p {
  margin-top: 0;
}
.my-form {
  margin-bottom: 10px;
}
#gallery {
  margin-top: 10px;
}
#gallery img {
  width: 150px;
  margin-bottom: 10px;
  margin-right: 10px;
  vertical-align: middle;
}
.button {
  display: inline-block;
  padding: 10px;
  background: #ccc;
  cursor: pointer;
  border-radius: 5px;
  border: 1px solid #ccc;
}
.button:hover {
  background: #ddd;
}
#fileElem {
  display: none;
}

#billings-results{
    margin: 15px;
    border: 1px solid gray;
}

#billings-results table {
    position: relative;
    width: 100%;
}
#billings-results td {
    padding: 5px 10px;
    border: 1px solid gray;
}
#billings-results th {
    padding: 5px 10px;
    border: 1px solid gray;
}

div.upload-billings-container {
    padding-right: 30px;
    width: 100%;
}




/************** RESPONSIVE *******************/
/*
*
**
**
**

/****** SMALL SCREEN ************
*
*

*/


@media only screen and (min-width: 0px) and (max-width: 767px) {
    
html {
    width: 100%;
    margin: 0px;
    padding 5px;
}

.container {
    padding: 5px;
    margin: 3px;
}


#add-event-container {

    display: none;
    position: absolute;
    right: 100px;
    top: 205px;
}
#edit-event-container {

    display: none;
    position: absolute;
    right: 100px;
    top: 205px;
} 

#hamburger-menu {
    
    display: flex;
    border: none;
    background-color: transparent;
    background-image: url("../images/icons8-menu-rounded-100.png");
    background-size: 35px;
    background-repeat: no-repeat;
    background-position: right;
    width: 35px;
    height: 35px;
    margin: 0px;
}
#app-title {
        display: none;
    }
    
    
h2.text-center.title {
    display: none;
    }
    

#search-term { 
    width: 80%;
    }
    
/* CALENDAR EVENT DIALOG CLOSE BUTTON icons larger on mobile  */

/*
.ui-icon-closethick {
    width: 60px;
    height: 60px;
}
.ui-icon-closethick { 
    background-position: -96px -128px;
    background-size: 1024px 960px;
    background-position: -388px -512px;
    background-image: none;
}
    
.ui-icon {
    width: 60px;
    height: 60px;
    background-image: none;
}
    
*/

/* GALLERY LIGHT BOX */
.top {
	display: flex;
	width: 100vw;
	height: 100vh;
    background-color: black;
    overflow: scroll;
    }
    
.top ul li{
	position: relative;
	float: left;
	width: 50%;
	height: 25%;
/*    height: auto;*/
	overflow: hidden;
    }

.container.uploader {
    visibility: hidden;
 }


#slideshow-btn {
    display: none;
}
    
    
button.fc-today-button.fc-button.fc-button-primary {
    display: none;
    }

/*RECIPES */
.container.uploader.add-recipe {
    visibility: visible;
    width: 100%;
    position: absolute;
    top: 50px;
    margin-left: 0px;
    opacity: 100%;
}

ul#recipe-list{
    padding: 0px;
    }
div.recipe-card{
    width: 100%;
    margin: 0px;
    }
.recipe-container{
    top: 50px;
    margin: 0px;
    }
    
}

    
/**
**
**
**
**
/************ MEDIUM SCREEN *******
*
**
**
**
***/
    
@media screen and (min-width: 768px) and (max-width: 1365px) {
     
#hamburger-menu {
    display: none;
}
    
div#menu {
        
    display:none;
}
    
}

