﻿/* PDCS Portal Custom Styles 2.1 */
.sw-box-links:hover{
    color:#000000;
    }
#button {
  display: inline-block;
  background-color: #FF9800;
  width: 50px;
  height: 50px;
  text-align: center;
  border-radius: 4px;
  position: fixed;
  bottom: 10px;
  right: 10px;
  transition: background-color .3s, 
    opacity .5s, visibility .5s;
  opacity: 0;
  visibility: hidden;
  z-index: 1000;
}
#button::after {
  content: "\f077";
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  font-size: 2em;
  line-height: 50px;
  color: #fff;
}
#button:hover {
  cursor: pointer;
  background-color: #333;
}
#button:active {
  background-color: #555;
}
#button.show {
  opacity: 1;
  visibility: visible;
}

h1, h2 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  letter-spacing: -2px;
  font-size: 30px;
}

h3 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  letter-spacing: -1.2px;
  font-size: 20px;
}

h4 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  letter-spacing: -1.2px;
  font-size: 25px;
}

fieldset {
    padding: 0;
    margin: 0;
    border: 0;
}

legend {
    font-size: 15px;
    font-weight: 500;
    color: #515656;
    margin: 0 0 10px 0;
}

.italic {
    font-style: italic;
}

.w600 {
   font-weight: 600;
}

.w500 {
   font-weight: 500;
}

w500 {
   font-weight: 600;
}

a {
	color: #244D9E;
	text-decoration: none;
	-webkit-transition: color .2s ease;
	-moz-transition: color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
}

a:hover {
	color: #002648; /*#4093f4; #0da6d7;
	text-decoration: underline;*/
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

a#button i.fa-arrow-up {
    color: #2C0055;

}

a#button:focus i.fa-arrow-up {
    color: #000; 
    outline: 2px solid #000; 
}



.bak-jigsaw a {
	color: #002648;
	text-decoration: none;
	font-weight: 600;
	-webkit-transition: color .2s ease;
	-moz-transition: color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
}

.bak-jigsaw a:hover {
	color: #ffffff; /*#4093f4; #0da6d7;
	text-decoration: underline;*/
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

hr.forms {
    border-top: 1px dotted #244D9E;
    margin: 0 0 5px 0;
    padding: 0 0 5px 0;
}

hr.help {
    border-top: 1px dotted #244D9E;
    margin: 5px 0 5px 0;
    padding: 0 0 5px 0;

}

.hrdiv {
    padding: 0;
    margin: 0;
}

.center {
    text-align: center;
}

.mp0 {
    margin: 0;
    padding: 0;
}

.sps-xs {
    height: 5px;
}

.sps-s {
    height: 10px;
}

.sps-m {
    height: 15px;
}

.sps-l {
    height: 20px;
}

.sps-xl {
    height: 25px;
}

.sps-xxl {
    height: 30px;
}


/* Portal */

.cust-info {
	background-color: #eee;
	padding: 20px;
	margin: 0 0 30px 0;
	-moz-box-shadow:  0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    -webkit-box-shadow:  0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	border-radius: 5px;
}

.mr0 {
	margin-right: 0;
}

.list-bak {
	background-color: #eee;
	padding: 15px;
	margin-bottom: 10px;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	position: relative;	
	border-radius: 5px;
}

.new-bak {
    padding: 2%; 
    background-color:#eee; 
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    margin: 0 0 8px 0;
}

.list-head { 
    background-color: #555;
    color: #fff;
    font-weight: 500;
}

.xxx {
    display: none;
    float: left;
}

.yyy {
    display: block;
}


.list {		
	float: left;
	width: 25%
}

.payments {
	width: 900px;
	float:right;
	text-align: right;
	margin: 10px 20px 0 0;
}

.balance {
	width: 900px;
	float: right;
	text-align: right;
	margin: 10px 20px 0 0;
}

.payments h3, .balance h3 {
	font-size: 18px;
	margin-bottom: 0;
	padding: 0;
	line-height: 20px;
}

.payments h3 {
	color: green;
}

.exec {
	color: green;
}

xmp { margin: 0 0;  padding: 0 10px 0 10px; background: #efe; color: #fff; width: 940px; }
xmp:before { content: ""; display: block; height: 1em; margin: 0 -5px -2em -5px; }


button, .xdata {
	border: none;
	padding: 12px 10px 12px 10px;
	margin: 0 0 8px 0;
	cursor: pointer;
	background-color: #eee;
	/* float: left; */
	text-align: left;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	border-radius: 5px;
}


button:hover { 
    background-color: #555;
    color: #fff;
}

button:hover span {    
    color: #fff;
}

.green {
    color: #4CAF50;;
}

.sec-box {
    overflow: hidden;
    border-radius: 10px;
    -webkit-box-shadow: 10px 15px 50px -10px rgba(0, 0, 0, 0.4);
    box-shadow: 10px 15px 50px -10px rgba(0, 0, 0, 0.4);
    padding: 15px;
    border: 1px #eee solid;
    margin: 0 0 30px 0;
}

.sec-box:hover {
    border: 1px #ddd solid;
}

.sec-box:hover i {
	-webkit-transition: color .2s ease;
	-moz-transition: color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
	transform: rotateY(360deg);
	transition: transform 1s;
    transform-style: preserve-3d;
}



button.red {
    color: #e60000;
    background: transparent;
    border: none;
    appearance: none;
    outline: none;
    transition: outline 0.2s ease;
}

button.red:hover {
    outline: 2px solid #e60000;
    outline-offset: 2px;
}

button.red:focus {
    outline: none;
}

button.red:focus-visible {
    outline: 2px solid #e60000;
    outline-offset: 2px;
}

button.close.red,
button.close.red.Xbutton {
    color: #e60000 !important;
    background: transparent !important;
    opacity: 1 !important;
    border: none !important;
    box-shadow: none !important; 
    outline: none !important;
    font-size: 2rem !important;         /* Good size for the X */
    line-height: 1 !important;
    padding: 0.25rem 0.5rem !important; /* Smaller clickable area */
    border-radius: 50% !important;
    width: 2.2rem !important;           /* Fixed width */
    height: 2.2rem !important;          /* Fixed height */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}

button.close.red:hover,
button.close.red:focus,
button.close.red.Xbutton:hover,
button.close.red.Xbutton:focus {
    color: #fff !important;
    background: #e60000 !important;
    outline: 2px solid #e60000 !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #e60000; /* Extra focus ring for clarity */
}

/* Modal button styling */
.ovfaDueModal-button {
    background-color: #244D9E !important;
    color: white !important;
    border: 2px solid #244D9E !important;
    border-radius: 5px !important;
    padding: 12px 18px 9px 18px !important;
    display: block !important;
    text-decoration: none !important;
    text-align: center !important;
    font-weight: bold !important;
    transition: all 0.3s ease !important;
}

.ovfaDueModal-button:hover {
    background-color: #1a3a7a !important;
    border-color: #1a3a7a !important;
    color: white !important;
    text-decoration: none !important;
}

.ovfaDueModal-button:focus {
    background-color: #ffffff !important;
    border-color: #244D9E !important;
    color: #244D9E !important;
    text-decoration: none !important;
    outline: 2px solid #244D9E !important;
    outline-offset: 2px !important;
}



.sr-only
{
position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
overflow: hidden;
clip: rect(0,0,0,0); border: 0;
}

/* Switchboard */

.sw-box {
    overflow: hidden;
    border-radius: 10px;
    -webkit-box-shadow: 10px 15px 50px -10px rgba(0, 0, 0, 0.4);
    box-shadow: 10px 15px 50px -10px rgba(0, 0, 0, 0.4);
    padding: 15px;
    border: 1px #eee solid;
    margin: 0 0 30px 0;
}

.sw-box:hover {
    border: 1px #ddd solid;
}

.sw-box:hover i
{
    color: #007ca7;
	-webkit-transition: color .2s ease;
	-moz-transition: color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
	transform: rotateY(360deg);
	transition: transform 1s;
    transform-style: preserve-3d;
}

.fa-style {
    color: #244D9E;
    font-size: 80px; 
    opacity: 0.8;
    -webkit-transition: color .2s ease;
	-moz-transition: color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
}

.fa-style-disabled {
    color: #aaaaaa;
    font-size: 80px; 
    opacity: 0.8;
    -webkit-transition: color .2s ease;
	-moz-transition: color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
}

.fa-s2 {
    font-size: 70px; 
    padding: 5px 0 5px 0;
}

.notes {
    overflow: hidden;
    border: 1px #ccc solid;
    border-radius: 20px;
    box-shadow: 10px 15px 50px -10px rgba(0, 0, 0, 0.4);
	padding: 20px;
	background-color: #fff;
	-moz-box-shadow: 10px 15px 50px -10px rgba(0, 0, 0, 0.4);
}

.range-form {
    overflow: hidden;
    border: 1px #ccc solid;
    border-radius: 10px;
	padding: 20px 20px 8px 20px;
	margin-bottom: 30px;
	background-color: #efefef;
	-moz-box-shadow:  0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    -webkit-box-shadow:  0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}


.supply-address, .dash-message, .test-data {
    overflow: hidden;
    border: 1px #ccc solid;
    border-radius: 10px;
    -moz-box-shadow: 10px 15px 50px -10px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 10px 15px 50px -10px rgba(0, 0, 0, 0.2);
    box-shadow: 10px 15px 50px -10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    padding: 15px;
    margin-bottom: 20px;
    background-color: #fff;
}

.dash-message p {
    margin-bottom: 2px;
}

.dash-message b {
    font-weight: 600;
}

.div-inshad {
    -moz-box-shadow: 0 30px 30px -30px rgba(0, 0, 0, 0.9) inset, 0 -30px 30px -30px rgba(0, 0, 0, 0.0) inset;
    -webkit-box-shadow: 0 30px 30px -30px rgba(0, 0, 0, 0.9) inset, 0 -30px 30px -30px rgba(0, 0, 0, 0.9) inset;
    box-shadow: 0 30px 30px -30px rgba(0, 0, 0, 0.9) inset, 0 -30px 30px -30px rgba(0, 0, 0, 0.9) inset;
}


.help-section-padding {
    padding: 90px 0 0 0;
}

.brand-padding {
    padding: 50px 0 40px 0;
}

.br-logo {
    padding: 0 0 10px 0;
}


.rot20 {
    transform: rotate(-10deg);
}

/* Eye Divider Icons */

.fa-style-eye {
    color: white;
    font-size: 160px; 
    opacity: 0.4;
    -webkit-transition: color .2s ease;
	-moz-transition: color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
}

.fa-style-pay {
    color: #244D9E;
    font-size: 160px; 
    -webkit-transition: color .2s ease;
	-moz-transition: color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
}


.fa-fs {
   font-size: 60px;
}
.fa-border{
    border: 2px solid #244D9E !important;
    border-radius: 50% !important;
    font-size: 30px !important;
    margin-right:10px;
    width:45px;
}

/* Text Form Button */

.text-button {
   border: none;
   background-color: transparent;
   cursor: pointer;
   padding: 0;
   margin-bottom: 0;   
   color: #0da6d7;  
}

.text-button:hover {
    color: #1b4298;
}

/* Check */

.tick:after
{content:'\2713';
  display:inline-block;
  color:green;
  padding:0 6px 0 0;
  }
.tick {list-style-type:none; font-size:1em; float: left;}

/* ################ */


*:before, *:after {
  box-sizing: inherit;
  -webkit-font-smoothing: antialiased;
}

input:focus {
  box-shadow: none;
  outline: 0;
}
inputx[type=text] {
  width: 400px;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 3px;
}

.mt0 {
	margin-top: 0;
}

.mt5 {
	margin-top: 5px;
}

.mt10 {
	margin-top: 10px;
}

.mt15 {
	margin-top: 15px;
}

.mt20 {
	margin-top: 20px;
}

/* Preloader */

.lds-ripple {
  display: inline-block;
  position: relative;
  width: 164px;
  height: 164px;
}
.lds-ripple div {
  position: absolute;
  border: 4px solid #fff;
  opacity: 1;
  border-radius: 50%;
  animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.lds-ripple div:nth-child(2) {
  animation-delay: -0.5s;
}
@keyframes lds-ripple {
  0% {
    top: 28px;
    left: 28px;
    width: 0;
    height: 0;
    opacity: 0.5; /* 1 */
  }
  100% {
    top: -1px;
    left: -1px;
    width: 58px;
    height: 58px;
    opacity: 0;
  }
}

/* Forms */

.home-form {
    overflow: hidden;
    border-radius: 10px;
    -webkit-box-shadow: 10px 15px 50px -10px rgba(0, 0, 0, 0.4);
    box-shadow: 10px 15px 50px -10px rgba(0, 0, 0, 0.4);
    padding: 20px;
    background-color: #ffffff;
}

.signin-form {
    overflow: hidden;
    border-radius: 10px;
    -webkit-box-shadow: 10px 15px 50px -10px rgba(0, 0, 0, 0.7);
    box-shadow: 10px 15px 50px -10px rgba(0, 0, 0, 0.7);
    padding: 20px;
    background-color: #ffffff;
}

.portal-form {
    overflow: hidden;
    border-radius: 20px;
    -webkit-box-shadow: 10px 15px 50px -10px rgba(0, 0, 0, 0.4);
    box-shadow: 10px 15px 50px -10px rgba(0, 0, 0, 0.4);
    padding: 25px 10px 10px 10px;
}

.mb0 {
	margin-bottom: 0 !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.pb10 {
	padding-bottom: 100px !important;
}

.z0 {
    z-index: 0;
}

/* Radio Buttons */
.control-group{
width:100%
}
.control {    
    display: inline-block;
    max-width: 100%;
    position: relative;
    text-align: justify;
    margin-bottom: 15px;
    cursor: pointer;
    color: #000;
    font-weight: 500;
}

.labelWidth{
    width:94%;
    float: left;
    padding-top: 2px;
}
.radioWidth{
    width:6%;
    float:left;
}
.labelWidthThree{
    width:89%;
    float: left;
    padding-top: 2px;
}
.radioWidthThree{
    width:11%;
    float:left;
}
@media screen and (max-width:550px){
    .labelWidth{
        width:89%;
        float: left;
        padding-top: 2px;
    }
    .radioWidth{
        width:11%;
        float:left;
    }
}
@media screen and (max-width:380px){
    .labelWidth{
        width:84%;
        float: left;
        padding-top: 2px;
    }
    .radioWidth{
        width:16%;
        float:left;
    }
    .labelWidthThree{
        width:79%;
        float: left;
        padding-top: 2px;
    }
    .radioWidthThree{
        width:21%;
        float:left;
    }
}
.radioStyling{
    width: 24px;
    height: 24px;
}



    .control input {
        position: absolute;
        z-index: -1;
        opacity: 0;
    }
.control_indicator {
    position: absolute;
    top: 2px;
    left: 0;
    height: 20px;
    width: 20px;
    background: #e6e6e6;
    border: 0px solid #000000;
}
.control-indicator-forms {
    position: absolute;
    top: 2px;
    left: 0;
    height: 20px;
    width: 20px;
    background: #ffffff;
    border: 0px solid #000000;
}

.control-radio .control_indicator,
.control-indicator-forms {
    border-radius: 50%;
}

.control:hover input ~ .control-indicator-forms,
.control input:focus ~ .control-indicator-forms,
.control:hover input ~ .control_indicator,
.control input:focus ~ .control_indicator {
    background: #cccccc;
}

.control input:checked ~ .control-indicator-forms,
.control input:checked ~ .control_indicator {
    background: #244D9E;
}

.control:hover input:not([disabled]):checked ~ .control-indicator-forms,
.control input:checked:focus ~ .control-indicator-forms,
.control:hover input:not([disabled]):checked ~ .control_indicator,
.control input:checked:focus ~ .control_indicator {
    background: #0e6647d;
}

.control input:disabled ~ .control-indicator-forms,
.control input:disabled ~ .control_indicator {
    background: #e6e6e6;
    opacity: 0.6;
    pointer-events: none;
}

.control-indicator-forms:after,
.control_indicator:after {
    box-sizing: unset;
    content: '';
    position: absolute;
    display: none;
}

.control input:checked ~ .control-indicator-forms:after,
.control input:checked ~ .control_indicator:after {
    display: block;
}

.control-radio .control-indicator-forms:after,
.control-radio .control_indicator:after {
    left: 7px;
    top: 7px;
    height: 6px;
    width: 6px;
    border-radius: 50%;
    background: #ffffff;
}

.control-radio input:disabled ~ .control-indicator-forms:after,
.control-radio input:disabled ~ .control_indicator:after {
    background: #7b7b7b;
}

.green {
    color: green;
}

.darkorange { 
    color: darkorange;
}

.deeppink { 
    color: deeppink;
}

.darkcyan { 
    color: darkcyan;
}

.test-data {
    color: #1175ab;
    color: #C71585;
    border: 1px #98D0C6 solid;
}

.ssfail-either {
    color: #ffffff;
}

.test-datax p {
    margin-bottom: 0;
}

/* Progress Bar */

.progress-bar-arrange {
	background-color: #002648;
}

/* Floating Contact */

.cta {
    display: block;
}

.float {
	position:fixed;
	width: 120px;
	height: 70px;
	bottom: 30px; /* 70px */
	right: 0;
	z-index: 100;
}

/* Tooltip */
/* Add this attribute to the element that needs a tooltip */
[data-tooltip] {
  position: relative;
  z-index: 2;
  cursor: pointer;
}

/* Hide the tooltip content by default */
[data-tooltip]:before,
[data-tooltip]:after {
  visibility: hidden;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  pointer-events: none;
  z-index: 100;
}

/* Position tooltip above the element */
[data-tooltip]:before {
  position: absolute;
  bottom: 100%;
  left: 50%;
  margin-bottom: 5px;
  /* margin-left: -80px; */
  margin-left: -35%;
  padding: 7px;
  /* width: 160px; */
  width: 70%;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  background-color-x: #aaa !important;
  background-color-x: hsla(0, 0%, 20%, 0.9);
  background-color: #0099e6;
  color: #fff;
  content: attr(data-tooltip);
  text-align: center;
  font-size: 14px;
  line-height: 1.2;
  z-index: 100;
}

/* Triangle hack to make tooltip look like a speech bubble */
[data-tooltip]:after {
  position: absolute;
  bottom: 100%;
  left: 50%;
  margin-left: -5px;
  width: 0;
  border-top: 5px solid #000;
  border-top-x: 5px solid hsla(0, 0%, 20%, 0.9);
  border-top: 5px solid #0099e6;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  content: " ";
  font-size: 0;
  line-height: 0;
  z-index: 100;
}

/* Show tooltip content on hover */
[data-tooltip]:hover:before,
[data-tooltip]:focus:before,
[data-tooltip]:hover:after,
[data-tooltip]:focus:after {
  visibility: visible;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
  z-index: 100;
}

/*
input[type=password], input[type=text], input[type=date], input[type=number], input[type=email], select, textarea {
    width: 100%;
    padding: 10px 18px;
    margin: 0 0 15px 0;
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
    border-left: 5px solid;
    transition: border-color .5s ease-out;
    outline: none;
}

.loginform input:optional {
  border-left-color: palegreen;
}

.loginform input:required:valid, select:required:valid, textarea:required:valid {
  border-left-color: palegreen;
}

.loginform input:invalid, select:invalid, textarea:invalid {
  border-left-color: salmon;
}

.loginform input:required:valid {
  background: url("../images/green-tick-small.png") no-repeat 95% 50%;
  background-size: 20px;
}

input[type=submit] {
    width: 100%;
    background-color: #4CAF50;
    color: white;
    padding: 12px 18px;
    margin: 8px 0;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

input[type=submitx]:hover {
    background-color: #45a049;
}
*/
.g-recaptcha {
   margin: 0 0 5px 0 auto !important;
   width: auto !important;
   height: auto !important;
   text-align: -webkit-center;
   text-align: -moz-center;
   text-align: -o-center;
   text-align: -ms-center;
}
.caleran-weekend{
    opacity: 1 !important;
    color:black !important;
}
 .caleran-day .caleran-not-in-month{
    opacity: 1 !important;
    color:black !important;
}
.caleran-disabled {
    text-decoration: line-through !important;
    color: #A10000 !important;
    opacity: 1 !important;
}

.caleran-day .caleran-today .caleran-selected .caleran-start .caleran-end{
    color:#fff !important;
}
.caleran-today{
    color: #007ca7 !important;
}

/* */

.darkblue{
    color: #244D9E;
}

.importantinfo{
    border: 1px solid #244D9E;
    border-radius: 25px;
}


.LoginAlternateLink{
    color:#fff !important;
    text-decoration: underline solid !important;
}

/* Info button styles for tooltips */
.info-button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 2px;
  margin-left: 5px;
  border-radius: 50%;
  transition: background-color 0.2s ease;
  color: inherit;
}

.info-button:hover,
.info-button:focus {
  background-color: rgba(36, 77, 158, 0.1);
  outline: 2px solid #244D9E;
  outline-offset: 2px;
}

/* Accessible tooltip styles */
.tooltip-content {
  position: absolute;
  background-color: #333;
  color: white;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 14px;
  max-width: 250px;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 5px;
}

.tooltip-content::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #333 transparent transparent transparent;
}

.tooltip-content.show {
  opacity: 1;
  visibility: visible;
}

/* Ensure parent has relative positioning for tooltip positioning */
.t-tip .cust-info {
  position: relative;
}

/* Focus outline class for primary buttons */
.blue-outline-focus:focus {
    outline: 3px solid #244D9E;
    outline-offset: 2px;
}

.blue-outline-focus:focus-visible {
    outline: 3px solid #244D9E;
    outline-offset: 2px;
}

/* Focus class for buttons that need white background with blue text/outline */
.pdcs-button-focus-white:focus {
    background-color: white !important;
    color: #244D9E !important;
    outline: 3px solid #244D9E !important;
    outline-offset: 2px !important;
    border: 1px solid #244D9E !important;
}

.pdcs-button-focus-white:focus-visible {
    background-color: white !important;
    color: #244D9E !important;
    outline: 3px solid #244D9E !important;
    outline-offset: 2px !important;
    border: 1px solid #244D9E !important;
}
