/*
Theme Name: TFF
Author: Forzi
*/

html {
  font-size: 62.5%; /* 62.5% of 16px = 10px */
  font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;
} 

body {
  background: #fff;
  margin:auto;
  font-size: 20px;
  font-size: 2rem;
}

.page-maxsize {
    max-width:1540px;
    margin:auto;
}

li {
	margin-bottom:.25rem;
}

h1, h2, h3, h4, h5, h6 {
  margin-top:0;
  margin-bottom:10px;
  margin-bottom:1rem;
}

h1 {
  font-size: 40px;
  font-size: 4rem;
}

h2 {
  font-size: 30px;
  font-size: 3rem;
}

h3 {
  font-size: 24px;
  font-size: 2.4rem;
}

h4 {
  font-size: 20px;
  font-size: 2rem;
}

p {
  font-size: 20px;
  font-size: 2rem;
}

ul {
  font-size: 20px;
  font-size: 2rem;
}

header {
  background: #115caa;
  width: 100%;
  position: relative;
  min-height: 60px;
  padding-bottom: 5px;
}

/*
.header-menu {
    display:grid;
    grid-template-columns: minmax(200px, 25%) 1fr;
    align-items:baseline;
}
*/

footer {
  background: #000000;
  color: #fff;
}

footer a {
  color: #759eff;
}

img {
  max-width: 100%;
  height:auto;
}

#sidebar {
  list-style-type: none;
  height: 100%;
}

.tff-cardwrap {
  display:grid;
  width:100%;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-gap: 10px;
}

.card {
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  max-width:500px;
}
.card img {
	width:100%;
	object-fit: cover;
    height: 250px;
}
.cardText {
	padding:10px;
}

#footer {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  justify-items:center;
  list-style: none;
  grid-gap: 1rem;
}

.footer-menu div ul {
  display:flex;
  flex-wrap:wrap;
  text-align: center;
  list-style: none;
  padding: 1rem 3rem 1rem 3rem;
  margin:0;
  justify-content:center;
}

.footer-menu a {
    display: block;
    padding:1rem;
}

.container {
  display:grid;
  width:100%;
  grid-template-columns: 1fr minmax(150px, 25%);
  grid-gap: 10px;
}

#navigation-top-menu {
  background: #115caa;
  position: relative;
}

#navigation-top-menu > div > ul {
  color:#fff;
  margin:0;
  list-style: none;
  display:flex;
  flex-wrap:wrap;
  padding:0;
  justify-content:flex-start;
}

#navigation-top-menu > div > ul > li {

}

#navigation-top-menu a {
  color: #fff;
  text-decoration: none;
  padding:1rem;
  display: block;
}

#navigation-top-menu li {
  position: relative;
}

#navigation-top-menu li:hover {
  background: #0187aa;
}

#navigation-top-menu .sub-menu {
  display:none;
  z-index: 999;
  position: absolute;
  margin:0;
  padding:0;
  left:0;
  top:100%;
  background: #fff;
  box-shadow: 1px 1px 10px rgba(0,0,0,0.1);
  list-style-type: none;
  width:100%;
}

#navigation-top-menu .menu-item-has-children > a:after {
   content: ' ▾';
}

#navigation-top-menu .sub-menu a {
  color:#000000;
}

#navigation-top-menu .sub-menu a:hover {
  color:#fff;
}

@media only screen and (min-width: 767px) {
  #navigation-top-menu div ul > .menu-item-has-children:hover > .sub-menu {
    display:block;
  }

  #navigation-top-menu div ul .menu-item-has-children .sub-menu > .menu-item-has-children:hover .sub-menu {
    display:block;
  }
  #navigation-top-menu div {
      display: block !important;
  }
  .hamburger {
  display:none !important;
  }
}

#navigation-top-menu .sub-menu .sub-menu {
  top:0;
  left:100%;
}

.hamburger {
  display:none;
  position: absolute;
  top: 0;
  right:0;
  background:none;
  line-height:45px;
  padding:5px 15px 0px 15px;
  color:#fff;
  border:0;
  font-size:1.4em;
  font-weight:bold;
  cursor:pointer;
  outline:none;
  z-index:999;
}

.sidebar-grid {
  border-radius: 1rem;
  padding: 1rem;
  margin-bottom:1rem;
}

.btn {
  box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2),
  0px 2px 2px 0px rgba(0,0,0,0.14),
  0px 1px 5px 0px rgba(0,0,0,.12);
  transition: box-shadow 280ms cubic-bezier(0.4,0,0.2,1);
  padding:10px;
  text-decoration: none;
  border-radius: 5px;
  background: #5700ea;
  color:#fff;
  margin:5px;
  position: relative;
  overflow: hidden;
  display: flex;
}

.btn:hover,
.btn:focus {
  box-shadow: 0px 2px 4px -1px rgba(0,0,0,0.2),
  0px 4px 5px 0px rgba(0,0,0,0.14),
  0px 1px 10px 0px rgba(0,0,0,.12);
}

/* Shiny Layer */
.shiny:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
    z-index: 2;
		background: white;
    opacity: 0.3;
		height: 100%;
    width: 100%;
		transform: skewX(-45deg);
    background: linear-gradient(to right, white, white 20px, transparent 20px);
    transform-origin: left bottom;
    animation: shine 10s ease-in infinite;
}

/* Button Animation */
@keyframes shine {
  0% {
    transform: skewX(-45deg) translateX(-100%);
  }
  10% {
    transform: skewX(-45deg) translateX(100%);
  }
  100% {
    transform: skewX(-45deg) translateX(100%);
  }
}

.custom-logo {
    max-width:200px;
    padding: 5px;
}

/* =============== MEDIA QUERY =============== */

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

    .custom-logo {
        max-width:150px;
    }

    .header-menu {
      display:unset;
    }

    .hamburger {
      display:inline;
    }
    
    #footer {
      grid-template-columns: unset;
      grid-template-rows: auto 1fr auto;
    }

    #navigation-top-menu div ul{
      text-align: left;
      justify-content: start;
    }
    
    #navigation-top-menu ul{
      display:block;
    }
    
    #navigation-top-menu li {
      position: relative;
      flex:100%;
    }
    
    #navigation-top-menu div {
      display:none;
    }
    
    #navigation-top-menu .sub-menu {
      z-index: unset;
      color: #fff;
      position: unset;
      margin:0;
      padding:0;
      left:0;
      top:100%;
      background: unset;
      box-shadow: none;
      list-style-type: none;
      width:100%;
      display: block;
    }
    
    #navigation-top-menu li:hover {
      background: unset;
    }
    
    #navigation-top-menu .sub-menu a{
      color:#fff;
    }
    
    #navigation-top-menu a:active{
      color:#333333;
      background: #fff;
    }
    
    #navigation-top-menu .sub-menu a:active{
      color:#333333;
    }
	.tff-page-header {
		grid-template-columns:unset !important;
	}
	.tff-container {
		grid-template-columns: unset !important;
	}
}

.header-logo {
  display: flex;
}

/* === NAV MENU CSS */
.nav-menu a {
	color: white;
}

.nav-menu > li {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
}

.nav-menu > li > a {
	padding: 10px 15px 5px 15px !important;
}

.help-nav-menu ul li ul a {
    font-size: clamp(12px, 1.2vw, 15px) !important; /* Font size between 12px and 20px */
}
.nav-menu > li:hover,
.nav-menu > li:hover > a
{
	background: #e4e4e4;
	color: #333;
	border-radius: 4px 4px 0 0;
}

.mega-menu ul a {	
	padding: 0px 10px 0px 10px !important;
	width: 150px;
}

.mega-menu ul li:hover > a {
	color: white;
	background: gray;
}

.mega-menu ul li a{
	font-weight:400;
	overflow: hidden;
}

.nav-menu {
	display: flex;
	padding: 0px;
	list-style: none;
	margin:0;
}

/* Base style for the navigation menu */
.help-nav-menu {
    position: relative;
}


/* Style for the mega menu container */
.mega-menu {
    display: none; /* Initially hidden */
    position: absolute; /* Positioned absolutely relative to its parent */
		top: 25px;
    z-index: 1001; /* Ensure it appears above other content */
		padding: 10px 0px 10px 10px;
		box-shadow: 0 9px 10px 0 rgba(0,0,0,.16);
		background: #e4e4e4;
}

/* Style for the list items in the mega menu */
.mega-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Style for links in the mega menu */
.mega-menu ul li a {
    text-decoration: none;
    color: #333;
    display: block; 
}

.multi-column {
    column-count: 1;
		column-fill: balance;
}

.mega-menu ul.three-column {
    column-count: 3; /* Three columns for larger submenus */
}

/* Position the nested ul (submenu) to the right of the parent li */
.mega-menu > ul > li > ul {
    position: absolute;
    top: 0;
    left: 100%;
		bottom: 0;
		padding: 10px 10px 10px 5px;
		background: white;
		box-shadow: 0 9px 10px 0 rgba(0,0,0,.16);
}


.mega-menu > ul > li > ul {
	height: auto !important;
}

.mega-menu ul li ul {
    display: none; /* Display the submenu */
}

.mega-menu ul li:hover ul {
    display: block; /* Shown on hover */
}
.mega-menu .menu-item-has-children > a {
    position: relative; /* Set relative positioning on the parent */
    padding-right: 1.5rem; /* Add right padding to make space for the arrow */
}

.mega-menu .menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    position: absolute; /* Absolute positioning for the arrow */
    border-style: solid;
    border-width: 2px 2px 0 0;
    color: #000;
    height: .5rem;
    right: 0; /* Adjust as necessary for correct horizontal placement */
    top: 50%; /* Start at the vertical center */
    transform: translate(-50%, -50%) rotate(45deg); /* Adjust for precise centering and rotation */
    transform-origin: center;
    width: .5rem;
}

@media only screen and (min-width: 1024px) {
		.hamburger-menu{
			display:none;
		}
		.help-nav-menu-mobile{
				display:none;
			}	
}

@media only screen and (max-width: 1024px) {
		.nav-menu{
			display:none;
		}
}

/* Mobile styles */
@media screen and (max-width: 1024px) { /* Adjust breakpoint as needed */
    .hamburger-menu {
        display: block; /* Visible on mobile */
		margin-left:auto;
    }

    .help-nav-menu-mobile {
        display: none; /* Hidden by default on mobile */
        position: fixed;
        top: 0;
        left: 0;
        width: 75%;
        height: 100%;
        background-color: #FFFFFF;
        z-index: 1001; /* Above the overlay */
        overflow-y: auto; /* Scroll if needed */
    }

    .menu-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background */
        z-index: 1000;
    }

    .menu-is-open .menu-overlay,
    .menu-is-open .help-nav-menu-mobile {
        display: block;
    }
	.menu{
	display:block;
	list-style-type: none;
	padding-left:0px;
}
	.help-nav-menu-mobile ul{
		list-style:none;
	}
	
.menu-overlay.open {
    display: block;
}

.help-nav-menu-mobile {
    z-index: 1000; /* Ensure the menu is above the overlay */
    /* Rest of your styles */
}

.help-nav-menu-mobile {
    display: none;
}

.help-nav-menu-mobile.open {
    display: block;
}

.help-nav-menu-mobile ul {
    list-style: none;
    padding: 0;
	  margin-left:15px;
}

.help-nav-menu-mobile ul li {
    margin-bottom:15px;
}

.help-nav-menu-mobile ul li a{
	font-size:18px!important;
	
}

.submenu-toggle-arrow{
	font-size:15px !important;
	padding:15px;
}


}

.hamburger-menu {
    cursor: pointer;
    border: none;
    background: none;
    font-size: 24px;
    z-index: 1001; /* Above the overlay */
		margin-right:15px;
		color: white;
		padding: 20px
}

@media (min-width: 992px) { /* Adjust the min-width as needed for your desktop breakpoint */
    .menu-item-has-children > a > .submenu-toggle-arrow {
        display: none;
    }
}
/* === NAV MENU END */
