/**
 * Flexible Content Blocks Stylesheet
 * 
 * Lightweight stylesheet containing ONLY Bootstrap 3 components and block-specific styles
 * needed for ACF flexible content blocks. All styles are scoped to .fitem containers
 * to avoid affecting the existing theme's header and global styles.
 * 
 * Based on Bootstrap 3.3.5 components from oldtheme
 */

/* ============================================
   Bootstrap 3 Panel/Accordion Components
   Scoped to .fitem containers only
   ============================================ */

.fitem .panel {
	margin-bottom: 20px;
	background-color: #fff;
	border: 1px solid transparent;
  border-radius: 4px;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

.fitem .panel-body {
	padding: 15px;
}

.fitem .panel-heading {
	padding: 10px 15px;
	border-bottom: 1px solid transparent;
	border-top-right-radius: 3px;
	border-top-left-radius: 3px;
}

.fitem .panel-title {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 16px;
	color: inherit;
}

.fitem .panel-title > a {
	color: inherit;
	text-decoration: none;
}

.fitem .panel-default {
	border-color: #dddddd;
}

.fitem .panel-default > .panel-heading {
	color: #333333;
	background-color: #f5f5f5;
	border-color: #dddddd;
}

.fitem .panel-default > .panel-heading + .panel-collapse > .panel-body {
	border-top-color: #dddddd;
}

.fitem .panel-group {
	margin-bottom: 20px;
}

.fitem .panel-group .panel {
	margin-bottom: 0;
	border-radius: 4px;
}

.fitem .panel-group .panel + .panel {
	margin-top: 5px;
}

.fitem .panel-group .panel-heading {
	border-bottom: 0;
}

.fitem .panel-group .panel-heading + .panel-collapse > .panel-body {
	border-top: 1px solid #dddddd;
}

/* Collapse utility - needed for accordion */
.fitem .collapse {
	display: none;
}

.fitem .collapse.in {
	display: block;
}

.fitem .panel-collapse {
	overflow: hidden;
}

/* ============================================
   Bootstrap 3 Grid Compatibility
   Scoped to .fitem containers only
   ============================================ */

/* Bootstrap 3 row and column base styles */
.fitem .row {
	margin-left: -15px;
	margin-right: -15px;
}

.fitem .col-xs-1, .fitem .col-sm-1, .fitem .col-md-1, .fitem .col-lg-1,
.fitem .col-xs-2, .fitem .col-sm-2, .fitem .col-md-2, .fitem .col-lg-2,
.fitem .col-xs-3, .fitem .col-sm-3, .fitem .col-md-3, .fitem .col-lg-3,
.fitem .col-xs-4, .fitem .col-sm-4, .fitem .col-md-4, .fitem .col-lg-4,
.fitem .col-xs-5, .fitem .col-sm-5, .fitem .col-md-5, .fitem .col-lg-5,
.fitem .col-xs-6, .fitem .col-sm-6, .fitem .col-md-6, .fitem .col-lg-6,
.fitem .col-xs-7, .fitem .col-sm-7, .fitem .col-md-7, .fitem .col-lg-7,
.fitem .col-xs-8, .fitem .col-sm-8, .fitem .col-md-8, .fitem .col-lg-8,
.fitem .col-xs-9, .fitem .col-sm-9, .fitem .col-md-9, .fitem .col-lg-9,
.fitem .col-xs-10, .fitem .col-sm-10, .fitem .col-md-10, .fitem .col-lg-10,
.fitem .col-xs-11, .fitem .col-sm-11, .fitem .col-md-11, .fitem .col-lg-11,
.fitem .col-xs-12, .fitem .col-sm-12, .fitem .col-md-12, .fitem .col-lg-12 {
	position: relative;
	min-height: 1px;
	padding-left: 15px;
	padding-right: 15px;
}

.fitem .col-xs-1, .fitem .col-xs-2, .fitem .col-xs-3, .fitem .col-xs-4,
.fitem .col-xs-5, .fitem .col-xs-6, .fitem .col-xs-7, .fitem .col-xs-8,
.fitem .col-xs-9, .fitem .col-xs-10, .fitem .col-xs-11, .fitem .col-xs-12 {
	float: left;
}

.fitem .col-xs-12 { width: 100%; }
.fitem .col-xs-11 { width: 91.66666667%; }
.fitem .col-xs-10 { width: 83.33333333%; }
.fitem .col-xs-9 { width: 75%; }
.fitem .col-xs-8 { width: 66.66666667%; }
.fitem .col-xs-7 { width: 58.33333333%; }
.fitem .col-xs-6 { width: 50%; }
.fitem .col-xs-5 { width: 41.66666667%; }
.fitem .col-xs-4 { width: 33.33333333%; }
.fitem .col-xs-3 { width: 25%; }
.fitem .col-xs-2 { width: 16.66666667%; }
.fitem .col-xs-1 { width: 8.33333333%; }

@media (min-width: 768px) {
	.fitem .col-sm-1, .fitem .col-sm-2, .fitem .col-sm-3, .fitem .col-sm-4,
	.fitem .col-sm-5, .fitem .col-sm-6, .fitem .col-sm-7, .fitem .col-sm-8,
	.fitem .col-sm-9, .fitem .col-sm-10, .fitem .col-sm-11, .fitem .col-sm-12 {
		float: left;
	}
	
	.fitem .col-sm-12 { width: 100%; }
	.fitem .col-sm-11 { width: 91.66666667%; }
	.fitem .col-sm-10 { width: 83.33333333%; }
	.fitem .col-sm-9 { width: 75%; }
	.fitem .col-sm-8 { width: 66.66666667%; }
	.fitem .col-sm-7 { width: 58.33333333%; }
	.fitem .col-sm-6 { width: 50%; }
	.fitem .col-sm-5 { width: 41.66666667%; }
	.fitem .col-sm-4 { width: 33.33333333%; }
	.fitem .col-sm-3 { width: 25%; }
	.fitem .col-sm-2 { width: 16.66666667%; }
	.fitem .col-sm-1 { width: 8.33333333%; }
	
	.fitem .col-sm-offset-12 { margin-left: 100%; }
	.fitem .col-sm-offset-11 { margin-left: 91.66666667%; }
	.fitem .col-sm-offset-10 { margin-left: 83.33333333%; }
	.fitem .col-sm-offset-9 { margin-left: 75%; }
	.fitem .col-sm-offset-8 { margin-left: 66.66666667%; }
	.fitem .col-sm-offset-7 { margin-left: 58.33333333%; }
	.fitem .col-sm-offset-6 { margin-left: 50%; }
	.fitem .col-sm-offset-5 { margin-left: 41.66666667%; }
	.fitem .col-sm-offset-4 { margin-left: 33.33333333%; }
	.fitem .col-sm-offset-3 { margin-left: 25%; }
	.fitem .col-sm-offset-2 { margin-left: 16.66666667%; }
	.fitem .col-sm-offset-1 { margin-left: 8.33333333%; }
	.fitem .col-sm-offset-0 { margin-left: 0%; }
	
	.fitem .col-sm-push-12 { left: 100%; }
	.fitem .col-sm-push-11 { left: 91.66666667%; }
	.fitem .col-sm-push-10 { left: 83.33333333%; }
	.fitem .col-sm-push-9 { left: 75%; }
	.fitem .col-sm-push-8 { left: 66.66666667%; }
	.fitem .col-sm-push-7 { left: 58.33333333%; }
	.fitem .col-sm-push-6 { left: 50%; }
	.fitem .col-sm-push-5 { left: 41.66666667%; }
	.fitem .col-sm-push-4 { left: 33.33333333%; }
	.fitem .col-sm-push-3 { left: 25%; }
	.fitem .col-sm-push-2 { left: 16.66666667%; }
	.fitem .col-sm-push-1 { left: 8.33333333%; }
	.fitem .col-sm-push-0 { left: auto; }
	
	.fitem .col-sm-pull-12 { right: 100%; }
	.fitem .col-sm-pull-11 { right: 91.66666667%; }
	.fitem .col-sm-pull-10 { right: 83.33333333%; }
	.fitem .col-sm-pull-9 { right: 75%; }
	.fitem .col-sm-pull-8 { right: 66.66666667%; }
	.fitem .col-sm-pull-7 { right: 58.33333333%; }
	.fitem .col-sm-pull-6 { right: 50%; }
	.fitem .col-sm-pull-5 { right: 41.66666667%; }
	.fitem .col-sm-pull-4 { right: 33.33333333%; }
	.fitem .col-sm-pull-3 { right: 25%; }
	.fitem .col-sm-pull-2 { right: 16.66666667%; }
	.fitem .col-sm-pull-1 { right: 8.33333333%; }
	.fitem .col-sm-pull-0 { right: auto; }
}

@media (min-width: 992px) {
	.fitem .col-md-1, .fitem .col-md-2, .fitem .col-md-3, .fitem .col-md-4,
	.fitem .col-md-5, .fitem .col-md-6, .fitem .col-md-7, .fitem .col-md-8,
	.fitem .col-md-9, .fitem .col-md-10, .fitem .col-md-11, .fitem .col-md-12 {
		float: left;
	}
	
	.fitem .col-md-12 { width: 100%; }
	.fitem .col-md-11 { width: 91.66666667%; }
	.fitem .col-md-10 { width: 83.33333333%; }
	.fitem .col-md-9 { width: 75%; }
	.fitem .col-md-8 { width: 66.66666667%; }
	.fitem .col-md-7 { width: 58.33333333%; }
	.fitem .col-md-6 { width: 50%; }
	.fitem .col-md-5 { width: 41.66666667%; }
	.fitem .col-md-4 { width: 33.33333333%; }
	.fitem .col-md-3 { width: 25%; }
	.fitem .col-md-2 { width: 16.66666667%; }
	.fitem .col-md-1 { width: 8.33333333%; }
}

/* ============================================
   Block-Specific Styles
   ============================================ */

/* Base flexible item styles */
.fitem {
	padding-top: 50px;
	padding-bottom: 50px;
	line-height: 30px;
}

.fitem h2 {
	line-height: 52px !important;
	margin-bottom: 30px !important;
}

/* Center content alignment */
.fitem-center {
	text-align: center !important;
}

/* Background color variants */
.fitem-Beige {
	background-color: #F7F1EB;
}

.fitem-Grey {
	background-color: #f9f9f9;
}

.fitem-White {
	background-color: #fff;
}

/* Text styles */
.fitem-bb {
	font-weight: 500;
	color: #44819b;
	line-height: 26px;
	font-size: 20px;
}

.fitem-gg {
	text-align: center;
	color: #44819b;
	font-weight: 700;
}

/* CTA block styles */
.fitem-cta {
	text-align: center !important;
	padding-top: 100px !important;
	padding-bottom: 100px !important;
}

.fitem-buttons-center {
	text-align: center !important;
	width: 100%;
}

.fitem-toggle-cta {
	padding-top: 60px;
	padding-bottom: 60px;
}

/* Center heading styles */
.h2-center,
.center-h2 {
	text-align: center;
	margin-bottom: 30px;
}

.h3-intro {
	text-align: center;
	margin-bottom: 65px !important;
	color: #CA8C40;
	margin-top: -15px !important;
}

/* Two column text */
.twocol {
	text-align: center;
}

/* Four icons block */
.ficon-caption {
  	text-align: center; 	
  margin-bottom: 20px;
	margin-top: 20px;
	font-size: 22px;
	font-weight: 400;
	line-height: 26px;
}

a .ficon-caption {
	color: #000 !important;
}

.gis_services_container {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 250px;
        width: 250px;
        border-radius: 150px;
	transition: all 0.2s ease-in-out;
	margin: 0 auto;
    }

    .gis_services_container:hover {
        transform: scale(1.1);
        box-shadow: 0px 0px 7px 1px #00000069;
    }

    .gis_library {
        background-color: #5490B4;
    }

    .gis_advisor {
        background-color: #CB8C40;
    }

    .gis_webinar {
        background-color: #21A5A0;
    }

    .gis_cabinet {
        background-color: #89C4E8;
    }

.gis_webinar > svg {
        transform: scale(0.6);
    }

.gis_services_container g#tilted_book > path {
        fill: #fff;
        transition: all 0.2s ease-in-out;
    }

.gis_services_container:hover g#tilted_book > path {
	fill: #fff;
	transition: all 0.2s ease-in-out;
    }

.gis_services_container:hover g#move_book > path {
	fill: #fff;
        transition: all 0.2s ease-in-out;
    }

.gis_services_container:hover g#books_left > path {
	fill: #fff;
        transition: all 0.2s ease-in-out;
    }

.gis_services_container g#sound_waves > path {
	fill: #fff;
        transition: all 0.2s ease-in-out;
    }

.gis_services_container:hover g#sound_waves > path {
	fill: #fff;
        transition: all 0.2s ease-in-out;
}

.gis_services_container:hover g#sound_waves > path:nth-child(1) {
	transform: translateY(-5px);
}

.gis_services_container:hover g#sound_waves > path:nth-child(2) {
	transform: translateY(-3px);
}

.gis_services_container:hover g#sound_waves > path:nth-child(3) {
	transform: translateY(-1px);
}

.gis_services_container:hover g#right_wing > path {
	fill: #fff;
        transition: all 0.2s ease-in-out;
    }

.gis_services_container:hover g#left_wing > path {
	fill: #fff;
        transition: all 0.2s ease-in-out;
    }

    .gis_services_container svg#Group_17 path {
	fill: #fff;
        transition: all 0.2s ease-in-out;
        transition-delay: 0.2s;
    }

.gis_services_container:hover g#dialog_bubble > path {
	fill: #fff;
}

.gis_services_container:hover g#shield > path {
        fill: #fff;
    }

.gis_services_container:hover g.conversation_dots:nth-of-type(1) > path {
        fill: #fff;
        transition: all 0.2s ease-in-out;
    }

.gis_services_container:hover g.conversation_dots:nth-of-type(2) > path {
	fill: #fff;
        transition: all 0.2s ease-in-out;
    }

.gis_services_container:hover g.conversation_dots:nth-of-type(3) > path {
	fill: #fff;
        transition: all 0.2s ease-in-out;
    }

    .gis_services_container:hover g.conversation_dots:nth-of-type(1) {
	transform: translateX(-2px);
    }

    .gis_services_container:hover g.conversation_dots:nth-of-type(2) {
	transform: translateX(0px);
    }

    .gis_services_container:hover g.conversation_dots:nth-of-type(3) {
	transform: translateX(2px);
}

/* Image left/right block */
.fitem-lr img {
	border-radius: 10px;
}

/* Responsive video/embed styles for video_lr block */
.fitem .embed-responsive {
	position: relative;
	display: block;
	height: 0;
	padding: 0;
	overflow: hidden;
	width: 100% !important;
	max-width: 100% !important;
}

.fitem .embed-responsive .embed-responsive-item,
.fitem .embed-responsive iframe,
.fitem .embed-responsive embed,
.fitem .embed-responsive object,
.fitem .embed-responsive video {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	bottom: 0 !important;
	right: 0 !important;
	height: 100% !important;
	width: 100% !important;
	border: 0;
	max-width: none !important;
	min-width: 100% !important;
}

.fitem .embed-responsive-16by9 {
	padding-bottom: 56.25%; /* 16:9 aspect ratio */
}

.fitem .embed-responsive-4by3 {
	padding-bottom: 75%; /* 4:3 aspect ratio */
}

/* Ensure video_lr block video containers take full width of column */
.fitem .col-sm-6 .lr-wrapper-Left,
.fitem .col-sm-6 .lr-wrapper-Right {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

.fitem .lr-wrapper-Left .embed-responsive,
.fitem .lr-wrapper-Right .embed-responsive {
	width: 100% !important;
	max-width: 100% !important;
}

/* Force all iframes and videos in video_lr block to be full width */
.fitem .col-sm-6 iframe,
.fitem .col-sm-6 embed,
.fitem .col-sm-6 object,
.fitem .col-sm-6 video {
	max-width: 100% !important;
	width: 100% !important;
	height: auto;
}

/* Additional responsive wrapper for video_lr block - force full width */
.fitem .lr-wrapper-Left iframe,
.fitem .lr-wrapper-Right iframe,
.fitem .lr-wrapper-Left embed,
.fitem .lr-wrapper-Right embed,
.fitem .lr-wrapper-Left object,
.fitem .lr-wrapper-Right object,
.fitem .lr-wrapper-Left video,
.fitem .lr-wrapper-Right video {
	max-width: 100% !important;
	width: 100% !important;
	min-width: 100% !important;
	height: auto;
}

/* Override any inline styles or fixed dimensions on video embeds */
.fitem .embed-responsive iframe[width],
.fitem .embed-responsive iframe[height] {
	width: 100% !important;
	height: 100% !important;
}

/* Ensure the column container itself allows full width */
.fitem .col-sm-6.imgleft,
.fitem .col-sm-6.imgright {
	width: 50% !important;
}

/* Force video wrapper to fill entire column width */
.fitem .col-sm-6 .lr-wrapper-Left,
.fitem .col-sm-6 .lr-wrapper-Right {
	min-width: 100% !important;
}

/* Ensure embed container fills wrapper */
.fitem .lr-wrapper-Left .embed-responsive,
.fitem .lr-wrapper-Right .embed-responsive {
	min-width: 100% !important;
}

/* Button styles */
.fitem-btn {
	box-shadow: 1px 2px 7px #00000059;
	border-radius: 10px !important;
	color: #fff !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	padding: 18px;
	line-height: 50px;
	text-shadow: none;
	text-decoration: none;
	display: inline-block;
}

.fitem-btn:hover {
	text-decoration: none !important;
}

.btn-large {
	font-size: 24px !important;
	box-shadow: 1px 2px 7px #00000059;
	padding: 25px;
	border-radius: 10px !important;
	color: #fff !important;
	text-transform: uppercase;
	font-weight: 600 !important;
	text-decoration: none;
	display: inline-block;
}

.btn-orange {
	background: rgb(230, 180, 46);
	background: linear-gradient(180deg, rgba(230, 180, 46, 1) 13%, rgba(203, 141, 64, 1) 71%);
}

.btn-blue {
	background: rgb(230, 180, 46);
	background: linear-gradient(180deg, rgba(230, 180, 46, 1) 13%, rgba(203, 141, 64, 1) 71%);
	filter: hue-rotate(175deg);
}

.btn-outline {
	transition: all 0.2s ease-in-out;
	border: 2px solid #ce8e43;
	border-radius: 10px;
	box-shadow: 1px 2px 7px #00000059;
	color: #000000;
	background-color: #fff;
	font-size: 22px;
	padding: 35px 60px;
	line-height: 120px;
	text-decoration: none;
	display: inline-block;
}

.btn-outline:hover {
	background-color: #ce8e43;
	color: #fff;
	text-decoration: none !important;
}

.fitem .panel-default {
	border: none!important;
	margin-bottom: 12px!important;
}

.navbar .dropdown-menu .menu-item a {
	text-transform: none!important;
	font-weight: 500!important;
	text-align: left!important;
	background-color: transparent!important;
	
}

/* Striped toggles (accordion) styles */
.striped-toggles .panel-default h4 {
	font-family: "ivyjournal", serif !important;
	color: #fff !important;
	font-weight: 500 !important;
	font-size: 19px !important;
}

.striped-toggles .panel-heading {
	border-radius: 3px!important;
	padding: 15px!important;
}


.striped-toggles .panel-default:nth-of-type(even) .collapsed .panel-heading { 
	background-color: #6CAED6 !important;
}

.striped-toggles .panel-default:nth-of-type(odd) .collapsed .panel-heading {
	background-color: #8AC4E8 !important;
}

.striped-toggles .panel-heading {
	background-color: #CA8C40;
}

.accordion-toggle:hover, 
.accordion-toggle:active {
	text-decoration: none !important;
}

.striped-toggles .accordion-toggle .panel-heading:after {
	font-family: 'Glyphicons Halflings' !important; 
	content: "\2b" !important; 
	float: right !important; 
	color: #6CAED6 !important;  
	font-size: 15px !important;
	font-weight: bold !important;
	line-height: 1 !important;
	padding: 0 !important;
	margin-right: -2px !important;
	margin-top: -21px !important;
	padding-top: -1px !important;
	padding-bottom: 1px!important;
	background-color: #fff !important;
	border-radius: 50% !important;
	width: 20px !important;
	height: 20px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	flex-shrink: 0 !important;
}

.striped-toggles .accordion-toggle:not(.collapsed) .panel-heading:after {
	content: "\2212" !important; 
}

.striped-toggles .accordion-toggle.collapsed .panel-heading:after {
	content: "\2b" !important; 
}

/* Icon toggles (accordion with icons) styles */
.icon-toggles .panel-default {
	background-color: #F8F5F1;
	border: none !important;
	color: #3a3a3a !important;
	padding-top: 15px;
	padding-bottom: 10px;
	margin-bottom: 30px;
	padding-left: 10px;
}

.icon-toggles .panel-default h4 {
	font-size: 25px !important;
	padding: 0px !important;
	margin: 0px !important;
	color: #3a3a3a !important;
	text-decoration: none !important;
	line-height: 1em !important;
	display: flex !important;
	align-items: center !important;
}

.panel-default h4:hover {
	text-decoration: none !important;
}

.icon-toggles .panel-default img {
	width: 225px !important;
	height: 160px !important;
	object-fit: cover !important;
	object-position: center !important;
	margin-right: 20px !important;
	flex-shrink: 0 !important;
	display: block !important;
}

.icon-toggles .accordion-toggle .panel-heading:after {
	font-family: 'Glyphicons Halflings' !important; 
	content: "\2b" !important; 
	float: right !important; 
	color: #fff !important;  
	font-size: 16px !important;
	font-weight: bold !important;
	line-height: 1 !important;
	padding: 0 !important;
	margin-right: 12px !important;
	margin-top: -95px !important;
	background-color: #CA8C40 !important;
	border-radius: 50% !important;
	width: 30px !important;
	height: 30px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	flex-shrink: 0 !important;
}

.icon-toggles .accordion-toggle:not(.collapsed) .panel-heading:after {
	content: "\2212" !important; 
}

.icon-toggles .accordion-toggle.collapsed .panel-heading:after {
	content: "\2b" !important; 
}

.panel-heading:hover {
	text-decoration: none !important;
}

/* Responsive styles */
@media (max-width: 767px) {
	.gis_services_container, 
	.ficon-caption {
		text-align: center !important;
	}
	
	.gis_services_container svg {
		margin-left: auto;
		margin-right: auto;
	display: block;
		margin: auto;
	}
	
	.btn-large {
		font-size: 16px !important;
		line-height: 75px;
	}
}
