.wi_hidden {
	display: none;
}

a, a:visited, a:hover, a:active {
  color: inherit;
}

body:has(.fixed-top) {
	/* This is to work with navbar fixed-top */
	margin-top: 120px;
}
/*
@media (max-width: 767px) {
	
	body:has(.fixed-top) {
		margin-top: 200px;
	}
	
}
@media (max-width: 481px) {
	
	body:has(.fixed-top) {
		margin-top: 240px;
	}
	
}
*/




.wi_text-primary {
	/*color: rgb(13, 89, 204) !important;*/
	color: rgb(0 60 111) !important;
}



.wi_customButtonCarrousel {
	background-color: #75a542;
	border-width: 0;
}

.wi_customButtonCarrousel:hover {
	background-color: #2971f4;
	border-width: 0;
}

.wi_customButton:hover {
	background-color: #75a542;
	border-width: 0;
}


.wi_carouselcaptiontitle {
	font-weight: bold;
	font-size: xxx-large;

}

.wi_carouselimage {
	background-position: center;
	background-size: cover;
}

.carousel-caption {
	position: revert !important;
	color: #ffffff;
	
}

.carousel-caption {
	text-shadow: 5px 5px 4px #575757;
	
}

.wi_index .wi_pagetitlediv {
	padding-top: 10px;
	
	margin-top:30px;
	margin-bottom:30px;
	text-align:center;
	
	/* parenthesis - border effect on the sides */
	border-style: solid;
    border-width: thick;
	/* center contents */
	/* done with the row justify-content-center and col-md-10
    margin-left: auto;
    margin-right: auto;
	*/
    margin-left: 30px;
    margin-right: 30px;
    border-top: none;
    border-bottom: none;
    border-radius: 10px;
    border-color: #003c6f;
	
	/* This one makes the text look weird (a couple of words left in the sentence in the line below on each line)
	max-width: 960px;
	*/
}

.wi_index .wi_pagetitlediv .blockquote {
margin: 40px;
}

.wi_horizontal_line {
	height:1px;
	background-color: lightgray;
	margin-top: 20px;
	margin-bottom:20px;
	
	width: 80%;	
	/* below margins "center" the line */
	margin-left: auto;
    margin-right: auto;
}

.wi_groupcontainer {
	padding-top: 30px;
	padding-bottom:30px;
}

.wi_groupcontainer > :first-child {
	padding-top: 30px;

}

.wi_feature_container {
	margin-top: 30px;
}
.wi_feature_container .wi_feature_title {
	text-align: center;
}
.wi_feature_container .wi_sideimage {
	max-width: 200px;
	border-color: white;
}

.wi_feature_container a .wi_sideimage:hover {

border-style: solid;
    border-radius: 20px;
    border-width: 1px;
    border-color: #75b798;
    background-color: aliceblue;

	-webkit-transition: background-color 1000ms linear;
    -ms-transition: background-color 1000ms linear;
    transition: background-color 1000ms linear;
	
	-webkit-transition: border-color 1000ms linear;
    -ms-transition: border-color 1000ms linear;
    transition: border-color 1000ms linear;
}

.wi_index .carousel-caption {
	color: #003c6f;
	text-shadow: none;
}
.wi_your_data .carousel-caption {
	color: #003c6f;
	text-shadow: none;
}


.carousel-indicators {
	border-bottom: 1px solid #bbb;
}

.carousel-control-next,
.carousel-control-prev /*, .carousel-indicators */ {
    filter: invert(100%);
}

.wi_featuresfooter {
	background-color: #003b6d;
}


/* Contact us top shows on small screens and bottom on big ones */
.wi_contactusdiv_top {
	display:none;
}	
.wi_contactusdiv_bottom {
	display:block;
}	



/* These styles apply to the largest screens */
@media (min-width: 1001px) {
	
	.carousel {
		max-height: 400px;
	}

	.carousel-inner {
		max-height: 400px;
	}

	.carousel-item {
		max-height: 400px;
	}




	.carousel-caption {
		margin-top: 60px;
		/*margin-bottom: 120px;*/
		margin-left: 120px;
		margin-right: 120px;
		padding: 20px;
	}

	

	.carousel-caption p { 
		margin-left:20px;
		margin-right: 20px;
	}


	.wi_sqlserverimage {
		max-width: 400px;	
	}

	.wi_iccologoimage {
		max-width: 300px;	
	}



	.wi_container-for-features {
		width: 70%;
	}
}

/* These styles apply to the medium screens */
@media (max-width: 1000px) {
	.wi_carouselcaptiontitle {
		font-size: xx-large;
	}


	.carousel {
		max-height: 600px;
	}

	.carousel-inner {
		max-height: 600px;
	}

	.carousel-item {
		max-height: 600px;
	}

	.carousel-caption {
		margin: 90px
	}

.carousel-caption p { 
	margin-left:unset;
	margin-right:unset;
}

	.wi_container-for-features {
		width: 70%;
	}

}

/* END OF: These styles apply to the medium screens */

@media (max-width: 700px) {
	/* Contact us top shows on small screens and bottom on big ones */
	.wi_index_main .wi_contactusdiv_top {
		display:block;
	}	
	.wi_index_main .wi_contactusdiv_bottom {
		display:none;
	}	


}


/* These styles apply to the small screens */


@media (max-width: 500px) {

	/* Contact us top shows on small screens and bottom on big ones 
	For attorneys and other microsites, there are fewer buttons so we can go a bit smaller until we flip the contact us
	*/
	.wi_contactusdiv_top {
		display:block;
	}	
	.wi_contactusdiv_bottom {
		display:none;
	}		
	
	
	.wi_contactusdiv {
		/* this prevents it from appearing on the top and then moving down to the next row when expanding */
		min-width: 180px;
		max-width: 180px;
	}
	
	.wi_carouselcaptiontitle {
		font-size: medium;
	}


	.carousel {
		max-height: 800px;
	}

	.carousel-inner {
		max-height: 800px;
	}

	.carousel-item {
		max-height: 800px;
	}

	.carousel-caption {
		margin: 60px
	}

	/* About us text looks better justified when the screen is very small */
	.wi_custom_aboutustextcol {
		text-align: justify;
	}

	.wi_container-for-features {
		width: 100%;
	}

	/* Hide the navbar separator when the screen gets too small on the main site since it has so many button */
	.wi_navbar_nav .wi_nav_item:has(.wi_navbar_separator) {
		display:none;
	}
	
	/* Hide the law icon on the For Attorneys when the screen is small since the separator is disappearing */
	.wi_navbar_forattorneys i {
		display: none;
	}
	
	/* hide brackets (border) on page title */
	.wi_index .wi_pagetitlediv {
		border-style: none;
	}

	

}

/* END OF: These styles apply to the small screens */

/* These styles apply to the smallest screens */
@media (max-width: 350px) {
	.wi_carouselcaptiontitle {
		font-size: small;
	}

	.carousel {
		max-height: 1000px;
	}

	.carousel-inner {
		max-height: 1000px;
	}

	.carousel-item {
		max-height: 1000px;
	}

	.carousel-caption {
		margin: 50px
	}

	/* About us text looks better justified when the screen is very small */
	.wi_custom_aboutustextcol {
		text-align: justify;
	}

	.wi_container-for-features {
		width: 100%;
	}

}

/* END OF: These styles apply to the smallest screens */


.card:hover {
	background-color: #2971f4;
	color: #ffffff;
}

.card-title-emphasis {
	font-size: 60px;
}

/* Styles for index.htm */
.wi_index .customButtonCarrouselContact:hover {
	background-color: #2971f4;
	border: 0;
}
.wi_your_data .customButtonCarrouselContact:hover {
	background-color: #2971f4;
	border: 0;
}

.wi_index .card {
	border-width: 0;
}

.wi_featurecard {
	/*display: none;*/
	max-height: 180px;
	/*visibility: hidden;*/
	transition: max-height 0.5s ease-in-out, height 0.5s ease-in-out;
	color: #003b6d !important;
	border-style: solid;
    border-width: thin !important;
}

.wi_featurecard:hover {
	/*display: block;*/
	/*visibility: visible;*/
	max-height: 800px;
	height: 400px;
	transition: max-height 0.5s ease-in-out, height 0.5s ease-in-out;
	background-color: #dff2f5;
}

.wi_featurecard .wi_featurecardtext {
	/*display: none;*/
	visibility: hidden;
	opacity: 0;
	transition: visibility 0s ease-in-out, opacity 0s ease-in-out;

}

.wi_featurecard:hover .wi_featurecardtext {
	/*display: block;*/
	/*display: none;*/
	visibility: visible;
	opacity: 1;
	transition-delay: 1s;
	transition: visibility 0.5s ease-in-out, opacity 0.5s ease-in-out;
	color: #003b6d !important;
}

/* Styles for testimonial box */
.wi_index .wi_rectangle {
	border: 2px solid gainsboro;
	position: relative;
	min-width: 300px;
	margin-bottom: 20px;
}

.wi_index .triangle {
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid gainsboro;
	position: absolute;
	bottom: -10px;
	left: 20px;
}

.wi_index .triangle2 {
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid white;
	position: absolute;
	bottom: -7px;
	left: 20px;
}

.wi_blockquote_smallfont {
	font-size: small;
	font-weight: 500;
}

.wi_importantstats {
	min-width: 250px;
}

.wi_importantstats_smallerfont .wi_individualimportantinfo h1 {
	font-size: xxx-large;
}

.wi_importantinfoparentdiv {
	background-image: linear-gradient(to right, #005596, #17284b);
}

.wi_onesolutionparentdiv {
	background-image: linear-gradient(to right, #005596, #17284b);
	padding-bottom: 20px;
}

.wi_blogcard {
	max-width: 300px;
	background-color: white;
	padding: 0px;
	margin: 20px;
}

.wi_blogcardimageborder {
	border-radius: 7px 7px 0px 0px;
}

.wi_roundborder {
	border-radius: 7px;
}

.wi_cardbody {
	margin: 20px;
}

.wi_cardbody h5 {
	margin-bottom: 10px;
}

.wi_latestnews {
	padding-bottom: 30px;
}

.wi_featurecard {
	width: 20rem;
	text-decoration: none;
}

.wi_featurecardtext {
	margin: 10px;
}

/* Styles for the Features Pages */

/* 1 carousel Image on Home: Clouds blue sky */
.wi_carouselimage1 {
	background-image: url("https://picsum.photos/id/53/1600/600");
}

.wi_index .wi_carouselimage1 {
	/*background-image: url("https://picsum.photos/id/53/1600/600");
	*/
	background-image: none;
}



/* 2 carousel Image on Home: Finger in Screen */
.wi_carouselimage2 {
	background-image: url("https://picsum.photos/id/341/1600/600");
	background-position: right;
	
	/* This image looks better with right */
}
.wi_index .wi_carouselimage2 {
	/*background-image: url("https://picsum.photos/id/341/1600/600");
	background-position: right;
	*/
	/* This image looks better with right */
	background-image: none;
}
.wi_your_data .wi_carouselimage2 {
	/*background-image: url("https://picsum.photos/id/341/1600/600");
	background-position: right;
	*/
	/* This image looks better with right */
	background-image: none;
}

/* 3 carousel Image on Home: Man Writing with Watch */
.wi_carouselimage3 {
	background-image: url("https://picsum.photos/id/4/1600/600");
	
}
.wi_index .wi_carouselimage3 {
	/*background-image: url("https://picsum.photos/id/4/1600/600");
	*/
	background-image: none;
}

/* 4 carousel Image on Home: Man and woman writing in notebook blur */
.wi_carouselimage4 {
	background-image: url("https://picsum.photos/id/7/1600/600?blur=7");
}

/* 5 carousel Image on Home: Man writing in notebook blur */
.wi_carouselimage5 {
	background-image: url("https://picsum.photos/id/4/1600/600?blur=7");
}

/* 6 carousel Image on Home: glasses on top of a computer blur */
.wi_carouselimage6 {
	background-image: url("https://picsum.photos/id/201/1600/600?blur=7");
}

/* 7 carousel Image on Home: Back of the computer blur */
.wi_carouselimage7 {
	background-image: url("https://picsum.photos/id/48/1600/600?blur=7");
}

/* 8 carousel Image on Home: Tablet with a document blur  */
.wi_carouselimage8 {
	background-image: url("https://picsum.photos/id/367/1600/600?blur=7");
}

/* 9 carousel Image on Home: Man writing on a computer blur */
.wi_carouselimage9 {
	background-image: url("https://picsum.photos/id/1/1600/600?blur=7");
}

/* 10 carousel Image on Home: Man looking at a phone, with computer in the background blur */
.wi_carouselimage10 {
	background-image: url("https://picsum.photos/id/3/1600/600?blur=7");
}

/* 11 carousel Image on Home: Man writing on a computer with the cellphone by his side blur  */
.wi_carouselimage11 {
	background-image: url("https://picsum.photos/id/5/1600/600?blur=7");
}

/* 12 carousel Image on Home: a lot of Locks with blur  */
.wi_carouselimage12 {
	background-image: url("https://picsum.photos/id/336/1600/600?blur=7");
}

/* 13 carousel Image on Home: Computer opened with blur */
.wi_carouselimage13 {
	background-image: url("https://picsum.photos/id/2/1600/600?blur=7");
}

/* 14 carousel Image on Home: Clocks with blur */
.wi_carouselimage14 {
	background-image: url("https://picsum.photos/id/175/1600/600?blur=7");
}

/* 15 carousel Image on Home: interesting pattern*/
.wi_carouselimage15 {
	background-image: url("https://picsum.photos/id/618/1600/600?blur=1");
}

/* 16 carousel Image on Home: Clouds blue sky */
.wi_carouselimage16 {
	background-image: url("https://picsum.photos/id/114/1600/600");
}

/* 17 carousel Image on Home: Cloud Logos*/
.wi_carouselimage17 {
	background-image: url(../../../Images/Cloud_Logos.svg);
}

/* 18 carousel Image on Home: Cloud Logos*/
.wi_carouselimage18 {
	background-image: url(../../../Images/Cloud_Logos.svg);
}


/* Carousel Blog: Computer with a weird Head in the screen with blur*/
.wi_carouselimage19 {
	background-image: url("https://picsum.photos/id/370/1600/600?blur=3");
}

/* Carousel Blog:  */
.wi_carouselimage20 {
	background-image: url("https://picsum.photos/id/370/1600/600?blur=3");
}

/* Carousel Blog: Opened notebook with a phone on top and an opened computer with blur*/
.wi_carouselimage21 {
	background-image: url("https://picsum.photos/id/20/1600/600?blur=2");
}

/* Carousel Blog: Computer and Notebook with blur*/
.wi_carouselimage22 {
	background-image: url("https://picsum.photos/id/668/1600/600?blur=2");
}



/* not all have the wi_bulletpoints class */
ul {
	margin-left: 30px;
}

.wi_bulletpoints {
	text-align: left;
	margin-left: 30px;
}
.wi_bulletpoints li {
	padding:4px;
   border-color: white;

}

.wi_bulletpoints li:hover:has(a) {
border-style: solid;
    border-radius: 10px;
    border-width: 1px;
    padding: 5px;
    background-color: aliceblue;
    border-color: #003c6f; /* dark blue*/
    padding-left: 10px;
	
	-webkit-transition: background-color 1000ms linear;
    -ms-transition: background-color 1000ms linear;
    transition: background-color 1000ms linear;
	
	-webkit-transition: border-color 1000ms linear;
    -ms-transition: border-color 1000ms linear;
    transition: border-color 1000ms linear;


}
.wi_bulletpoints li:hover::marker {
 /*font-size: 20px;*/
  color: cornflowerblue;
  
  	
}

.wi_bulletpoints li i {
	/* add a little space around the icon like the video icon */
	padding-left:5px;
	padding-right:5px;
   

}
.wi_bulletpoints li a {
	text-decoration: none;
	
}



blockquote i.fa-solid {
	padding-right: 20px;
	font-size: x-large;
}

.wi_carouselbottombutton {
	text-align: center;
	margin-bottom: 20px;
}

.wi_takingshadowoff {
	text-shadow: none !important;
}

.wi_listgroupitem {
	margin-bottom: 10px;
	padding: 30px;
}

.wi_findoutmore i {
	/* add a little space around the icon like the video icon */
	padding-left:10px;
	padding-right:5px;
   

}


.wi_heading4div {
	text-align: center;
	background-color: aliceblue;
	border-radius: 10px;
	padding: 10px;
	margin: 20px;
}

.wi_containerwithsideimage {
	padding:30px;
	max-width:1200px;
}
.wi_containerwithsideimage .row .col-md:has(img) {
	text-align: center;
}

.wi_sideimage {
	/* Prevent some images from growing a lot when seen in a small device (like the SQL Server image) */
	max-height: 500px;
}

.wi_center {
	text-align: center;
}
.wi_findoutmore {
	color: white !important; /* we don't want to inherit because the parent text might be gray */
}

.wi_centerimagediv {
	text-align:center;
}

.wi_bulletpointsinfeatures {
	padding-left: 40px;
    padding-top: 10px;
}


.wi_personalphotodiv .image {
	max-width: 20rem; max-height: 70rem;
}

.wi_custom_teampersonalpictures {
	padding-top: 20px;
    padding-bottom: 20px;
}

colgroup col.wi_colspansuccess {
	background-color: green !important;
}

/* This is the For Attorneys on the navbar in the attorney microsite */
.wi_navbar_forattorneys {
	display:none;
}
.wi_site_attorneys .wi_navbar_forattorneys {
	display:block;
	padding: 14px; /* This centers it vertically better than the margin top/bottom auto*/
    font-size: larger;
}
.wi_site_attorneys .wi_nav_item_legal {
	display: none;
}
.wi_site_attorneys .wi_nav_item_educational {
	display: none;
}
.wi_site_attorneys .wi_nav_item_medical {
	display: none;
}
.wi_site_attorneys .wi_nav_item_service {
	display: none;
}

.wi_navbar_forattorneys i {
	padding-right: 20px;
    font-size: x-large;
    background-color: transparent;
	color: #003c6f !important /* #66a944 green*/;
	text-align: center;
}



/* this is the container only for the icons of the navbar */
.wi_navbar_nav {
padding-top: 7px;
}

.wi_navbar_outerdiv {
	/* Needed when the navbar is two rows when shrinking the screen */
	padding-bottom: 10px;
}

/* This is the Contact Us button*/
.wi_navbar_outerdiv .btn.wi_custombutton {
	background-color: #003c6f /*dark blue*/;
    color: white;
	height:52px; /* to match the navbar icons */
}
.wi_navbar_outerdiv .btn.wi_custombutton {
	color: white !important;
	    font-size: large;
max-width: fit-content;		
}

.wi_navbar_outerdiv .btn.wi_custombutton i {
	/* used only on hover when showing the text
		margin-left: 20px;
	*/
    font-size: xx-large;
}
	
/* hover effect on Contact Us */
.wi_navbar_outerdiv .btn.wi_custombutton:hover i {
	margin-left: 20px;    
}
.wi_navbar_outerdiv .btn.wi_custombutton .wi_text_inside_button {
	display:none;
}
.wi_navbar_outerdiv .btn.wi_custombutton:hover .wi_text_inside_button {
	display:block;
}
.wi_navbar_outerdiv .btn.wi_custombutton:hover .wi_text_inside_button {
	display:block;
}


.wi_custom_comparisontablediv table tbody tr td:nth-of-type(2) {
    background-color: #e8ffdc9c;
}
/*#003c6f dark blue*/
/* #66a944 green*/

.wi_navbar_overlayfeaturelist {
	text-align: left;
	margin: 5px;
	/* Unfortunately we need to set a fixed width so the bolding of the text on hover doesn't push make the box grow and shrink as you hover over the longest feature text */
	width: 250px;
}
.wi_navbar_overlayfeaturelist div a {
	color: #003c6f !important;
	text-decoration: none;
}
.wi_navbar_overlayfeaturelist div:hover {
	font-weight: bold;	
	/*
	overflow:hidden;
	background-color: lightgray;
	*/
}
.wi_navbar_overlayfeaturetitle {
	text-align: left;
	font-size: x-large;
	margin-bottom:5px;
}


.wi_navbar_icon i {
	font-size: x-large;
    color: #003c6f !important /* #66a944 green*/;
	background-color: white;
    border-radius: 10px;
	width: 48px;
	text-align: center;
    margin: 5px;
	
	/* new navbar that uses div */
	height: 48px;
    padding-top: 10px;
	display: block;
}


/* Overlay text is visible ONLY on hover or when clicking (on touch devices), so specify the colors as if this was visible (hovered on) */
.wi_navbar_icon_overlaytext {
	font-size: medium;
	background-color: white;
    border-radius: 10px;
	border-top-left-radius: 0px;
    padding: 10px;
    /*margin-top: 15px;*/
	margin-left: 5px;
    /* This margin offsets it so the borders line up. If you comment it out it moves to the middle
		margin-left: -8px;
	*/
	/* hover color */
	color: #003c6f !important /* #66a944 green*/;
	border-style: solid;
	border-width: thin;

}
.wi_navbar_icon:hover .nav-link {
	/* This code below is used to merge the background borders with the overlay text.
	border-bottom-left-radius: 0px;
	border-bottom-right-radius: 0px;
	*/
	background-color: white  /*#003c6f dark blue*/;	
	color: #003c6f !important;
	
}
.wi_navbar_icon:hover .wi_nav_link {
	/* This code below is used to merge the background borders with the overlay text.
	border-bottom-left-radius: 0px;
	border-bottom-right-radius: 0px;
	*/
	background-color: white  /*#003c6f dark blue*/;	
	color: #003c6f !important;
	
}

.wi_navbar_separator {

	width: 1px;
    background-color: darkslategray;
    height: 50px;
    /* padding: 10px; */
    margin: 10px;
    margin-top: 7px;
}


/* Hover effect on navbar icons 
Floats and hides content with height and overflow
*/
.wi_navbar_div_grow {
  float: left;
  overflow: hidden;
  position: relative;

  height: 49px;
  width: 49px;

  transition: height 0.5s;
  -webkit-transition: height 0.5s;

	z-index:0;
  /*
  padding: 5px 5px 5px 5px;
	border-radius: 10px;
  margin: 5px 1% 5px 1%;
  text-align: center;
    */

}
.wi_navbar_icon_grow {
	position:absolute; 
	top:0; 
	left:0; 
	z-index:1; 
	width:100%; 
	background:#FFF; 
	/*
	border:1px solid #999; 
	border-top:0;
	*/
}
/* On hover we make the overflow visible and give the icon to show a higher z index
*/
.wi_navbar_div_grow:hover {
  /*
  height: 145px;
 */
  overflow:visible;

}
.wi_navbar_div_grow:hover .wi_navbar_icon_grow {
	z-index:200;
	}
/* A different approach. Here we hide the description and show it on hover
*/

.wi_navbar_icon_overlaytext {
	display:none;
	position: absolute;
    /* float: none; */
    top: auto;
    left: auto;	
	z-index:2;
}
.nav-item:hover .wi_navbar_icon_overlaytext {
	display:block;
}
.wi_nav_item:hover .wi_navbar_icon_overlaytext {
	display:block;
}

.wi_brand {
	/* This was not aligning it exactly right because the image itself is not centered
	margin-top: auto;
    margin-bottom: auto;
	*/
	
	margin-top: 10px;
	
	min-width:154px;
}

.wi_brand img {
	height: 50px;
}

.wi_contactusdiv {
	margin-top: auto;
    margin-bottom: auto;
	min-width: 160px;
}
.wi_contactusdiv a {
	
}
.wi_contactusdiv .btn {
	margin:10px;
}



.wi_featuredetailimage {
	max-width: 800px;
}

/* This is the image on the top of some feature pages like TaskPerfectGeminiAI */
.wi_topfeatureimage {
	margin-top: -40px;
    height: 140px;
    color: white;
    text-shadow: 5px 5px 7px black;
    text-align: center;
    padding-top: 20px;
}

/* Content only for attorneys */
.wi_content_attorneys {
	display: none;
}
.wi_site_attorneys .wi_content_attorneys {
	display: block;
}
.wi_site_attorneys .wi_content_generic {
	display: none;
}

