

body{
  scroll-behavior: smooth;
}


.loginmsg
{
    color: #df6868; /* Perfect Color for Red Message */
    margin-bottom: 12px;

    /* Make the message slightly centered between inputs and title without
       effecting the exsisting margin spacing before the message is displayed  */
    position: relative;
    top: -10px;
}


/* Login title area - icon hugging the title/subtitle. flex-wrap collapses it to a centered stack ( icon on top ) when space runs tight, no media query needed */
.logintitlearea
{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
}

.logintitleicon
{
    width: 54px;
    height: 54px;
    object-fit: contain;
    flex-shrink: 0; /* keep the icon its size while the text hugs beside it */
    filter: blur(0.5px); /* soften the crisp vector edges slightly at this large size */
}

.logintitletext
{
    text-align: left; /* title and subtitle hug the icon on wide screens */
    min-width: 0; /* let the title truncate instead of forcing the row wider */
}


/* Alignment box for the login button - mirrors an input field wrapper ( .labelinputarea sizing plus its inline width/margin )
   so the compact button pins to the exact left edge where the inputs begin above it. Centered by the panels text-align. */
.loginbtnarea
{
  display: inline-block;
  width: 45%; /* same as the login inputs */
  max-width: 400px; /* same cap as .labelinputarea */
  min-width: 100px; /* same floor as .labelinputarea */
  margin-right: 20px; /* match the inline margin the input wrappers carry so the centering lines up exactly */
  text-align: left; /* pin the compact button to the left edge - where the inputs begin */
}

/* Small screens - center the button ( inputs also go near full width at this breakpoint ) */
@media screen and (max-width: 550px)
{
  .loginbtnarea
  {
    width: 95%; /* match the inputs mobile width */
    text-align: center;
  }

  .loginbtnarea .basicbtn
  {
    width: calc(var(--loginbtnnaturalwidth) * 2); /* double the natural width on mobile - seeded from JS in login.php */
  }
}


.userwelcome {
  cursor: default;
  align-content: center;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
      margin-left:20px;

}


#headerlinks{
  /* Center Links */
  position:relative;
  top:50%;
  transform: translateY(-50%);
}


@media screen and (max-width: 550px) {
    #headerlinks {
        top: 0%;
        transform: none;
    }


    .userwelcome {
      position:relative;
    }


}

.logoutlink {
  position: absolute;
  right: 29px;

  /* Center Login Link - does not seem to inherit */
  top:50%;
  transform: translateY(-50%);
}




/* For revealing New Leads -- Experemental */
.newleadsbubble{
    border: solid #d0d3ff 1px;
    border-radius: 6px;
    margin-left: 25px;
    height: 45px;
    padding: 6px;
    margin-right: 25px;
}

.newleadsbubble:hover {

 box-shadow: 0px 0px 3px 2px #beb0ff;

}

#btnsection{
  margin-top:25px;

  /* Side spacing so the buttons and search bar are not flush to the edges.
     Padding is used instead of margin because HorizontalAlign forces margin:auto !important */
  padding-left:100px;
  padding-right:100px;
}


@media screen and (max-width: 750px)
{
   /* Drop the side spacing so the area goes edge to edge on small screens - matches #leadsarea */
   #btnsection{
       padding-left:0px;
       padding-right:0px;
   }
}

.logoutmsg {
  display: flex;
  justify-content: center;  /* horizontal */
  align-items: center;      /* vertical */
  height: 100%;             /* or any fixed height */
  text-align: center;
}




#leadsarea{
  margin-right:100px;
  margin-left:100px;

}


@media screen and (max-width: 750px)
{

   #leadsarea{

       margin-right:0px;
       margin-left:0px;


   }

 }

#leadcountermsg
{
   margin-right:20px !important;
   text-align:center !important;
   display:inline-block !important;
}


/* Text Area used for output */
.admintextbox {
  width: 100%;
  height: 276px;
  line-height: 35px;
  font-size: 15px;
  padding: 10px;
  border-radius: 11px;
  border: solid #cecece 1px;

}



.leadstatustag{
  width: 66%;
  text-align: center;
  padding: 3px;
  border-radius: 10px;
  color:black;
  border: solid #ececec 1px;

 position: relative;
 overflow: visible; /* ONLY this element allows overflow */

}


/*
  SUCCESSFUL lead status tag — a solid bubblegum pink so the tag stands out
  from the flat colored status tags.
*/
.successtag
{
  background: #FFCAE6; /* pastel bubblegum pink — lightened to match the other tag levels */
  color: #ffffff;
  font-weight: 700;
  text-shadow: 0 1px 2px #00000059;
  border: 1.5px solid #ffffff;
  box-shadow: 0 1px 3px #00000059;
}


/* Used within a details element */
.settingssection {
  font-size: 17px;
  cursor:default;
}


.settingssection summary {
  cursor:pointer;
}

/* put within a details element to allow proper padding */
.settingsubsect {
  padding-top: 20px;
  padding-left: 10px;
  padding-right: 10px;
}


.pagetextdesc {
  margin: 25px;
  text-align: center;
}



.leadeditor
{



}



/*
- - - - - - - - - - - - - - - -
  Collector Builder Styling
- - - - - - - - - - - - - - - -
*/

/* Color Choice for Collector Builder */
.colorchoice
{
    border: solid #e3e3e3 1px;
    border-radius: 12px;
    width: 100%;
    height: 40px;
    margin-bottom: 9px;
    cursor: pointer;
}

.previewiframe
{
    border: solid #c9c9c9 1px;
    border-radius: 5px;
    height: calc(100vh - 130px);
    width: 100%;
}


/* Custom Image class for the collector page - for better responsive look */
.collectorpageimg
{


}


/* Override classes within webappbuilder.css for this web app - Could use some cleaning */
@media screen and (max-width: 550px)
{

  .previewiframe
  {
    width: 100%;
  }

  .pageheader> .sectionsbox{
    flex-direction: column;
  }

  #headerlinks {
    width: 100%;
    margin-bottom: 13px;
  }

  .collectorpageimg
  {
    width: 400px;
  }


}
