/*color containg root style*/
 :root {
     --mainBackground: #7dcbf5;
     --hrColor: red;
     --signInUpButtons: #007ac2;
     --signInUpSubmitButtons: #19a9fc;
     --surveyToggle: #21b8de;
     --surveyHover: #48d4f7;
     --tabColor: rgb(255,160,184);
     --tabGlow: rgba(255, 0, 0, 0.3);
     --homeMarkerLabel: #1494d9;
     --awayMarkerLabel: rgb(255, 25, 50);
     --homeMarker: #30aef2;
     --awayMarker: rgb(255, 75, 75);
     --homeMarkerHover: #4cbaf5;
     --awayMarkerHover: rgb(255, 80, 125);
     --preVideoBackground: #8fdfff;
     --homeSliderColor: #20a2e8;
     --awaySliderColor: rgb(255, 75, 75);
     --statButtonColor: rgb(255,160,184);
     --statTableBackground: #a5c2f2;
     --addRowColumnHover: rgb(205, 255, 255);
     --rosterButtonColor: rgb(255,160,184);
     --rosterButtonHoverColor: rgb(255,120,144);
}
/*end of root style*/
/*start of general styles*/
/* contains the color of the background*/
body {
    display: flex;
    justify-content: center;
    flex-direction: column;
    background-color: var(--mainBackground);
    font-family: 'itim', cursive;
}
 hr {
     width: 100%;
     height: 5px;
     background-color: var(--hrColor);
     border-color: var(--hrColor);
}
 .hidden {
     display: none !important;
}
/*end of general styles*/
/*start of header section*/
 #headerSection {
     display: flex;
     justify-content: left;
}
 #logoImage {
     width: 85px;
     height: 85px;
     border-radius: 50%;
     margin: 10px;
}
 #header {
     font-family: 'itim', cursive;
     font-size: 35px;
     color: white;
     text-shadow: -1px -1px 0 black, 1px -1px 0 black, -1px 1px 0 black, 1px 1px 0 black;
     margin: 10px;
     display: flex;
     align-items: center;
}
/*end of header section*/
/*start of login section*/
 #logInTab {
     display: flex;
     justify-content: center;
}
 #loginContainer {
     display: flex;
     flex-direction: column;
     width: 60%;
     justify-content: center;
     text-align: center;
     background-color: white;
     padding: 20px 30px;
     border-radius: 12px;
     box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
 #emailLoginHeader {
     display: flex;
     justify-content: center;
}
 #emailHeader {
     padding-left: 8px;
     font-size: 30px;
     font-family: Tahoma, sans-serif;
}
 #email-form {
     display: flex;
     flex-direction: column;
}
 #email, #password {
     margin-top: 10px;
     margin-bottom: 10px;
     padding: 13px;
     font-size: 16px;
     border-radius: 8px;
}
 #email:hover, #password:hover {
     border: 2px solid var(--signInUpButtons);
}
 #emailSubmit {
     background-color: var(--signInUpSubmitButtons);
     color: white;
     font-weight: bold;
     font-size: 18px;
     border: 2px solid var(--signInUpSubmitButtons);
     margin-top: 10px;
     margin-bottom: 10px;
     padding: 13px;
     font-size: 16px;
     border-radius: 8px;
}
 #emailSubmit:hover {
     background-color: var(--signInUpButtons);
     border: 2px solid var(--signInUpButtons);
}
 form#email-form input#email:focus, form#email-form input#password:focus {
     border: 2px solid var(--signInUpButtons);
     outline: none;
}
 #alteranteSignInOptionsText {
     display: flex;
     align-items: center;
     text-align: center;
     color: #555;
     margin-top: 8px;
     margin-bottom: 8px;
}
 #alteranteSignInOptionsText::before, #alteranteSignInOptionsText::after {
     content: "";
     flex: 1;
     border-bottom: 1px solid #aaa;
}
 #alteranteSignInOptionsText:not(:empty)::before {
     margin-right: 0.75em;
}
 #alteranteSignInOptionsText:not(:empty)::after {
     margin-left: 0.75em;
}
 #google-login {
     margin-top: 10px;
     margin-bottom: 10px;
     padding: 13px;
     font-size: 16px;
     border-radius: 8px;
     background-color: white;
     display: flex;
     align-items: center;
     justify-content: center;
     font-family: Tahoma, sans-serif;
}
 #google-login:hover {
     border: 2px solid var(--signInUpButtons);
}
 #signInErrorMessage {
     color: red;
}
 #signUpLink {
     color: var(--signInUpSubmitButtons);
}
 #signUpLink:hover {
     text-decoration: underline;
}
/*end of login section*/
/*start of signup section*/
 #signUpTab {
     display: flex;
     justify-content: center;
}
 #signUpContainer {
     display: flex;
     flex-direction: column;
     width: 60%;
     justify-content: center;
     text-align: center;
     background-color: white;
     padding: 20px 30px;
     border-radius: 12px;
     box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
 #emailSignUpHeader {
     display: flex;
     justify-content: center;
}
 #emailsSignUpHeader {
     padding-left: 8px;
     font-size: 30px;
     font-family: Tahoma, sans-serif;
}
 #signUp-email-form {
     display: flex;
     flex-direction: column;
}
 #signUpemail, #signUppassword {
     margin-top: 10px;
     margin-bottom: 10px;
     padding: 13px;
     font-size: 16px;
     border-radius: 8px;
}
 #signUpemail:hover, #signUppassword:hover {
     border: 2px solid var(--signInUpButtons);
}
 form#signUp-email-form input#signUpemail:focus, form#signUp-email-form input#signUppassword:focus {
     border: 2px solid var(--signInUpButtons);
     outline: none;
}
 #signUpemailSubmit {
     background-color: var(--signInUpSubmitButtons);
     color: white;
     font-weight: bold;
     font-size: 18px;
     border: 2px solid var(--signInUpSubmitButtons);
     margin-top: 10px;
     margin-bottom: 10px;
     padding: 13px;
     font-size: 16px;
     border-radius: 8px;
}
 #signUpemailSubmit:hover {
     background-color: var(--signInUpButtons);
     border: 2px solid var(--signInUpButtons);
}
 #alteranteSignUpOptionsText {
     display: flex;
     align-items: center;
     text-align: center;
     color: #555;
     margin-top: 8px;
     margin-bottom: 8px;
}
 #alteranteSignUpOptionsText::before, #alteranteSignUpOptionsText::after {
     content: "";
     flex: 1;
     border-bottom: 1px solid #aaa;
}
 #alteranteSignUpOptionsText:not(:empty)::before {
     margin-right: 0.75em;
}
 #alteranteSignUpOptionsText:not(:empty)::after {
     margin-left: 0.75em;
}
 #signUp-google-login {
     margin-top: 10px;
     margin-bottom: 10px;
     padding: 13px;
     font-size: 16px;
     border-radius: 8px;
     background-color: white;
     display: flex;
     align-items: center;
     justify-content: center;
     font-family: Tahoma, sans-serif;
}
 #signUp-google-login:hover {
     border: 2px solid var(--signInUpButtons) 
}
 #signUpErrorMessage {
     color: red;
}
 #signInLink {
     color: var(--signInUpSubmitButtons);
}
 #signInLink:hover {
     text-decoration: underline;
}
/*end of signup section*/
/*start of survey section*/
 #introSurveyTab {
     display: flex;
     justify-content: center;
}
 #survey {
     display: flex;
     flex-direction: column;
     width: 60%;
     justify-content: center;
     text-align: center;
     background-color: white;
     padding: 20px 30px;
     border-radius: 12px;
     box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
 .surveyHeader {
     display: flex;
     justify-content: left;
     align-items: center;
}
 .surveyHeaderText {
     margin-right: 5px;
}
 .accountTypeToggleButton, #submitSurveyButton {
     width: 45%;
     font-size: 20px;
     font-family: Tahoma, sans-serif;
     border-radius: 8px;
     border: solid 1px black;
}
 #submitSurveyButton {
     margin-top: 10px;
     background-color: var(--surveyToggle);
}
 #submitSurveyButton:hover {
     background-color: var(--surveyHover);
}
 .accountTypeToggleButton:hover {
     background-color: var(--surveyHover);
}
 .surveyToggledButton {
     background-color: var(--surveyToggle) !important;
}
 #firstName, #lastName {
     width: 90%;
     font-size: 18px;
     border-radius: 8px;
     border: solid 1px black;
}
 #surveyDisplayMessage {
     font-size: 30px;
     font-family: Tahoma, sans-serif;
}
/*end of survey section*/
/*start of tabs section*/
 #tabs {
     display: flex;
     justify-content: center;
}
 .tab {
     border: solid 2px black;
     font-family: 'itim', cursive;
     font-size: 35px;
     width: 30%;
     display: flex;
     justify-content: center;
     padding-right: 5px;
     padding-left: 5px;
     border-radius: 10px;
     margin-right: 4px;
     margin-left: 4px;
}
 .tab.hover-effect:hover {
     background-color: var(--tabColor) !important;
     transform: translateY(-2px);
}
 .glowing {
     box-shadow: 0 0 10px 5px var(--tabGlow);
     background-color: var(--tabColor) !important;
}
/*end of tabs section*/
/*start of marking section*/
 #markingTabTopContent {
     display: flex;
     border: solid 2px black;
}
 #markers {
     display: flex;
     flex-direction: column;
     flex-grow: 1;
}
 .markerRow {
     display: flex;
     flex-direction: row;
     justify-content: space-evenly;
     flex-grow: 1;
}
 .markerButton {
     display: flex;
     border: solid 1px black;
     padding-right: 5px;
     padding-left: 5px;
     padding-top: 3px;
     padding-bottom: 3px;
     font-family: 'itim', cursive;
     font-size: 40px;
     justify-content: center;
     align-items: center;
     flex-grow: 1;
}
 #homeLabel {
     background-color: var(--homeMarkerLabel);
}
 #awayLabel {
     background-color: var(--awayMarkerLabel);
     font-size: 44px;
}
 .home {
     background-color: var(--homeMarker);
     border-right: solid 2px black;
}
 .home:hover {
     background-color: var(--homeMarkerHover);
}
 .away {
     background-color: var(--awayMarker);
     border-left: solid 2px black;
}
 .away:hover {
     background-color: var(--awayMarkerHover);
}
#video {
    border-right: solid 2px black;
    background-color: var(--preVideoBackground);
}
#uploadLabel {
    font-family: 'itim', cursive;
}
/*timeline styles*/
 .slider-container {
     display: flex;
     align-items: center;
     position: relative;
     width: 100%;
     height: 20px;
     background: rgb(255, 255, 255);
     border: solid 2px black;
     border-radius: 10px;
}
 .slider {
     position: absolute;
     width: 100%;
     pointer-events: none;
     -webkit-appearance: none;
     background: none;
}
 .slider::-webkit-slider-thumb {
     -webkit-appearance: none;
     height: 20px;
     width: 20px;
     border-radius: 50%;
     cursor: pointer;
     border: 2px solid white;
}
/*timelines colors*/
 .blue.slider::-webkit-slider-thumb {
     background: var(--homeSliderColor);
}
 .red.slider::-webkit-slider-thumb {
     background: var(--awaySliderColor);
}
/*end of marking section*/
/*start of stats section*/
 #statsTabContent {
     display: flex;
     flex-direction: column;
}
 #statToggleTabs {
     display: flex;
     justify-content: center;
     width: 100%;
}
 .statToggleTab {
     display: flex;
     justify-content: center;
     border: solid 2px black;
     font-family: 'itim', cursive;
     padding: 4px;
     width: 50%;
     font-size: 15px;
}
 .addRow, .addColumn {
     text-align: center;
}
 .addRow:hover {
     background-color: var(--addRowColumnHover);
}
 .addColumn:hover {
     background-color: var(--addRowColumnHover);
}
 .editable-cell {
     color: blue;
     text-align: center;
}
 .table-input {
     width: 100%;
     padding: 2px 4px;
     box-sizing: border-box;
}
 table {
     width: 100%;
}
 table, th, td {
     border: 1px solid black;
     border-collapse: collapse;
     font-family: 'itim', cursive;
}
 table, th, td {
     background-color: var(--statTableBackground);
}
 #rosterButtons {
     display: flex;
     justify-content: space-evenly;
}
 .rosterButton, #clearStats {
     font-family: Tahoma, sans-serif;
     background-color: var(--rosterButtonColor);
     width: 19%;
     border-radius: 10px;
     font-size: 20px;
}
 .rosterButton:hover, #clearStats:hover {
     background-color: var(--rosterButtonHoverColor);
}
 .modal {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     display: flex;
     justify-content: center;
     align-items: center;
     background: rgba(0,0,0,0.5);
}
 .modal.hidden {
     display: none;
}
 .modalContent {
     background: white;
     padding: 20px;
     border-radius: 8px;
     min-width: 250px;
     text-align: center;
}
 .rosterSlotBtn {
     margin: 5px;
     padding: 8px 12px;
     border: 1px solid #ccc;
     border-radius: 7px;
     cursor: pointer;
}
 .rosterSlotBtn:hover {
     background: #f0f0f0;
}
 #closeRosterModal {
     margin-top: 10px;
}
 .tableTitles {
     font-family: 'itim', cursive;
     font-size: 25px;
     display: flex;
     align-items: center;
     text-align: center;
     color: #1c1d1f;
     margin-top: 8px;
     margin-bottom: 8px;
}
 .tableTitles::before, .tableTitles::after {
     content: "";
     flex: 1;
     border-bottom: 1px solid black;
}
 .tableTitles:not(:empty)::before {
     margin-right: 0.75em;
}
 .tableTitles:not(:empty)::after {
     margin-left: 0.75em;
}
 .toggledStatButton {
     background-color: var(--statButtonColor);
}
/*end of stats section*/
/*start of videos section*/
 #videoTabContent {
     display: flex;
     flex-direction: row;
}
 #homeVideoColumn, #awayVideoColumn {
     display: flex;
     align-items: center;
     flex-direction: column;
     width: 50%;
}
 .videosHeader {
     border: solid 2px black;
     width: 100%;
     font-size: 22px;
     text-align: center;
     padding: 3px;
     font-family: 'itim', cursive;
}
 #homeVideosHeader {
     background-color: #1494d9;
}
 #awayVideosHeader {
     background-color: rgb(255, 25, 50);
}
 .NoUploadMessage {
     font-size: 20px;
     font-family: 'itim', cursive;
}
 .categoryPlayer {
     display: flex;
     justify-content: center;
     flex-direction: column;
     width: 75%;
}
 .clipVideoHeader {
     width: 100%;
     background-color: rgb(225, 225, 225);
     font-family: 'itim', cursive;
     display: flex;
     justify-content: center;
     font-size: 18px;
     border-top: 2px solid black;
     border-left: 2px solid black;
     border-right: 2px solid black;
}
 .clipVideoControls {
     width: 100%;
     display: flex;
     justify-content: center;
     border-bottom: 2px solid black;
     border-left: 2px solid black;
     border-right: 2px solid black;
}
 .clipVideoControl {
     width: 50%;
     font-family: 'itim', cursive;
}
/*end of videos section*/

/*start of setting section*/
#settingsTabContent {
    display: flex;
    flex-direction: column;
}

#settingsToggleTabs {
    display: flex;
}

.settingsToggleTab {
    font-family: 'Itim', cursive;
    font-size: 22px;
    border: solid 2px black;
    padding: 6px;
    cursor: pointer;
}

#forms {
    display: flex;
    flex-direction: column;
    border: solid 2px black;
    background-color: #e0fbff;
    border-radius: 2px;
    padding: 5px;
}

.form {
    width: 100%;
}

.settingsSliders {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.settingsSlider {
    width: 92%;
}

.sliderLabel {
    width: 4%;
    font-size: 20px;
    text-align: center;
    margin: 4px;
}

.settingsSliderLabel {
    font-size: 25px;
    font-family: 'Itim', cursive;
    margin-left: 10px;
}

.infobit {
    font-weight: bold;
    cursor: help;
    color: #6b6e73;
}

[data-tooltip]::after {
    content: attr(data-tooltip);
    position: absolute;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease;
    background-color: #333;
    color: #fff;
    padding: 6px 10px;
    border-radius: 6px;
    white-space: nowrap;
    font-size: 14px;
    font-family: 'Itim', cursive;
    z-index: 1000;
}

[data-tooltip]:hover::after {
    visibility: visible;
    opacity: 1;
}

#settingsToggleTabs {
    display: flex;
    justify-content: center;
    width: 100%;
}

.settingsToggleTab {
    display: flex;
    justify-content: center;
    border: solid 2px black;
    font-family: 'itim', cursive;
    padding: 4px;
    width: 50%;
    font-size: 15px;
    background-color: #2db4e0;
}

.settingsToggleTab:hover {
    background-color: #0ba8db;
}

.settingsToggleTab.selected {
    background-color: #0697c7 !important;
}

.defaultMarkerCheckBox {
    font-family: 'itim', cursive;
    font-size: 20px;
}

#defaultMarkersList {
    display: flex;
    flex-direction: column;
}

.defaultMarkerButton {
    margin: 5px;
    font-size: 1rem;
    border-radius: 5px;
    background-color: #52a6fa;
    font-family: 'itim', cursive;
}

.defaultMarkerButton:hover {
    background-color: #419dfa;
}

.profile-container {
    display: flex;
    flex-direction: column;
    border: solid 2px black;
    background-color: #e0fbff;
    border-radius: 2px;
    padding: 5px;
}

.profile-container h1 {
    margin-top: 0;
}

.profile-field {
    margin: 12px;
}

.profile-label {
    font-weight: bold;
    font-size: 25px;
    color: #555;
}

.profile-value {
    margin-top: 4px;
    font-size: 18px;
}
