:root{
    --black: black;
    --white: white;
    --logoPink: #e080dc;
    --logoDarkPink: #5e345c;
    --logoGreen: #28cab5;
    --lightGreen: #96e4d9;
    --darkGreen: #106355;
}

@font-face {
    font-family: 'Fredoka'; /* Give your font a name */
    src: url('./../img/fonts/fredoka-one.one-regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Roboto Flex';
    src: url('./../img/fonts/RobotoFlex-VariableFont_GRAD,XOPQ,XTRA,YOPQ,YTAS,YTDE,YTFI,YTLC,YTUC,opsz,slnt,wdth,wght.ttf') format('truetype');
    font-weight: 100 900; /* Range of weights the font supports */
    font-stretch: 25% 151%; /* Range of width the font supports */
  }


*{
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing: border-box;
}

html, body{
    height: 100%;
    width: 100%;
    font-size: 16px;
    overflow: hidden;
    font-family: 'Roboto Flex', sans-serif;
    font-variation-settings: 
        'wght' 400, /* Weight */
        'wdth' 100, /* Width */
        'opsz' 16,  /* Optical size */
        'GRAD' 0,   /* Grade */
        'slnt' 0,   /* Slant */
        'XTRA' 400, /* Extra Width */
        'XOPQ' 100, /* X-height Optical Size */
        'YOPQ' 100, /* Y-height Optical Size */
        'YTLC' 500, /* Lowercase Letters Size */
        'YTUC' 700, /* Uppercase Letters Size */
        'YTAS' 750, /* Ascender Size */
        'YTDE' 250, /* Descender Size */
        'YTFI' 700; /* Figure Style */
}
body{
    max-width: 500px;
}

input {
    padding-left: 5px;
}
input:invalid{
    background-color: pink;
}

table{
    border-collapse: collapse;
    width: 100%;
}

.gFrm{
  display: none;
  width: 100%;
  max-height: 100%;
  background-color: white;
  overflow: auto;
}

.gLabel{
    display: flex;
    flex-flow: column nowrap;
    gap: 1px;
    margin-top: 3px;
}
.gLabel input{
    height: 40px;
    display: block;
    border: 1px solid black;
    padding-left: 5px;
    width: 100%;
}
.gLabel select{
    height: 40px;
    display: block;
    border: 1px solid black;
    padding-left: 5px;
    width: 100%;
}

.gChkBoxLabel{
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 5px;
    margin-top: 5px;
}
.gChkBoxLabel input{
    height: 30px;
    width: 30px;
}

.gjs_textareaCon{
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.gjs_textareaCon textarea{
  resize: none;
  overflow: hidden;
  width: 100%;
  background-color: white;
  box-sizing: border-box;
  min-height: 30px;
  border: 1px solid black;
  border-radius: 3px;
  padding: 7.5px;
}
.gjs_textareaCon span{
    position: absolute;
    right: 10px;
    top: 2px;
    color: black;
    font-size: 8px;
}

.gFrmBody{
    padding: 5px 10px 5px 10px;
    width: 100%;
}

.gFrmHeader{
    font-family: 'Fredoka', sans-serif;
    display: flex;
    position: sticky;
    top: 0px;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    background-color: var(--logoPink);
    color: white;
    text-shadow: 2px 2px 3px black;
    padding: 5px 10px 5px 10px;
    font-size: 200%;
    width: 100%;
    z-index: 1;
}
.gFrmBackHeader{
    display: flex;
    flex-flow: row nowrap;
    gap:5px;
    justify-content: center;
    align-items: center;
}
.gFrmBackHeader .js_BtnBack{
    height: 30px;
    width: 30px;
}

.gFrmClose{
    height: 30px;
    cursor: pointer;
}
.gFrmEdit{
  height: 30px;
  cursor: pointer;
}
.gFrmSection{
    display: block;
    margin-top: 10px;
    margin-bottom: 5px;
    font-size: 130%;
    color: var(--darkBlue);
    text-decoration: underline;
}
.gFrmInput{
    height: 30px;
    display: block;
    border: 1px solid black;
    padding-left: 5px;
    width: 100%;
}
.gFrmSecHeader{
    display: block;
    font-size: 130%;
    font-weight: bold;
    margin-top: 10px;
    text-decoration: underline;
}

.gDoubleInputCon{
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-end;
    width: 100%;
    gap: 5px;
}

.gOneBtnBox{
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    margin: 15px 0 5px 0;
    width: 100%;
}
.gBigBtnSave{
    background-color: var(--logoGreen);
    color: white;
    padding: 10px 30px 10px 30px;
    border-radius: 5px;
    cursor: pointer;
    min-width: 80px;
    text-align: center;
    box-shadow: 2px 2px 5px black;
}
.gBtnBox{
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    gap: 15px;
    margin: 10px 0 5px 0;
    width: 100%;
}

.gBtnSave{
    background-color: var(--logoGreen);
    color: white;
    padding: 5px 10px 5px 10px;
    border-radius: 5px;
    cursor: pointer;
    min-width: 80px;
    text-align: center;
    box-shadow: 2px 2px 5px black;
}

.gBtnDel{
    background-color: white;
    color: red;
    padding: 5px 10px 5px 10px;
    border-radius: 5px;
    border: 1px solid red;
    cursor: pointer;
    text-align: center;
    margin-right: 10px;
    margin-left: 10px;
}
.gBtnBack{
    background-color: white;
    color: black;
    padding: 5px 10px 5px 10px;
    border-radius: 5px;
    border: 1px solid black;
    cursor: pointer;
    text-align: center;
    margin-right: 10px;
}
.gBtnFrame{
    color: var(--logoPink);
    border: 1px solid var(--logoGreen);
    padding: 5px 10px 5px 10px;
    border-radius: 5px;
    cursor: pointer;
    min-width: 80px;
    text-align: center;
    box-shadow: 2px 2px 5px black;

}
.gBtnPhoto{
    position: relative;
    height: 50px;
    width: 50px;
    background-image: url('../img/btnPhoto.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    border: 1px solid var(--lightBlue);
    margin-top: 10px;
}

.gMask{
    width: 100%;
    background-color: rgba(0,0,0,0.5);
    z-index: 3;
    display: none;
    position: absolute;
    margin: 0;
    padding: 0;
    top: 0;
    left: 0;
    text-align: center;
}
.gLoader{
    position: fixed;
    border: 8px solid var(--darkBrown);
    border-radius: 50%;
    border-top: 8px solid var(--lightBrown);
    border-bottom: 8px solid var(--lightBrown);
    width: 60px;
    height: 60px;
    top: calc(50% - 30px);
    left: calc(50% - 10px);
    margin-left: -30px;
    margin-top: -30px;
    -webkit-animation: spin 2s linear infinite; /* Safari */
    animation: spin 2s linear infinite;
}

#toolTip {
    padding: 5px;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.8);
    color: var(--white);
    display: none;
    z-index: 10;
    -webkit-transition: opacity 0.5s;
    -moz-transition: opacity 0.5s;
    -o-transition: opacity 0.5s;
    transition: opacity 0.5s;
}
  
#infoBox {
width: 250px;
background-color: white;
border-radius: 15px;
z-index: 4;
display: none;
position: absolute;
margin: 0;
padding: 15px;
text-align: center;
font-family: montserrat-light;
}
#infoBox header {
margin-top: 15px;
font-family: montserrat;
font-weight: bold;
font-size: 24px;
}
#infoBox img {
margin-bottom: 3px;
height: 50px;
width: 50px;
}
#infoBox p {
font-family: montserrat;
font-weight: bold;
font-size: 24px;
}
#infoBox .btnBox {
margin-top: 10px;
width: 100%;
clear: both;
}
#infoBox .btnBox div {
margin-bottom: 10px;
color: var(--white);
height: 40px;
line-height: 37px;
border-radius: 5px;
font-size: 24px;
cursor: pointer;
}

#dataListCon {
position: absolute;
display: none;
background-color: var(--white);
border: 1px solid var(--darkBlue);
z-index: 4;
max-height: 300px;
overflow-y: scroll;
}
#dataListCon .googleLogo{
    width: 144px;
    height: 18px;
    float: right;
}
#dataList {
width: 100%;
height: 100%;
text-align: left;
overflow-y: auto;
}
#dataList tr {
position: relative;
height: 40px;
}
#dataList td {
text-align: left;
border-bottom: 1px solid var(--darkGrey);
height: 25px;
cursor: pointer;
width: 100%;
padding-left: 5px;
vertical-align: middle;
}
#dataList td:hover {
    background-color: var(--darkBlue);
    color: white;
}
#dataList img {
height: 20px;
width: 20px;
display: inline-block;
}
#dataList .btnAdd{
    background-color: var(--lightBlue);
    color: black;
    padding: 5px;
    border-radius: 5px;
    max-width: 200px;
    text-align: center;
}
  
.formsCon{
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    width: 100%;
    height: 100%;
}
  /*FORM EMPLOYEE REVIEW*/
#frmCustomerReview{
    max-width: 400px;
    height: 100%;
    overflow-y: scroll;
}  

#frmCustomerReview input, #frmCustomerReview textarea{
    border-radius: 10px;
}
#frmCustomerReview .gLabel{
    font-weight: bold;
}

#frmCustomerReview .header{
    width: 100%;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
}

#frmCustomerReview .header .logoCon{
    padding: 10px;
}
#frmCustomerReview .header .logo{
    height: 90px;
}

#frmCustomerReview .header .campNameCon{
    display: flex;
    width: 100%;
    justify-content: center;
    background-color: black;
    color: white;
    padding: 5px;
    font-size: 150%;
} 

#frmCustomerReview .header .campDescrCon{
    font-family: 'Fredoka', sans-serif;
    display: flex;
    width: 100%;
    padding: 10px;
    background-color: var(--logoPink);
    font-size: 150%;
}
#frmCustomerReview .header .campDescrCon p{
    color: white;
    text-shadow: 1px 1px 3px var(--logoDarkPink);
}

#frmCustomerReview .header .campDurCon{
    display: flex;
    flex-flow: row nowrap;
    width: 100%;
    justify-content: center;
    background-color: var(--logoGreen);
    padding: 5px 5px 5px 0;
}
#frmCustomerReview .header .campDurCon .campDurLbl{
    font-weight: bold;
    font-size: 100%;
}

#frmCustomerReview .header .howToLbl{
    position: relative;
    font-family: 'Fredoka', sans-serif;
    font-size: 170%;
    top: +20px;
}
#frmCustomerReview .header .howToBorder{
    display: flex;
    flex-flow: column nowrap;
    padding: 0 5px 0 5px;
}
#frmCustomerReview .header .howToCon{
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-around;
    width: 100%;
    border-radius: 5px;
    background: linear-gradient(to right, var(--logoPink) 2px, transparent 2px) 0 0,
    linear-gradient(to right, var(--logoPink) 2px, transparent 2px) 0 100%,
    linear-gradient(to left, var(--logoPink) 2px, transparent 2px) 100% 0,
    linear-gradient(to left, var(--logoPink) 2px, transparent 2px) 100% 100%,
    linear-gradient(to bottom, var(--logoPink) 2px, transparent 2px) 0 0,
    linear-gradient(to bottom, var(--logoPink) 2px, transparent 2px) 100% 0,
    linear-gradient(to top, var(--logoPink) 2px, transparent 2px) 0 100%,
    linear-gradient(to top, var(--logoPink) 2px, transparent 2px) 100% 100%;
    background-repeat: no-repeat;
    background-size: 20px 40px;    
    padding: 20px 5px 10px 5px;
}
#frmCustomerReview .header .howToCon .howItem{
    font-size: 70%;
    position: relative;
    padding: 13px 13px 20px 13px;
    width: 28%;
    background-color: var(--logoGreen);
    border-radius: 30px 30px 0 30px;
    color: white;
    position: relative;
}
#frmCustomerReview .header .howToCon .howItem:nth-child(even){
    background-color: var(--logoPink);
}
#frmCustomerReview .header .howToCon .howNum{
    font-family: 'Fredoka', sans-serif;
    position: absolute;
    right: -10px;
    bottom: 0;
    color: var(--logoPink);
    font-size: 250%;
    -webkit-text-stroke: 1px #fff;
    text-shadow: 1px 1px 3px black;
      
}
#frmCustomerReview .header .howToCon .howItem:nth-child(even) .howNum{
    color: var(--logoGreen);
}

#frmCustomerReview .header .rateMe{
    margin-top: 20px;
    text-align: center;
    font-family: 'Fredoka', sans-serif;
    font-size: 210%;
    width: 100%;
    padding: 20px 0 20px 0;
    background-color: var(--logoPink);
    color: white;
    text-shadow: 2px 2px 5px var(--logoDarkPink);
}


#frmCustomerReview .siteCon{
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    gap: 5px;
}  
#frmCustomerReview .siteName{
    font-size: 150%;
    font-weight: bold;
}

#frmCustomerReview .empCon{
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    gap: 5px;
}  
#frmCustomerReview .empLogo{
    height: 150px;
    border-radius: 50%;
}
#frmCustomerReview .siteLogo{
    height: 150px;
}

#frmCustomerReview .empName{
    font-size: 150%;
    font-weight: bold;

}

#frmCustomerReview .rateStarsCon{
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    margin-top: 15px;
}
#frmCustomerReview .rateStarsCon .starCon{
    width: 18%;
    position: relative;
    transition: transform 0.3s ease;
}
#frmCustomerReview .rateStarsCon .starCon.grow{
    transform: scale(1.2); /* Increase size by 20% */
}
#frmCustomerReview .starCon .starNoCon{
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    font-weight: bold;
    font-size: 150%;
    text-shadow: 1px 1px 3px white;
    color: var(--logoGreen);
}
#frmCustomerReview .rateStarsCon img{
    width: 100%;
}

#frmCustomerReview .statementsCon{
    display: flex;
    flex-flow: column nowrap;
    gap: 8px;
    margin-top: 15px;
}
#frmCustomerReview .statementsCon .statement{
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 5px;
}
#frmCustomerReview .statementsCon .statement input{
    height: 25px;
    width: 25px;
    
}
#frmCustomerReview .statementsCon .statement div{
    font-weight: bold;

}

#frmCustomerReview .gjs_textareaCon{
    margin-top: 5px;
}

#frmCustomerReview .customerCon{
    margin-top: 15px;
}

#frmCustomerReview .rulesCon{
    background-color: var(--lightGreen);
    color: var(--darkGreen);
    padding: 5px;
    margin: 10px 0 10px 0;
}

#frmCustomerReview .tcs{
    margin-top: 5px;
    white-space: pre-wrap;
    font-size: 80%;
    border: 1px solid black;
    height: 200px;
    overflow-y: scroll;
}

#frmCustomerReview .tcAccept{
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    width: 100%;
    font-weight: bold;
    margin-top: 15px;
}
#frmCustomerReview .tcAccept input{
    border-radius: 10px;
}

#frmCustomerReview .waysCopyright{
    font-size: 90%;
    background-color: black;
    color: white;
    padding: 15px 0 15px 0;
    text-align: center;
    margin-top: 10px;
}


/*FORM EMPLOYEE TC ACCEPT*/
#frmEmpTC .tcs{
    margin-top: 5px;
    white-space: pre-wrap;
    font-size: 80%;
    border: 1px solid black;
    height: 130px;
    overflow-y: scroll;
}

#frmEmpTC .logoCon{
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: 100%;
}
#frmEmpTC .logoCon img{
    width: auto;
    height: 150px;
}
#frmEmpTC .logoCon .btnLoadPhoto{
    border: 1px solid var(--logoGreen);
    box-shadow: 1px 1px 3px black;
    cursor: pointer;
    padding: 5px;
    width: auto;
}


/*FORM THANK YOU*/
#frmThankYou{
    max-width: 300px;
}
#frmThankYou .logo{
    max-width: 100%;
}
#frmThankYou .lblThankYou{
    font-size: 150%;
    width: 100%;
    text-align: center;
}

#frmThankYou .moreCon{
    margin-top: 5px;
}

/*FROM TOKEN ERROR*/
#frmTokenError .centerCon{
    display: flex;
    width: 100%;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
}
#frmTokenError .centerCon img{
    max-width: 100%;
}

/*FORM EMPLYEE MENU*/
#frmEmpMenu{
    background-color: black;
    font-family: 'Fredoka', sans-serif;
}

#frmEmpMenu .logoCon{
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 10px 0 10px 0;
}
#frmEmpMenu .logoCon .logo{
    height: 100px;
}


#frmEmpMenu .lblSiteName{
    position: relative;
    width: 100%;
    text-align: center;
    font-size: 150%;
    text-decoration: underline;
    font-weight: bold;
}

#frmEmpMenu .menuCon{
    display: flex;
    flex-flow: column nowrap;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}
#frmEmpMenu .menuCon .btn{
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    color: white;
    font-size: 120%;
    gap: 5px;
    background-color: var(--logoGreen);
    padding: 10px;
    width: 200px;
    text-shadow: 1px 1px 1px black;
}

#frmEmpLeader{
    background-color: black;
    font-family: 'Fredoka', sans-serif;
}
#frmEmpLeader .logoCon{
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 10px 0 10px 0;
}
#frmEmpLeader .logoCon .logo{
    height: 100px;
}

#frmEmpLeader .rulesCon{
    background-color: var(--logoGreen);
    color: white;
    margin-bottom: 10px;
    padding: 5px;
}
#frmEmpLeader .rulesCon span{
    font-size: 120%;
    text-decoration: underline;
}
#frmEmpLeader .rulesCon ul{
    list-style-type: disc;
    list-style-position: inside;
}
#frmEmpLeader .tblLeader{
    background-color: white;
}
#frmEmpLeader .tblLeader th{
    background-color: var(--logoGreen);
    height: 20px;
}
#frmEmpLeader .tblLeader tr{
    border-bottom: 1px solid black;
}
#frmEmpLeader .tblLeader td{
    text-align: center;
}