toggle-text@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,400i,600,700|Raleway:300,400,500,600,700');

html, body {
	min-height: 100%;
}
body {
	background: #fff;
	font-family: 'Open Sans', sans-serif;
	font-style: normal;
	font-weight: 400;
	overflow-x: hidden;
}
/*---------------------------------------
   Menu              
-----------------------------------------*/

.select-menu{
	 -webkit-appearance: none;
	 -moz-appearance: none;
	  text-indent: 1px;
	  text-overflow: '';
}
	.select-menu::-ms-expand {
	    display: none;
}

/*---------------------------------------
   Typorgraphy              
-----------------------------------------*/

h1, h2, h3, h4, h5, h6 {
	font-family: 'Arial', Helvetica Neue, Lucida Grande, 'sans-serif'sans-serif;
}
h1, h2, h4 {
	font-weight: 500;
}
h1 {
	text-transform: uppercase;
	font-size: 50px;
}
h2 {
	color: #272727;
	font-size: 36px;
	margin: 20px 0px;
}
h3 {
    font-size: 14px;
    line-height: 24px;
	margin-bottom: 20px;
}
h4 {
	color: #454545;
	font-size: 18px;
	line-height: 26px;
}
h5 {
	letter-spacing: 0.5px;
}
p {
	color: #333;
	font-size: 16px;
	font-weight: 300;
	line-height: 26px;
}
ul, ol {
	list-style: none;
	padding: 0;
	margin: 0;
}


/* Gradient transparent - color - transparent */

hr.style-two {
    border: 0;
    height: 1px;
	opacity: .4;
	margin: 10px 0;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));	
}
/*---------------------------------------
   Buttons               
-----------------------------------------*/

.btn-success:focus {
	background-color: #000;
	color: #ffffff;
}
.section-btn {
	background: #2196F3;
	border-radius: 5px;
	color: #ffffff;
	font-size: 18px;
	font-weight: 700;
	padding: 15px 50px;
	margin-top: 22px;
	text-transform: uppercase;
	border: none;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
.section-btn:focus, .section-btn:hover {
	background: #fff;
	color: #2196F3;
}

.section-title .subtitle {
	letter-spacing: .05em;	
	}	


/*---------------------------------------
    Testimonials section              
-----------------------------------------*/
#testimonials {
	color: #000;
	padding: 50px 0;
	background: #ffffff;
}
.section-title {
	margin-bottom: 0;
    padding-bottom: 0;
}
.testimonialsList {
	list-style: none;
}
.testimonialsList li {
	margin: 10px 25px;
}
.testwrap {
	position: relative;
	padding-left: 200px;
}
.tescont {
	border-left: 1px solid #ddd;
	padding: 20px 40px;
}
.testimonialsList li .image {
	position: absolute;
	left: 50px;
	top: 100px;
	margin: 0px;
	width: 115px;
	height: 115px;
	border-radius: 50%;
	overflow: hidden;
}
li .clientname {
	font-size: 24px;
	font-weight: 700;
	color: #000;
	margin-top: 10px;
}
.testimonialsList li p {
	font-style: italic;
	line-height: 26px;
	color: #555;
	font-size: 18px;
}
li .clientinfo {
	font-weight: 600;
	color: #5a9fcd;
	margin-bottom: 15px;
}
.section-title p {
	font-size: 18px;
	color: #666;
}
/*---------------------------------------
    Prices section              
-----------------------------------------*/
#packages {
	padding: 70px 0;
	background: #f4f4f4;
}
.packageList li {
	text-align: center;
	margin-bottom: 30px;
}
.packageList li .packbox {
	background: #fff;
	padding: 30px 20px;
}
.packageList li .packbox:hover {
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
.packageList li .icon {
	margin: 0 auto;
	text-align: center;
	font-size: 48px;
	line-height: 70px;
}
.packageList li .icon i {
	display: block;
	color: #999
}
.packageList li h3 {
	margin: 15px 0 0 0;
	font-size: 15px;
	font-weight: 200;
	letter-spacing: 0;
	color: #999;
	text-transform: uppercase;
}
.packageList li .price {
	margin-bottom: 20px;
}
.packageList li .price span {
	color: #888;
}
.packageList li .price strong {
	font-size: 25px;
    margin-top: -5px;
	color: #2196F3;
	display: block;
	text-transform: uppercase;
}
.packageList li p {
	letter-spacing: 0;
	border-top: 1px solid #eee;
	font-size: 14px;
	padding-top: 5px;
	margin-top: 5px;
	text-transform: uppercase;
}
.packageList li .booknow {
	margin-top: 30px;
}
.packageList li .booknow a {
	background: #2196F3;
	color: #fff;
	text-transform: uppercase;
	font-size: 16px;
	font-weight: 600;
	padding: 15px 40px;
	display: inline-block;
	border-radius: 5px;
}
.packageList li .booknow a:hover {
	background: #333;
	color: #fff;
}
/*---------------------------------------
    Contact section              
-----------------------------------------*/
@media only screen and (max-width:450px) {
#contact .form-control { margin-left: 0px !important; width: 80% !important;}
#contact textarea.form-control { margin-left: 0px !important;}
.our-clients img { margin: 5px 50px !important;}
}

#contact {
	position: relative;
	/*background: url(../images/contact-bg.jpg) no-repeat;*/
	background: #f4f4f4; 
	background-size: cover;
	padding: 75px 0px 100px 0px;
	margin-top: 50px;
}
#contact .section-title h3 {
	color: #5a9fcd;
}
.contact-form {
	z-index: 10;
	position: relative;
  /*box-shadow: 0 0 20px rgba(0,0,0,0.1);
	margin-top: 30px;*/
}
.contact-form h4 {
	color: #fff;
	font-size: 36px;
	margin: 0 0 30px 0;
	text-transform: uppercase;
	font-weight: 700;
}
.contact-form h4 span {
	color: #2196F3;
	font-weight: 400;
}
#contact .form-control {
	border-color: transparent;
	border-radius: 0;
	box-shadow: none;
	font-size: 18px;
	margin-left: 8px;
	margin-bottom: 20px;
	-webkit-transition: all ease-in-out 0.4s;
	transition: all ease-in-out 0.4s;
}
#contact textarea.form-control {
	height: 200px;
    padding: 20px;
}
#contact input {
	border: 2px solid #f0f0f0 !important;
	height: 40px;
}
#contact input:focus, #contact textarea:focus {
	border-color: #2196F3 !important;
}
#contact textarea {
	background: #fff;
	border: 2px solid #f0f0f0 !important;
}
#contact button#submit {
    background-color: #7e8a91;
	border: none;
	border-radius: 5px;
	color: #ffffff;
	padding: 18px 45px;
	height: auto;
	text-transform: capitalize;
	margin-top: 10px;
	font-size: 18px;
	font-weight: 600;
}
#contact button#submit:hover {
	background: #555;
	color: #ffffff;
}
#map {
	width: 100%;
	height: 500px;
	border: none;
	display: block;
	pointer-events: none;
}
.frmap {
	margin-top: 10px;
}
.contact-form {
    z-index: 10;
    position: relative;
    text-align: center;
}

@media only screen and (min-width:1000px) { 
	#contact button#submit {margin-left: 10px;}	
	.contact-form {text-align: left;}
	div.bio h2, h3, p {text-align: justify;}
	.bio-paragraph p {text-align: justify;}
}
/*---------------------------------------
    Address section              
-----------------------------------------*/

#address {
	color: #333;
	text-align: left;
	margin-top: 10px;
}
#address .fa {
	font-size: 42px;
	color: #2196F3;
	float: left;
	width: 50px;
	height: 70px;
	margin-right: 15px;
}
#address h4 {
	color: #444;
	margin: 0;
}
#address p {
	color: #888;
	margin-bottom: 0
}
.address-office, .address-phone, .address-email {
	margin-bottom: 30px;
	clear: both;
	border: 1px solid #ddd;
	background: #fff;
	padding: 20px;
	min-height: 120px;
}
/*---------------------------------------
   Newsletter
-----------------------------------------*/
.newsletter {
	background: url(../images/counter-bg.jpg) no-repeat center;
	background-size: cover;
	padding: 50px 0;
}
.newsletter .section-title h3 {
	margin-top: 0;
}
.newsletter .section-title h3:after {
	background: #fff;
}
.newsletter .section-title h3, .newsletter .section-title p {
	color: #fff;
}
.newsletter .titleTop {
	margin-bottom: 40px;
}
.newsletter .input-group {
	max-width: 675px;
	margin: 0 auto;
}
.newsletter .input-group:before {
	content: '\f2b7';
	font-family: 'FontAwesome';
	position: absolute;
	left: 20px;
	top: 12px;
	color: #ccc;
	font-size: 24px;
	z-index: 100
}
.newsletter .form-control {
	height: auto;
	padding: 17px 15px 17px 60px;
	font-size: 16px;
}
.newsletter .btn {
	background: #000;
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 16px 30px 17px 30px;
	cursor: pointer;
	border: none;
	color: #fff;
}
/*---------------------------------------
   Clients
-----------------------------------------*/
.owl-clients .item img {
	width: 75%;
}

.our-clients {
	padding: 30px 0;
	opacity: 0.65;
}
.our-clients .owl-controls {
	display: none !important;
}

/*---------------------------------------
   Footer section              
-----------------------------------------*/

footer {
	background: #000;
	padding-top: 25px;
	padding-bottom: 25px;
	text-align: center;
}
.socialLinks {
	margin-bottom: 20px;
}
.socialLinks a {
	font-size: 18px;
	color: #fff;
	display: inline-block;
	margin: 0 5px;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #2196F3;
}
.socialLinks a:hover {
	color: #000;
}
.socialLinks a i {
	display: block;
	margin-top: 9px;
}
footer .footer-copyright p {
	color: #fff;
}
.scrollup {
	width: 40px;
	height: 40px;
	position: fixed;
	bottom: 20px;
	right: 20px;
	display: none;
	background-color: #000;
	padding: 5px;
	opacity: 0.5;
	border-radius: 50%;
}
.scrollup i {
	color: #fff;
	display: block;
	line-height: 30px;
	text-align: center;
}
.scrollup:hover {
	opacity: 1;
	text-decoration: none;
}


/*//////////////////// Override CSS ////////////////////*/		
		video {
		  /* override other styles to make responsive */
		  width: 100%    !important;
		  height: auto   !important;
		}

		input[type="email"], input[type="text"] { padding: 8px 20px 8px 20px; }
		
		section#intro .logo h1 { margin-top: 45px; font-family: 'HOPE-HYPE', Helvetica Neue, Lucida Grande, 'sans-serif'sans-serif; }
		section#intro .logo { margin-bottom: 20px; }
		
	    .our-clients { text-align: center;}
	    .our-clients img { margin: 5px 20px;}
	    #toTop { z-index: 10;} 
		.flex-control-nav {z-index: 1 !important;}
	
		.bio-paragraph p {text-align: left; font-size: 16px; line-height: 160%; color: #000; font-weight: 400;}
		.spacer { margin-bottom: 40px; }
		.flex-direction-nav li { display: block;}
		#textSlider .flex-direction-nav li { display: none;}
		.tescont { border: none; }
		.testwrap { padding: 0 5px; }		
		ul.recomendations {margin-bottom: 5%;}
		.flex-control-nav li a {z-index: 1 !important; box-shadow: none !important;}
		.flex-control-nav {
		  bottom: 15px;
		  position: absolute;
		  right: 30.5%;
		  text-align: center;
		  width: auto;
		  z-index: 1000;
		}
		
		.section-title h3 {
			position: relative;
			font-size: 45px;
			margin-bottom: 20px;
			font-weight: 300;
			line-height: 42px;
			margin-top: 0;
			color: #0db6ec;
			text-transform: uppercase;}
		
		.section-title .subtitle {
			font-size: 16px;
			font-weight: 400;
			color: #00000060;
			letter-spacing: 2.5px;
			margin-bottom: 8px;
			text-transform: uppercase;}		

		div.bio h2 {font-size: 22px;}		
		h2 {margin-bottom: 0px;}
		h3 {margin-bottom: 0px;}
		div.bio .heading {margin: 0px;}
		
		div.heading ul li h2 {
		text-align: left;
		font-size:26px;
		}
				
		.flex-control-nav li a { display: always; }
		.flex-control-nav li a { background-color: #ccc;}
		.flex-control-nav li a.active { background-color: #999;}

div.bio h3 { font-size: 16px; color: #888;clear: both; line-height: 24px; margin-bottom: 16px; }
		#contact h3 { margin-bottom: 50px;}
		
		
		@media only screen and (max-width:750px) { 	
	    div#page_wrapper {width: 340px;}
		section#intro .logo h1 {margin-top: 0px;}	
		.section-title { text-align: center; }
		div.bio h2 {margin-top: 25px; }
	    .tescont {padding: 20px 0px; }	
		#contact .col-md-12 { text-align: center;}	
		.flex-control-nav {right: 26%;}
		.our-clients { display: visible;}
		input {max-width:370px;}	
		textarea {max-width:380px;}	
		div.heading ul li h2 {font-size: 22px; line-height: 30px;}
		div.heading h2 {text-align: center;}
}
		@media only screen and (min-width:750px) { 	
		div.heading h2 {text-align: left;}
}
		
		@media only screen and (min-width:1500px) { 
		ul.recomendations {margin-bottom: 50px;}
		.our-clients img { margin: 5px 35px;}

			
		.container { width: 1500px; } 
		div.bio { width: 1200px; }
		div.skills { width: 250px; margin-top: 50px; }
		section#pages .page .heading span { font-size: 18px; }
		ul.filter_items { width: 1500px; }
		ul.filter_items li { margin: 0px 20px 20px 0px; }

		div.bio ul li { padding: 5px 0px 5px 0px; }
		div.bio p { font-size: 16px; line-height:160%; color: #666; }
		
		ul.filter_items { width: 1500px; }
		ul.filter_items li { margin: 10px 15px 10px 0; }
		
		div#map { width: 1000px; }	
			
	  .flex-control-nav { right: 44.5% !important;}				    	
		}
		

	/* The Modal (background) */
	.modal {
	  display: none; /* Hidden by default */
	  position: fixed; /* Stay in place */
	  z-index: 99999 !important; /* Sit on top */
	  left: 0;
	  top: 0;
	  width: 100%; /* Full width */
	  height: 100%; /* Full height */
	  overflow: auto; /* Enable scroll if needed */
	  background-color: rgb(0,0,0); /* Fallback color */
	  background-color: rgba(0,0,0,0.90); /* Black w/ opacity */
	}
	@media screen and (max-width:767px){
		
		.video-iframe{width: 400px !important; }
		.hidden-mobile{display: none;}
	}

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

		.hidden-desktop{display: none;}
		
		.video-iframe{
		width: 700px !important;   
		height: 400px !important;
		}

		.row { width: 97%;
		}		
	}
	

	#myModal > div > ul > li{
		height: 65px;
	}


	/* Modal Content */
	.modal-content {
    /* background: #e9e8e8; */
    margin: auto;
    padding: 10px;
    /* border: 1px solid #857272; */
    width: 47%;
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}
	.close:hover, .modal-content li a:hover { color: #FFF; text-shadow: 0 0 20px #FFF; }	
	
	/* The Close Button */
	.close {
    color: #666;
    position: absolute;
    font-size: 4em;
    font-weight: 100;
    right: -89px !important;
    top: -110px;
    /* background: #e9e8e8; */
    padding: 10%;
    border-radius: 0px;
    width: 30px;
    text-align: center;
}
	
	.close:hover,
	.close:focus {
	  cursor: pointer;
	}
	.modal-content a {
    color: #fff;
    text-decoration: none;
    font-size: 2em;
}
	.menu-button {
    	float: left;
		position: relative;
    	top: 16px;
}
	.full-img, .full-img-2 {
	display:  block;
	padding: 0px;	
	width: 100% !important; 
	height: auto !important;
/*	box-shadow: 4px 5px 6px -7.5px rgba(0,0,0,5); 	*/
	box-shadow: -1px 2px 25px 1px rgba(0,0,0,.05);
	}
	
	div.bio h2, h3, p {
	padding: 1px 3px;
	}

	div.bio h3 {
	margin-top: -5px;
	text-align: left;	
	}

/*	filter items */

	header nav ul li img {
	margin-top: -10px;	
	}
	ul.filter_list li a { 
	font-size: 22px;
	font-weight: 400;
	margin-right: 15px;
	padding-left: 0px;
	letter-spacing: 0.04em;	
    border: none;	
	}
	ul.filter_list li.current a {
    border: none;
	font-weight: 400;	
	}
	ul.smaller-text li a {font-size: 18px;
}	
	header nav ul li a {font-size: 14px;
}
    ul.filter_list li.img {
    border: 0px;
	}
	ul.filter_items li.b {border: 1px solid #0087B2 !important;
	}	
	div.bio img, video {margin: 20px 20px 5px 0px;
	border: 2.5px solid #fff !important;	
	float:left;
	}	
	ul.filter_items li img:hover, ul.filter_items li img.border, ul.filter_items li img.active-border {
	border: 1.5px solid #48aeff;
    inline-size: 99%;
    /*//// border-inline-width: 1px; ////*/	
	}
	ul.filter_items li a .hover span.icon {
	display:none;	
	}
	div.tweets {
	height: 50px;
	padding: 25px 10px 0px 85px;	
    font-size: large;
	}
	section#pages .box {
    background-color: #fbfbfb;	
    border: 1px solid #d9d9d9;
	max-width: 160px;
	border-radius: 10px;	
	}
	section#pages .box:hover {
	border: 1px solid #aeaeae;
	}
	.box span {
	text-decoration: none;
    display: inline-block;	
	}
	.box span:hover {
	color: black;
	}
	section#pages .page .heading {
    padding-bottom: 0px;
    border: 0px;
	}
	section#pages .page .content { padding-top: 0px; overflow: visible;}
	@media screen and (max-width:767px){ 	
	div.bio h2, h3, p {
	padding: 0px;
	}
}		
	ul.filter_items li img {
	transition: transform .2s;
    border: 1.5px solid rgba(0, 0, 0, 0.1);	
	}
	ul.filter_items li img:hover {
 	transform: scale(1.03);
	}
	ul.filter_items li img.active-border:hover {
	transform: scale(1);
	}
	section#pages div.page div.heading h2 {
	text-align: left;
	}	

	/* ------- Three columns ------- */

	/* Create three equal columns that floats next to each other */
	.column {
	 float: left;
	 width: 33.33%;
	 min-width: 225px;
	}
	.column ul {padding-top: 15px;}
	.column li {list-style-type: square; color: #666;}
	.column h2 {font-weight: bold; margin-left: -20px; font-size: 20px !important;}	
	.work-list { margin: 20px;
	}
	/* Clear floats after the columns */
	.work-list:after {
	  content: "";
	  display: table;
	  clear: both;
	}




    /*////////////////// Video Grid /////////////////*/

    .video-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
    }
    
    @media (max-width: 900px) {
      .video-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }
    
    @media (max-width: 600px) {
      .video-grid {
        grid-template-columns: 1fr;}
    }
	@media only screen and (max-width: 750px) {
    div#about div.content div.bio div.column ul li p {        
		margin: 0px;
	}
}
    .video-card {
      background-color: white;
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      position: relative;
    }
    
    .video-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    }
    
    .video-container {
      position: relative;
      padding-top: 100%; /* 1:1 Aspect Ratio */
      cursor: pointer;
    }
    
    .video-container video {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    
    .video-overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.3);
      display: flex;
      justify-content: center;
      align-items: center;
      transition: opacity 0.2s ease;
      cursor: pointer;
    }
    
	.video-grid Video {
	margin: 0px;
	border: none !important;	
}

.play-icon-container {
  display: inline-block;
  position: relative;
  width: 4em;
  height: 4em;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.3);  /* Transparent white circle */
  border: 1.5px solid #ffffff90;
  box-shadow: 0px 0px 25px #ffffff90; 	
}

.play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg) skewX(-30deg) scale(.6,.5);
  background-color: #ffffff;
  text-align: left;
  opacity: 90%;
  width: 2em;
  height: 2em;
  border-top-right-radius: 30%;
  box-shadow: 0px 0px 25px #ffffff80;
	margin: -4px 0px 0px -4px;
}

.play-icon:before,
.play-icon:after {
  content: '';
  position: absolute;
  background-color: inherit;
}

.play-icon:before,
.play-icon:after {
  width: 2em;
  height: 2em;
  border-top-right-radius: 30%;
  box-shadow: 0px 0px 25px #ffffff80;
}

.play-icon:before {
  transform: rotate(-135deg) skewX(-45deg) scale(1.414,.707) translate(0,-50%);
}

.play-icon:after {
  transform: rotate(135deg) skewY(-45deg) scale(.707,1.414) translate(50%);
}




/*/////////////////////////// Header ///////////////////////////*/

        header {
            position: fixed;			
            top: 0;
            left: 0;
            width: 100%;
            transition: transform 0.3s ease-in-out;
            z-index: 1000;
        }
        
        .header--hidden {
            transform: translateY(-100%);
        }
		div.progress_bar { height: 12px; padding:0px; margin:0px; }
		div.progress_bar div { border:none; margin: 0; box-shadow: none;  }
		div.progress_bar { background: #e7f5ff; border: none; }

    
		div.progress_bar.blue div { background:#5a9fcd; }

		div.heading ul li span { color:#5a9fcd !important; }

		div.skills .skill h6 { margin: 15px 0 5px 0px; }

		b { color: #5a9fcd; }
		div.column li {color:#5a9fcd !important;}
		div.column li p {color:#666 !important; padding: 0px !important;}

		.edu p { font-size: 20px; font-weight: 500; color: #333; margin-bottom: 5px; }
		.edu em { color: #888; }

		div.toggle_list ul li div.title a.toggle_link {color:#5a9fcd;}

		a {	text-decoration: none;}



/*/////////////////////////// Slider Video ///////////////////////////*/


		.slides li a {
		  padding: 0 !important;
		  margin: 0 !important;
		  display: block; /* This ensures the link takes full width/height of the li */
		  border: none;	
		}

		.slides li video {
		  width: 100%; /* Makes video fill the container */
		  height: auto;
		  display: block; /* Removes any default spacing */
		  padding: 0 !important;
		  margin: 0 !important;
		  border: none;	
		}

		.slides-video { border: 0px !important;}


		html { 
		  scroll-behavior: smooth;
		}


/*/////////////////////////// Override Thumbnails / Nav Logo ///////////////////////////*/



  .flexslider-container {	
      max-width: 100%;
      max-height: 100vh;
      position: relative;
      overflow: hidden;
	  display: block;
	  border: none;	
      margin: 1px;
	  padding: 2px;
      height: auto !important;
    }	
	
 .flexslider {
    border: none;	
	}

 .shadow {
   	  box-shadow: -1px 2px 25px 1px rgba(0,0,0,.15);
}

@media only screen and (min-width: 751px) { .cta { display: none; } }

@media only screen and (max-width: 750px) {
	
	div#page_wrapper {width: 360px;}
	div.bio img, video { border: 1.5px solid #fff !important;}
	ul.filter_list {padding-left: 6px;}
	
	div#portfolio div.content ul.filter_items li a {
      height: 108px;
      width: 166px;
      margin-left: 6px;
	}
	
  .full-img, .shadow { border: 0px;  
	-webkit-box-shadow: 0px 15px 22px -19px rgba(0,0,0,0.33);
	-moz-box-shadow: 0px 15px 22px -19px rgba(0,0,0,0.33);
	box-shadow: 0px 15px 22px -19px rgba(0,0,0,0.33);
	}	
	
	.full-img-2 { box-shadow: none; }
	
   .flexslider-container { padding: 1.5px; margin: 0px;}	
			
	.flex-control-nav {
	  height: 10px;
      bottom: 10px;
      right: 25%;
      width: auto;
      text-align: center;
      transition: background-color 0.3s ease;
    }
	
	
    div#portfolio div.content ul.filter_items li {
        width: 160px !important;
        margin-bottom: 25px !important;
        margin-right: 15px !important;
	}
		div#portfolio div.content ul.filter_items {
		width: 350px !important;
	}
		
	.menu-logo {
		  display: block;
		  position: absolute;
		  left: 50%;
		  transform: translateX(-50%);
		  margin: 0 auto;
		  margin-top: 10px;
	}
	
	ul.filter_items li img { width: 100% !important; }
	ul.filter_items li img.active-border:hover { border: 1.5px solid #48aeff; }
	ul.filter_items li img:hover { border: 1.5px solid #999; }
	ul.filter_items li img:hover { transform: scale(.95); }
		
	.cta {
		background-color: #fff;
		border: 1px solid #dddddd90;
		max-width: 160px;
	    height: 25px;
		width: 100%; 
		margin: 0px;
		margin-bottom: 40px;
		padding: 15px 65px;
		font-size: large;
	  	text-align: center;
		border-radius: 8px;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
		}	  
	
	.cta:hover {
		border: 1px solid #dddddd;
		color: #000; 
		}
	.cta:active { box-shadow: none; }
	
	.edu p { font-size: 16px; }
}

@media only screen and (min-width: 768px) {	
	.flex-control-nav {right: 35%;}}	
	
@media only screen and (min-width: 1000px) {	
	.flex-control-nav {right: 40%;}
	.recomendations.flex-control-nav {right: 44.5%;}
}	

	.hidden {
		opacity: 0;
		display: none;
		transition: opacity 0.3s ease;
	}
	.visible {
		opacity: 1;
		display: block;
	}

/*/////////////////////////// Site Loader ///////////////////////////*/

    #loader-container {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #ffffff; 
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 9999;
      transition: opacity 0.5s ease-out;
    }
    
    .loader-hidden {
      opacity: 0;
      pointer-events: none;
    }
    
    .loader-gif {
      width: 100px;
      height: 100px;
    }

/*/////////////////////////// PageNumber Pagination ///////////////////////////*/


        .pagination-container {
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 60px 0px 30px 0px;
        }

        .pagination {
            display: flex;
            list-style: none;
            border-radius: 4px;
            overflow: hidden;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
			border: 1px solid #dddddd80;
        }

        .pagination li {
            margin: 0;
        }

        .pagination a {
            display: flex;
            align-items: center;
            justify-content: center;
            min-width: 40px;
            height: 40px;
            padding: 0 10px;
            background-color: white;
			font-size: larger;
            color: #888;
            text-decoration: none;
            border-right: 1px solid #eee;
            transition: all 0.2s ease;
        }

        .pagination li:last-child a {
            border-right: none;
        }

        .pagination a:hover {
            background-color: #fafafa;
			color: #333;
        }

        .pagination .active a {
			background-color: #fafafa;
			color: #2b9fed;
			font-weight: 400;
			box-shadow: inset 0px 0px 10px #00000010;
		}
        .pagination .disabled a {
            opacity: 0.4;
            pointer-events: none;
            cursor: default;
        }

        /* Arrow styles */
        .pagination .prev a,
        .pagination .next a {
            font-size: larger;
            font-weight: bold;
            padding: 0 12px;
        }

        .pagination .ellipsis a {
            pointer-events: none;
        }

        /* Mobile adjustments */
        @media (max-width: 768px) { /* Adjust breakpoint as needed */
            .pagination a {
                min-width: 36px;
                height: 36px;
                padding: 0 8px;
                font-size: larger;
            }

            .pagination li.number-links:not(.active) {
                display: none;
            }

            .pagination .active,
            .pagination .prev,
            .pagination .next,
            .pagination .ellipsis,
            .pagination li:first-child,
            .pagination li:last-child {
                display: flex;
            }
        }





/*//////////// Filter List Underline ////////////*/

/* Single underline animation for filter list */

.filter_list {
  position: relative;
  padding-bottom: 5px;
}
.filter_list li {
  position: relative;
  margin: 0 10px;
}
.filter_list li a {
  text-decoration: none;
  position: relative;
  display: inline-block;
  padding: 5px 0;
}
/* Create the active state underline for current item */
.filter_list li.current a:after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #5a9fcd;
}
/* Create the hover underline animation - LEFT TO RIGHT */
.filter_list li a:before {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0; /* Start from the left */
  width: 0;
  height: 2px;
  background-color: #5a9fcd;
  transition: width 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Remove 'all' and just use width */
}
.filter_list li:hover a:before {
  width: 100%;
}
/* Ensure the current item's underline takes precedence */
.filter_list li.current:hover a:after {
  opacity: 1;
}



/*//////////// Form ReCaptcha (Tic Tac Toe) Logic ////////////*/

 .tic-tac-toe-cell {
    width: 38px;
    height: 38px;
    border: .5px solid #ccc;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.25em;
    cursor: pointer;
    background: #fff;
  }
  #submit{
    background-color: #007bff;
    color: white;
    border: none;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    cursor: pointer;
    border-radius: 5px;
  }
  #submit:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
  }
  #recaptcha-container, tic-tac-toe-message {
    display: none;
	margin: 5px 15px;
	color: #333333;  
    }
	
  #tic-tac-toe-message {
	margin-bottom: 15px;
    }	
		
  #tic-tac-toe-board {
	display: grid; 
	grid-template-columns: repeat(3, 40px);
	gap: 2.5px;
	margin: 25px auto;
	}
	
  #recaptcha-container h2 {
    font-size: 18px;
    margin: 0px;	
	}
	
  /* Media query for mobile devices */

  @media (max-width: 1000px) {
    #recaptcha-container {
      padding: 0 15px;	
	}
	
    #tic-tac-toe-board {
     width: fit-content;
    }  
    #intro .logo h1 {
	 margin-top: 29px;
	}	  
}



@media only screen and (max-width: 750px) {
    section#intro div.logo h1 {
        margin-top: 20px;
	}
	.tagline h3 { 
	 	margin-top: 10px;		
		line-height: 20px;
	}
	p {
	font-weight: 400;
    }
}
    #intro .logo h1 {
		font-family: Segoe, "Segoe UI", "DejaVu Sans", "Trebuchet MS", Verdana, "sans-serif"; 
		font-weight: 400;
		letter-spacing: 0.025em;
		color: #2c333f;
	    margin-top: 43px;
}






/*//////////////////////// About Me Section ////////////////////////*/

				.wrapper {
				  display: flex;
				}

				.column {
				  margin: 50px 0;
				}

				.column-1 {
				  width: 50%;
				}

				.column-2 {
				  width: 50%;
				  padding: 20px 0px 20px 40px;
				}

				.column-2 h2 {
				  text-align: left; 	
				  font-size: 36px !important;
				  margin: 0px 0px 20px 0px;	
				}

				.column-2 p {
				  font-size: 16px;	
				  text-align: justify;	
				}

				.profile-pic {
				  text-align: left; 
				  box-shadow: -1px 2px 25px 1px rgba(0,0,0,.1); 
				  border: 4px solid #fff;
				  border-radius: 8px;
				  width: 450px; 
				  height: 600px;
				}

				.signature {
				  margin: 25px 0px 0px 0px;
				}

				.line {
				  border-top: 1px dashed #999; 
				  border-bottom:none; 
				  border-left:none;
				  border-right:none; 
				  margin: 1.5em 0;
				}

				@media (min-width: 1500px) {
				 .column-1 { width: 40%; }
				 .column-2 { width: 60%; padding: 140px; padding-right: 0px; }
				 .column-2 p { font-size: 20px; line-height: 32px; }
				 .profile-pic { width: 600px; height: 800px; }
				}
				
				/* Stack columns on screens smaller than 768px (e.g., tablets, mobile phones) */
				@media (max-width: 1000px) {
					
				.column { 
				  margin: 0; 
					}  
				.column-1, .profile-pic {
				  display: none; /* Full width for each column */					
				  }					
				.column-2 {
				  padding: 0;
				  width: 100%; /* Full width for each column */					
				  }
				.column-2 h2 {
				  font-size: 26px !important;
				}	
				.column-2 p {	
				  text-align:left;	
				}	
			}


