html {
	position: relative;
    min-height: 100%;
    margin: 0;
    padding: 0;
	scrollbar-gutter: auto !important;
}

body {
	margin: 0 !important;
    padding-top: 85px !important;
    width: 100% !important;
    /* Use block instead of flex for the body to satisfy Safari */
    display: block !important; 
    overflow-x: hidden !important; 
    background-repeat: repeat;
    background-position: top center; 
	font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif !important;
    font-size: 17px;           /* Slightly larger for modern readability */
    line-height: 1.6 !important; /* Adds professional spacing between lines */
    color: #333333;            /* Softens the text slightly from pure black */
    
    background-attachment: scroll !important;
}

.logo-text-lean {
/* Prioritizes Kalam for Safari/Mobile, falls back to Segoe for Windows */
    font-family: 'Kalam', cursive;
    font-weight: 700 !important; 
    font-size: 1.1rem;
    line-height: 1.1; 
    color: #000;
    display: inline-block;
    transform: scaleY(1.15); 
    letter-spacing: -0.3px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

.navbar { 
    font-family: 'Montserrat', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 1px; /* Adds a sophisticated, modern feel */
    font-weight: 700;
	background-color: white !important; 
	width: 100% !important; 
	transform: translateZ(0); 
	-webkit-transform: translateZ(0); 
	box-shadow: 0 4px 10px rgba(0, 51, 102, 0.15) !important;
    border-bottom: 1px solid rgba(0, 51, 102, 0.1) !important;
    z-index: 9999 !important;
}

.navbar.fixed-top {
    width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    /* This property forces Safari to treat the element as a 3D layer, 
       triggering a redraw on rotation */
    transform: translateZ(0);
}

main .container-fluid {
    background-color: rgba(255, 255, 255, 0.95) !important; /* Mostly white, slightly transparent to show hint of background */
    border-radius: 12px;           /* Soft modern corners */
    margin-top: 20px;              /* Space below the navbar */
    margin-bottom: 40px;           /* Space above the footer */
    padding: 30px !important;      /* Breathing room for text */
    
    /* THE BLUE SHADOW */
    /* This creates depth using the Judo Blue instead of grey */
    box-shadow: 0 10px 30px rgba(0, 51, 102, 0.15) !important;
    
    /* Optional: subtle blue border to match the shadow */
    border: 1px solid rgba(0, 51, 102, 0.1) !important;
}

.main-content-area {
    background: linear-gradient(to bottom, #e0e0e0 0%, #ffffff 100%); /* Adjust colors to match your original gradient */
    margin-right: 0 !important;
    padding-right: 0 !important;
    width: 100%;
}

.padded {
	padding-left:20px;
	padding-right:20px;
}	
h1 {
	font-size:15px; 
	border-bottom:lightgray; 
	border-bottom-width:1px; 
	border-top-width:0px; 
	border-left-width:0px; 
	border-right-width:0px; 
	border-style:solid; 
	margin-top: 0px;
	padding-bottom: 5px;
}

.header-a  a {
	font-size:15px;
	text-decoration: none;
	color: darkslategray;
	display:block;
}

.title {
	font-size:25px;  
	border-bottom-width:0px; 
	border-top-width:0px; 
	border-left-width:0px; 
	border-right-width:0px; 
	border-style:solid; 
	margin-top: 0px;
	margin-left: 20%;
}
a:hover {
	background-color:lightgray;	
}

.header-a {
	padding-left:20px;
}

.header-b {
	font-size:15px;
	padding-left:20px;
	color: lightgray !important;
}

footer {
	font-size:15px;
	border-top:lightgray;
	border-top-width:1px;
	border-style:solid;
	border-bottom-width:0px; 
	border-left-width:0px; 
	border-right-width:0px;
	padding-top: 5px; 	
	padding-bottom: 5px;
	padding-left: 5px;
	padding-right: 0px;
	text-decoration: none;
	display:block;
	background: transparent !important;
    color: #333;
}

.bullets dd {
    display: list-item;
    list-style-type: disc;
    }


.whitewords-h1
{ color:white;
	font-size:14pt;
	font-style:bold;
	font-name:Verdana
}
.whitewords-h2
	{ color:white;
	font-size:12pt;
	font-style:bold;
	font-name:Verdana;
	text-decoration:none
	}
.whitewords-h2 a
	{ color:white;
	font-size:12pt;
	font-style:bold;
	font-name:Verdana
	}
.whitewords-h3 a
	{ color:white;
	font-size:11pt;
	font-style:normal;
	font-name:Verdana
	}
.tablehead
	{
	font-name:Verdana;
	font-size:13pt;
	background: #E5E7E4;
	}
.tablerow
	{
	font-name:Verdana;
	font-style:normal;
	font-size:11pt;
	}

.left-middle
	{ font-name:Verdana;
	position: absolute;
	left: 130pt;
	padding-right: 20pt;
	height: 0px;
	float: left;
       }

.left-middle-top
	{ font-name:Verdana;
        position: absolute;
        left: 135pt;
        padding-right: 20pt;
        height: 0px;
        float: left;
        top: 300px;
       }

.left-middle-top-2
	{ font-name:Verdana;
        position: absolute;
        left: 135pt;
        padding-right: 20pt;
        height: 0px;
        float: left;
        top: 300px;
       }
       
.left-middle-top img
	{ 
    border: none;
    float: left;
    padding-right: 10px;
    }

.right-middle
	{ font-name:Verdana;
	padding-left: 370pt;
	padding-right: 20pt;
       }

.pagehead
        {
        overflow: hidden;
        }

.gsc-control {
  width: 700px;
}

.cropme{
  height: 71px;
}

.cropme img {
  position: absolute;
}



form.gsc-search-box {
  font-size: 12pt;
  margin-top : 0px;
  margin-right : 0px;
  margin-bottom : 4px;
  margin-left : 0px;
  width: 40%;
}

.homepage-images
{
border: 1px;
}

/* Specific Divs */

#kaiganHeader {
	margin:0;
	padding:0;
}

#links
	{ font-name:Verdana;
	padding-left: 0pt;
	padding-right: 0pt;
	float: left;
	}

#navlist
	{ font-size: 12pt;
	margin: 0 0 0 0;
	width: 100%;
	font-name:Verdana;

	}

#navlist li
	{ float: left;
	list-style-type: none;
	margin: 0 0 2 0;
	padding: 0;
	white-space: nowrap;
	}

#kanji
        {
        font-name:Verdana;
        position: absolute;
        left: 10pt;
        width: 100pt;
        top:300px;
        }

#kanji a
        {
        font-name:Verdana;
        }

#searchcontrol
	{ font-name:Verdana;
	position: absolute;
	left: 130pt;
	height: 0px;
	float: left;
    top:335px;
        }

#navlist ul
	{ margin: 0;
	padding: 0;
        font-name:Verdana;
	}

#navlist a
	{ padding: 1px 5px 3px 15px;
	border: 0px solid;
	border-color: #ddd #000 #000 #ddd;
	background-color: #00000;
	background-repeat: no-repeat;
	background-position: 0% 50%;
	text-decoration: none;
        font-name:Verdana;
	}

#navlist a:link, #navlist a:visited
	{ color: #EEEEEE;
        font-name:Verdana;
	}

#navlist a:hover, #navlist a:active
	{ background-color: #999999;
	background-repeat: no-repeat;
	background-position: 0% 50%; color: #2D1E2D;
        font-name:Verdana;
	}

#uberlink-nav a:link, #uberlink-nav a:visited,
#uberlink-nav a:hover, #uberlink-nav a:active
	{
	background-repeat: no-repeat;
	background-position: 0% 50%;
	text-decoration: none;
	color: blue;
	}

#menulist
	{ font-size: 12pt;
	margin: 0;
	font-name:Verdana;
	position: absolute;
	left: 9px;
	top: 220px;
	width: 100%;
	}

#menulist li
	{
	margin: 0;
	padding: 0;
	white-space: nowrap;
	width: 100%;
	border-top: 1px solid;
	border-right: none;
	border-bottom: 1px solid;
	border-left: none;
	border-color: #ddd #000 #000 #ddd;
	}

#menulist ul
	{ margin: 0;
	padding: 0;
	list-style-type: none;
	background-color: #CCCCCC;
	}

#menulist a
	{
	display: inline-block;
	padding: 2px 2px 2px 10px;
	background-color: #00000;
	background-position: 0% 50%;
	text-decoration: none;
	color: black;
	width: 100%;
	}

#menulist a:link, #menulist a:visited
	{ color: black;
	  font-weight:bold;
	}

#menulist a:hover, #menulist a:active
	{
	padding: 2px 2px 2px 18px;
	background-position: 0% 50%;
	background-image: url(images/l1_over.jpg);
	color: white;
	width: 100%;
	height: auto;
	}

#uberlink a:link, #uberlink a:visited,
#uberlink a:hover, #uberlink a:active
	{
	padding: 2px 2px 2px 24px;
	background-position: 0% 50%;
	text-decoration: none;
	width: 100%;
	color: black;

	}
#tablerow-menu
	{
	position: absolute;
        top: 380px;

	}
#tablerow-menu a
	{
	font-family:verdana;
	font-style:normal;
	font-size:10pt;
	color: black;
	text-decoration:none;
	}

#tablerow-menu a:hover
        {
	color: blue;
       }

.dkjsensei-img 
{
	min-width: 150px;
	max-width: 300px;
}

.dkjsensei-img, .dkjsensei-img-landscape {
	width: 100%;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    height: auto;
}

.ui-icon-judobc:after {
	
	content: url("../images/judobc-icon.gif");
  zoom: 12%;


}

.ui-icon-dkjsensei:after {
	
	content: url("../images/DKJ Sensei.png");
  zoom: 12%;


}



