/* ----- [ sizing.css ] ----- */

/* font sizing */
body { font-size:1rem; }
.tiny { font-size:50%; }
.small { font-size:80%; }
.mighty { font-size:125%; }
.big { font-size:150%; }
.large { font-size:200%; }
.huge { font-size:250%; }
.epic { font-size:300%; }
.bold { font-weight:bold; }
.lh1 { line-height:1; }
@media only screen and (min-width:992px)
{
	.tiny-lg { font-size:50%; }
	.small-lg { font-size:80%; }
	.mighty-lg { font-size:125%; }
	.big-lg { font-size:150%; }
	.large-lg { font-size:200%; }
	.huge-lg { font-size:250%; }
	.epic-lg { font-size:300%; }
}



/* ----- [ shortcode-tabs.css ] ----- */


/* tab spacing */

/* remove the leading space of initial element to allow box balance */
.tab-content > .tab-pane > *:first-child { margin-top:0; padding-top:0; }

/* remove the trailing space of the final element to allow box balance */
.tab-content > .tab-pane > *:last-child { margin-bottom:0; padding-bottom:0; }


/* tab colouring */

/* this is preferably done from the shortcode using: [tabs fg="" bg=""] */
/* .nav-tabs > li.nav-item > button.nav-link { color:#000!important; } */
/* .nav-tabs > li.nav-item > button.nav-link.active { background-color:#000; color:#fff!important; } */





/* ----- [ print-bootstrap.css ] ----- */


@media print
{

	.container,
	.container-fluid,
	.container-lg,
	.container-md,
	.container-sm,
	.container-xl,
	.container-xxl
	{
		padding:0;
		margin:0;
		min-height:90%;
		max-height:99%;
		min-width:90%;
		max-width:99%;
	}

}


/* ----- [ opacity.css ] ----- */

/* opacity */
.lit { opacity:0.75; transition:opacity 250ms ease-in-out; }
.lit-hov:hover { opacity:1; }
.dim { opacity:0.5; transition:opacity 250ms ease-in-out; }
.dim-hov:hover { opacity:1; }
.low { opacity:0.25; transition:opacity 250ms ease-in-out; }
.low-hov:hover { opacity:1; }



/* ----- [ min-heights.css ] ----- */

.min-height-100 { min-height:100px; }
.min-height-200 { min-height:200px; }
.min-height-300 { min-height:300px; }
.min-height-400 { min-height:400px; }
.min-height-500 { min-height:500px; }
.min-height-600 { min-height:600px; }
.min-height-700 { min-height:700px; }



/* ----- [ menu-header.css ] ----- */

/* header menu: desktop */
#theme_header_menu,
#theme_header_menu ul { list-style:none; margin:0; padding:0; }
#theme_header_menu a { display:block; padding:0.75rem 1rem; }
#theme_header_menu > li.current-menu-item > a,
#theme_header_menu li.current_page_item a { background-color:#ddd; }
@media only screen and (min-width:768px)
{
	/* wide menu */
	#theme_header_menu { display:flex; align-items:center; justify-content:space-between; }
	#theme_header_menu li { position:relative; }
	#theme_header_menu li:hover > a { background-color:#0e8af9 !important; color:#fff; }

	/* drop menu level one */
	#theme_header_menu ul { background-color:rgba( 0, 0, 0, 0.9 ); }
	#theme_header_menu li ul { display:none; opacity:0; position:absolute; top:100%; left:0; width:300px; z-index:100; transition:opacity 325ms ease-in-out; }
	#theme_header_menu li:hover > ul,
	#theme_header_menu li > ul:hover { display:block; opacity:1; }
	#theme_header_menu > li.menu-item-has-children { position:relative; }
	#theme_header_menu > li.menu-item-has-children a { padding-right:2.25rem; }
	#theme_header_menu > li.menu-item-has-children:after { content:"▼"; position:absolute; display:block; top:1.25rem; right:1rem; font-size:50%; color:rgba( 0, 0, 0, 0.25 ); }

	/* drop menu level two (max 2 levels) */
	#theme_header_menu > li > ul > li > ul { position:absolute; top:0; left:-100%; }
	#theme_header_menu > li:nth-child(1) > ul > li > ul,
	#theme_header_menu > li:nth-child(2) > ul > li > ul,
	#theme_header_menu > li:nth-child(3) > ul > li > ul,
	#theme_header_menu > li:nth-child(4) > ul > li > ul { left:100%; }
	#theme_header_menu > li > ul > li.menu-item-has-children:after { content:"◀"; position:absolute; display:block; top:1.25rem; right:1rem; font-size:50%; color:rgba( 255, 255, 255, 0.25 ); }
	#theme_header_menu > li:nth-child(1) > ul > li.menu-item-has-children:after,
	#theme_header_menu > li:nth-child(2) > ul > li.menu-item-has-children:after,
	#theme_header_menu > li:nth-child(3) > ul > li.menu-item-has-children:after,
	#theme_header_menu > li:nth-child(4) > ul > li.menu-item-has-children:after { content:"▶"; }
}
@media only screen and (min-width:992px)
{
	/* wider buttons */
	#theme_header_menu > li > a { padding:0.75rem 3rem; }
	#theme_header_menu > li > ul a { padding:0.75rem 2rem; }
	#theme_header_menu > li.menu-item-has-children a { padding-right:4rem; }
}

/* header menu: mobile */
@media only screen and (max-width:767px)
{
	/* mobile goes vertical */
	#theme_header_menu { display:flex; flex-direction:column; align-items:start; justify-content:space-between; }
	#theme_header_menu a { padding:0.75rem 2rem; border-radius:0.25rem; }
	#theme_header_menu a:hover { background-color:#0e8af9 !important; color:#fff; }

	/* indent drop menu level one */
	#theme_header_menu ul { padding-left:3rem; }

	/* disable drop menu level two */
	#theme_header_menu ul ul { display:none; }

	/* menu hamburger */
	button#theme_header_menu_hamburger { display:block; width:100%; text-align:left; margin:1rem 0; padding:0.75rem 1rem; border:0; background-color:transparent; border-radius:0.25rem; transition:background-color 250ms ease-in-out; }
	button#theme_header_menu_hamburger:hover { background-color:#ddd; }

	/* menu close */
	button#theme_header_menu_close { display:none; transition:background-color 250ms ease-in-out; }
	button#theme_header_menu_close:hover { background-color:#bbb; }
	button#theme_header_menu_close.open { display:block; position:absolute; top:1rem; right:1rem; }

	/* menu toggle */
	#theme_header_menu { overflow-y:hidden; max-height:0; transition:max-height 200ms linear; }
	#theme_header_menu.open { max-height:1000px; margin:1rem 0; }
}
@media only screen and (min-width:768px)
{
	/* hide mobile stuff during desktop */
	button#theme_header_menu_hamburger { display:none; }
	button#theme_header_menu_close { display:none; }
}



/* ----- [ menu-footer.css ] ----- */

#theme_footer_menu,
#theme_footer_menu ul { list-style:none; margin:0; padding:0; }
#theme_footer_menu a { display:inline-block; padding:0.25rem 1rem; text-decoration:none; border-radius:0.25rem; }
#theme_footer_menu a:hover { background-color:#0e8af9; color:#fff; }
/* #theme_footer_menu li.current_page_item a { background-color:#000; } */



/* ----- [ links.css ] ----- */

a { color:#0e8af9; text-decoration-color:rgba( 14, 138, 249, 0.25 ); }
a:link { color:#0e8af9; }
a:visited { color:#0e75ce; text-decoration-color:rgba( 14, 118, 207, 0.5 ); }
a:hover { color:#0089ff; text-decoration-color:#0e8af9; }
a:active { color:#0e8af9; }
/* a, */
a.no-underline,
button.no-underline { text-decoration:none; }



/* ----- [ images.css ] ----- */

img.fit { width:100%; height:auto; }
img.max-500 { max-width:500px; height:auto; }
.bg-image { width:100%; height:100%; background-repeat:no-repeat; background-position:center center; background-size:cover; }
.bg-contain { background-size:contain; }



/* ----- [ headers.css ] ----- */

/* h1, h2, h3, h4, h5, h6, .title { margin-bottom:0.5rem; } */



/* ----- [ fonts.css ] ----- */

body { font-family:'Open Sans', sans-serif; }
h1, h2, h3, h4, h5, h6, .title { font-family: 'Roboto Slab', serif, cursive; }



/* ----- [ cursor.css ] ----- */

.cursor { cursor:default; }
.pointer { cursor:pointer; }



/* ----- [ colors.css ] ----- */

body { background-color:#ffffff; }
.fg-main { color:#0e8af9; }
.bg-main { background-color:#0e8af9; }
.fg-accent { color:#f17506; }
.bg-accent { background-color:#f17506; }
.bg-trans { background-color:transparent; border-color:transparent; }
.clean { color:inherit; background-color:transparent; border:1px solid transparent; }

/* replicate bootstrap */
.btn-theme { color:#fff !important; background-color:#0e8af9; border-color:#0e8af9; border-style:solid; }
.btn-outline-theme { color:#0e8af9 !important; background-color:#fff; border-color:#0e8af9; border-style:solid; }




/* ----- [ body.css ] ----- */

/* full width */
html, body { width:100%; height:100%; }
body { margin:0; padding:0; }
body { font-size:1.25rem; }



/* ----- [ blockquote.css ] ----- */

blockquote { border-left:10px solid #b2c6b6; margin-left:2rem; }
blockquote { color:#333; padding:1rem 2rem; margin-top:2rem; margin-bottom:2rem; }
blockquote p:last-child { margin-bottom:0; }
blockquote .author { color:#999; text-align:right; font-size:80%; font-style:italic; }



/* ----- [ baseline.css ] ----- */

.baseline { background-color:#111; color:#eee; font-size:0.75rem; }
.baseline a { text-decoration:none; color:#0e8af9; }



/* ----- [ pills.css ] ----- */

a.pill { display:inline-block; padding:0.25rem 2rem 0.25rem 0; text-decoration:none; border-radius:0.25rem; transition:padding 250ms ease-in-out, background-color 250ms ease-in-out, color 250ms ease-in-out; }
a.pill:hover { padding:0.25rem 1rem; background-color:#0e8af9; color:#fff; }



/* ----- [ opening.css ] ----- */



.opening_footer
{
	min-height:300px;
	border-top:3px solid #000;
	background-size:cover;
	background-position:left bottom;
	background-image:url( '/wp-content/themes/digital-golf-portal/images/opening-footer.jpg' );
}





/* ----- [ font.css ] ----- */


.text-tiny { font-size:50%; }
.text-small { font-size:75%; }
.text-normal { font-size:100%; }
.text-big { font-size:125%; }
.text-huge { font-size:150%; }
.text-epic { font-size:200%; }






/* ----- [ checkbox-attention.css ] ----- */



.checkbox-attention
{
	position: relative;
	display: inline-block;
}


.checkbox-attention input[type="checkbox"]:after
{
	content: '';
	width: 60px; /* Increased size */
	height: 60px; /* Increased size */
	border-radius: 50%;
	position: absolute;
	top:.95rem;
	left:-1.25rem;
	transform: translate(-50%, -50%);
	animation: pulse 4s infinite; /* Longer duration */
	background-color: rgba(76, 175, 80, 1); /* Full opacity green */
	pointer-events: none; /* Prevent interaction */
	z-index: -1; /* Position behind the checkbox */
}


@keyframes pulse
{
	0%
	{
		transform: translate(-50%, -50%) scale(1);
		opacity: 1; /* Full opacity */
	}
	25%
	{
		transform: translate(-50%, -50%) scale(2); /* Larger scale */
		opacity: 0; /* Fade out */
	}
	50%
	{
		transform: translate(-50%, -50%) scale(2); /* Larger scale */
		opacity: 0; /* Fade out */
	}
	75%
	{
		transform: translate(-50%, -50%) scale(2); /* Larger scale */
		opacity: 0; /* Fade out */
	}
	100%
	{
		transform: translate(-50%, -50%) scale(1);
		opacity: 1; /* Reset to full opacity */
	}
}


.checkbox-attention input[type="checkbox"]:checked:after
{
	display:none;
	animation: none; /* Stop the pulse effect when checked */
}




/* ----- [ calendar.css ] ----- */

.calendar {
    display: flex;
    flex-flow: column;
}
.calendar .header .month-year {
    font-size: 20px;
    font-weight: bold;
    color: #636e73;
    padding: 20px 0;
}
.calendar .days {
    display: flex;
    flex-flow: wrap;
}
.calendar .days .day_name {
    width: calc(100% / 7);
    border-right: 1px solid #444;
    padding: 20px;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: bold;
    color: #818589;
    color: #fff;
    background-color: #000;
}
.calendar .days .day_name:nth-child(7) {
    border: none;
}
.calendar .days .day_num {
    display: flex;
    flex-flow: column;
    width: calc(100% / 7);
    /* border-right: 1px solid #e6e9ea; */
    /* border-bottom: 1px solid #e6e9ea; */
    border-right:1px solid #000;
    border-bottom:1px solid #000;
    padding: 15px;
    font-weight: bold;
    /* color: #7c878d; */
    color:#000;
    cursor: pointer;
    min-height: 100px;
}
.calendar .days .day_num span {
    display: inline-flex;
    width: 30px;
    font-size: 14px;
}
.calendar .days .day_num .event {
    margin-top: 10px;
    font-weight: 500;
    font-size: 14px;
    padding: 3px 6px;
    border-radius: 4px;
    background-color: #060;
    color: #fff;
    word-wrap: break-word;
}
	.calendar .days .day_num .event:hover
	{
		background-color:#090;
	}
	.calendar .days .day_num .event a
	{
		color:#fff;
		text-decoration:none;
	}

.calendar .days .day_num .event.green {
    background-color: #51ce57;
}
.calendar .days .day_num .event.blue {
    background-color: #518fce;
}
.calendar .days .day_num .event.red {
    background-color: #ce5151;
}
.calendar .days .day_num:nth-child(7n+1) {
    /* border-left: 1px solid #e6e9ea; */
    border-left:1px solid #000;
}
.calendar .days .day_num:hover {
    background-color: #fdfdfd;
}
.calendar .days .day_num.ignore {
    background-color: #fdfdfd;
    color: #ced2d4;
    cursor: inherit;


    color:#fdfdfd;
}
.calendar .days .day_num.selected {
    background-color: #f1f2f3;
    cursor: inherit;
}



