.pos-rel{
   position: relative;
}
.pos-rel.pos-imp{
   position: relative !important;
}


.pos-abs{
   position: absolute;
}

.pos-abs.pos-imp{
   position: absolute !important;
}

.pos-sticky{
   position: fixed;
   top: 0;
   width: 100%; /* or adjust as necessary */
   z-index: 1000;   
}

/* Custom utility classes for margin */
.m-1 {
   margin: 0.5rem;
}
.m-2 {
   margin: 1rem;
}
.m-3 {
   margin: 1.5rem;
}
/* Margin for individual sides */
.mt-1 { margin-top: 0.5rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }

.mb-1 { margin-bottom: 0.5rem; }
.mb-2 { margin-bottom: 1rem; }
.mb-3 { margin-bottom: 1.5rem; }
.mb-4 { margin-bottom: 2rem; }

.ml-1 { margin-left: 0.5rem; }
.ml-2 { margin-left: 1rem; }
.ml-3 { margin-left: 1.5rem; }

.mr-1 { margin-right: 0.5rem; }
.mr-2 { margin-right: 1rem; }
.mr-3 { margin-right: 1.5rem; }




/* Custom utility classes for padding */
.p-1 {
   padding: 0.5rem;
}
.p-2 {
   padding: 1rem;
}
.p-3 {
   padding: 1.5rem;
}
/* Padding for individual sides */
.pt-1 { padding-top: 0.5rem; }
.pt-2 { padding-top: 1rem; }
.pt-3 { padding-top: 1.5rem; }

.pb-1 { padding-bottom: 0.5rem; }
.pb-2 { padding-bottom: 1rem; }
.pb-3 { padding-bottom: 1.5rem; }

.pl-1 { padding-left: 0.5rem; }
.pl-2 { padding-left: 1rem; }
.pl-3 { padding-left: 1.5rem; }

.pr-1 { padding-right: 0.5rem; }
.pr-2 { padding-right: 1rem; }
.pr-3 { padding-right: 1.5rem; }


.ell{

}

.fl-left{
   float: left !important;
}
.fl-right{
   float: right !important;
}


.autoflow{
   overflow: auto !important;
}


.text-white{
   color: white;
}

/* Ellipsis Overflow */
.text-ell {
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

/* Used to "wrap" links around content that shouldn't be linked (div, li, etc.) */

.link-spanner{
   position:absolute;
   width:100%;
   height:100%;
   top:0;
   left:0;
   z-index:1;
}

.is-hidden, .is-collapsed{
   display: none;
}

.has-shadow {
   -webkit-box-shadow: var(--box-shadow-default);
   -moz-box-shadow: var(--box-shadow-default);
   box-shadow: var(--box-shadow-default);
}

.has-border {
   border: var(--border-default);
}

/* Zoom effect on hover */
.on-hover-zoom-img{
   overflow:hidden;
}
.on-hover-zoom-img img{
   transition: transform 0.5s ease;
}

.on-hover-zoom-img:hover img{
   transform: scale(1.1);
}




/* 
   Base class to enable horizontal scrolling with hidden vertical scrolling.
   Ensures content remains in a single line using `white-space: nowrap`.
*/
.has-scroll-x {
   overflow-y: hidden; /* Hides vertical scrolling */
   overflow-x: auto; /* Enables horizontal scrolling */
   white-space: nowrap; /* Prevents content wrapping to a new line */
}

.has-scroll-x-touch{

}


/* 
   Media query targeting touch devices (pointer: coarse).
   Hides scrollbars while retaining scrolling functionality for touch devices.
*/
@media (pointer: coarse)
{
   .has-scroll-x-touch{
      overflow-y: hidden; /* Hides vertical scrolling */
      overflow-x: auto; /* Enables horizontal scrolling */
      white-space: nowrap; /* Prevents content wrapping to a new line */   
   }

   .has-scroll-x, .has-scroll-x-touch {
      scrollbar-width: none; /* Hides scrollbars in Firefox */
      -ms-overflow-style: none; /* Hides scrollbars in IE and Edge */
   }

   .has-scroll-x::-webkit-scrollbar, .has-scroll-x-touch::-webkit-scrollbar {
      display: none; /* Hides scrollbars in Chrome, Safari, and Edge */
   }
}




/* General Styles for Tabs Container */
.rys_tabs .tab-item{
   list-style-type: none;
   margin: 0;
   padding: 0;
   background: #fff;
   position: relative;
   z-index: 10;
   cursor: pointer;
   color: #555;
}
.rys_tabs .tab-item:hover{
   color: #00468c;
}

/* Horizontal Tabs (default) */
.rys_tabs.tabs-h .tab-items{
   display: flex;
   flex-direction: row;
   border-bottom: 1px solid #ddd;
   margin-bottom: 0;
}

.rys_tabs.tabs-h .tab-item {
   padding: 10px 20px;
   cursor: pointer;
   
   font-weight: 500;
   transition: color 0.3s ease, border-bottom 0.3s ease, font-weight 0.3s ease;
}

.rys_tabs.tabs-h .tab-item.is-selected {
   border-bottom: 2px solid #0067ce;
   color: #0067ce;
   font-weight: bold;
}

/* Vertical Tabs */
.rys_tabs.tabs-v {
   display: flex;
   flex-direction: column;
   border-right: 1px solid #ddd;
}

.rys_tabs.tabs-v .tab-item {
   padding: 10px 20px;
   cursor: pointer;
   color: #555;
   font-weight: 500;
   transition: color 0.3s ease, border-right 0.3s ease, font-weight 0.3s ease;
   border-bottom: none;
}

.rys_tabs.tabs-v .tab-item.is-selected {
   border-right: 2px solid #0067ce;
   color: #0067ce;
   font-weight: bold;
}

/* Tab Panels */
.rys_tabs .tab-panel {
   display: none;
}

.rys_tabs .tab-panel.is-active {
   display: block;
}


/* reset styles */
figure{
   margin: 0;
   padding: 0;
   display: block;
}
figure figcaption {
   padding: calc(var(--spacing) * 0.5);
   color: var(--color-muted);
   font-weight: 500;
 }

