/* Clearfix */
.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}
.clearfix:after {
    clear: both;
}
.clearfix {
    *zoom: 1;
}

/* ---- TOP NAV ---- */

#top nav ul {
	flex:1 0 auto;
}
#top nav a {
    font-family: 'Roboto', sans-serif;
    color:#005776;
    font-size:17px;
}

#top li {
	position:relative;
	white-space: nowrap;
}

#top .italic {
    font-style:italic;
}

/* FIRST LEVEL */

#top nav>.container>ul>li {
	display: inline-block;
	margin-right: 30px;
}
@media (max-width: 1240px) {
	#top nav>.container>ul>li {
		margin-right: 10px;
	}
}

#top nav>.container>ul>li:nth-child(3) ul li {
	flex: 0 1 33%;
}
#top nav>.container>ul>li:nth-child(4) ul li:nth-child(3) ul {
	padding-left: 0;
}
#top nav>.container>ul>li:nth-child(4) ul li:nth-child(3) ul li a {
	font-weight: 500;
}
#top nav>.container>ul>li:nth-child(5) ul li {
	flex:1;
}
#top nav>.container>ul>li li a {
	display: block;
	padding: 6px 0;
	line-height: 1.5;
}
#top nav>.container>ul>li li li a {
	display: block;
	padding: 6px 0;
}
#top nav>.container>ul>li.menu-item-has-children>a:after {
	content: '\f107';
	font-family: "Font Awesome 6 Pro";
	position: absolute;
	top: 1px;
	font-size: 12px;
	margin-left: 4px;
	display: inline-block;
}
#top nav>.container>ul>li.menu-item-has-children:hover>a:after {
	top: 0;
	transform: rotate(180deg);
}

/* SECOND LEVEL */
#top nav>.container>ul>li>ul  {
	display:none;
	position:absolute;
}

#top nav>.container>ul>li>ul>li, #top nav>.container>ul>li>ul>li  {
	display:block;
}

/* THIRD LEVEL */
#top nav>.container>ul>li>ul>li>ul, #top nav>.container>ul>li>ul>li>ul {
	display:none;
	position:absolute;
	top:0;
	left:100%;
}

/* ---- FOOTER NAV ---- */

@media (min-width:1025px){
	/* ---- TOP NAV ---- */
	#top nav>.container>ul>li:nth-child(3) ul {
		/* display: flex; */
		/* flex-wrap: wrap; */
		display: list-item;
		column-count: 3;
	}
	#top nav>.container>ul>li:hover>a:before {
		content: '';
		position: absolute;
		display: inline-block;
		width: 50px;
		height: 100%;
		left:-10px;
		top: 0;
		background: #DDF6F9;
		transform: skew(-20deg);
		z-index: -1;
	}
	#top nav>.container>ul>li:hover>ul {
		display:block;
	}
	#top nav>.container>ul>li:hover>a {
		background: #DDF6F9;
		font-weight: 500;
	}
	#top nav>.container>ul>li>a {
		display: inline-block;
		position: relative;
		height: 100%;
		padding:0 30px 0 5px;
		/* padding:0px 57px 0 3px; */
		line-height:57px;
		z-index: 1;
	}
	
	#top nav li:hover>a, 
	#top .active,
	#top nav li.current-menu-item a,
	#top nav li.current_page_item a,
	#top nav li.current-menu-ancestor a  {
		color:#005776;
		text-decoration:none;
	}

	#top nav > ul > li:hover>a:before, 
	/* #top .active:before, */
	#top nav > ul > li.current-menu-item > a:before,
	#top nav > ul > li.current_page_item > a:before,
	#top nav > ul > li.current-menu-ancestor > a:before  {
		content: '';
		position: absolute;
    bottom: 11px;
    left: 3px;
    display: block;
    width: 32px;
    height: 4px;
		background: #E40200;
		-webkit-clip-path: polygon(0 0, 100% 0%, 95% 100%, 0% 100%);
		clip-path: polygon(0 0, 100% 0%, 95% 100%, 0% 100%);	
	}
	
	#top nav ul li ul.sub-menu li a {
		color: #005776;
	}

	#top nav ul li ul.sub-menu li a:hover {
		color: #005776;
	}

	#top nav ul li:nth-child(4) ul li:nth-child(1),
	#top nav ul li:nth-child(4) ul li:nth-child(2) {
		flex: 1 0 33%;
	}

	#top nav>.container>ul>li>ul {
		top: 100%;
		left: 0;
		background:white;
        z-index:2;
	}

	#top .menu-item-has-children>a:after{
		/* content:'';
		display:block;
		position:absolute;
		top:50%;
		margin-top:-3px;
		right:30px;
		border-top:6px solid #005776;
		border-left:6px solid transparent;
		border-right:6px solid transparent; */
	}
    
    #top .menu-item-has-children:hover>a:after {
        /* border-top-color:#005776; */
    }
    
    #top .menu-item-has-children .menu-item-has-children>a:after{
		/* content:'';
		display:block;
		position:absolute;
		top:50%;
		margin-top:-6px;
		right:6px;
		border-left:6px solid #005776;
		border-top:6px solid transparent;
		border-bottom:6px solid transparent; */
	}
    
    #top .menu-item-has-children .menu-item-has-children:hover>a {
        color:#005776;
    }
    
    #top .menu-item-has-children .menu-item-has-children:hover>a:after {
        /* border-left-color:#005776; */
    }
    
    #top nav ul ul ul {
        margin-left:0px;
    }
    
    #top nav ul ul {
        /* border-left:1px solid #e0e0e0;
        border-right:1px solid #e0e0e0;
        border-bottom:1px solid #e0e0e0; */
        margin-left:-10px;
    }
	
	#top nav>.container>ul>li>ul>li>a,
    #top nav>.container>ul>li>ul>li>ul>li>a{
		line-height:40px;
		padding:0 28px 0 12px;
        display:block;
	}
	
	#top nav>.container>ul>li>ul>li:hover>ul {
		display:block;
        background:#fff;
	}
    
    #top nav>.container>ul>li>ul  {
        box-shadow:0px 3px 5px rgba(0,0,0,0.2)
    }
	
	/* ---- FOOTER NAV ---- */
	.pull, footer span:first-child {
		display:block;
		margin-bottom:15px;
		font-weight:bold;
	}
}


@media (min-width:768px) and (max-width:1024px){
    #top nav>.container>ul>li>a {
        padding-right:40px;
    }
}



@media only screen and (max-width : 1024px) {
		#logo {
			position: relative;
			background: white;
			z-index: 9999999999999991;
		}
		#top nav>.container>ul>li.open>a:before {
			content: '';
			position: absolute;
			display: inline-block;
			width: 50px;
			height: 100%;
			top: 0;
			transform: skew(-20deg);
			left: -43px;
			z-index: 0;
			background: #FFF;
		}
		#top nav>.container>ul>li.open>a {
			background: #DDF6F9;
			font-weight: 500;
			position: relative;
		}
		#top .navbar > ul > li{
			position: relative !important ;
			margin-right: 0 !important;
		}
		#top nav>.container>ul>li.menu-item-has-children>a:after {
			display: none;
		}
    .current-menu-item a, #top .active {
        color:#e31b27;
    }
    nav .search input[type=text] {
			width: 100%;
		}
		.subnav {
			background: #DDF6F9;
		}
    nav .container {
        padding:0 0 60px 0;
        width: 100%;
				display: flex;
				flex-direction: column;
    }
    .navbar > ul > li .subnav {
			position: relative !important;
			padding:0 15px !important;
		}
		.navbar > ul ul.depth-0 {
			flex-direction: column;
		}
    .menu-item-has-children {
        position:relative;
    }
    
    .subpull {
        width:45px;
        height:45px;
        position:absolute;
        top:0;
        right:0;
        cursor:pointer;

    }
		.depth-1 .subpull {
			display:none;
		}
		.subpull:before {
			content: '\f107';
			font-family: "Font Awesome 6 Pro";
			position: absolute;
			top: 1px;
			font-size: 15px;
			margin-left: 4px;
			color: #005776;
			width:45px;
			height:45px;
			display: flex;
			justify-content: center;
			align-items: center;
		}
    
    .open>.subpull:before {
      transform: rotate(180deg);
		}
    
		.side-pull {
			position: relative;
			top: 100px;
			display: block;
			width: 50px;
			height: 50px;
			cursor: pointer;
			/* to center */
			margin: 0 auto;
			float: none;
			-webkit-transition: all 0.3s;
			transition: all 0.3s;
			-webkit-clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%);
			clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%);
		}

    .side-pull > span {
      position: absolute;
      top: 50%;
      display: block;
      width: 100%;
      height: 8px;
      margin-top: -1px;
      background-color: #E40200;
      border-radius: 0;
    }

    .side-pull > span:before,
    .side-pull > span:after {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      background-color: #E40200;
      border-radius: 0;
      -webkit-transition: all 0.3s;
                transition: all 0.3s;
    }

    .side-pull > span:before {
      -webkit-transform: translateY(-1em);
                transform: translateY(-1em);
    }

    .side-pull > span:after {
      -webkit-transform: translateY(1em);
                transform: translateY(1em);
    }

    /* OPENED */

    .side-pull.open {
			clip-path: none;
			-webkit-clip-path: none;
      -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
    }

    .side-pull.open > span:before {
      -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
    }

    .side-pull.open > span:after {
      -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
    }
    
    .side-pull {
        position:absolute;
        top:50%;
        margin-top:-25px;
        right:15px;
    }

	/* ---- TOP NAV ---- */
	#top-logo img{
		padding:10px 15px;
	}
	
	#top .row>div {
		padding-left:0;
		padding-right:0;
	}

	

	.menu-item-has-children.open:after, .pull.open:after {
		background: url(../images/arrow-up.png) 50% 50% no-repeat;
	}

	#top nav {
		position: fixed;
		top: -100%;
		margin-top: 90px;
		left: 0;
		height: calc(100% - 90px);
		width: 100%;
		/* max-width:300px; */
		background: #fff;
		z-index: 3333;
		overflow: auto;
	}
	
	#top nav li, footer li {
		position:relative;
		display:block!important;
	}
	
	#top nav li a, footer h3, footer li a {
		line-height:44px;
		display:block;
	}
	
	#top nav li a {
		color:#005776;
		text-decoration:none;
	}
	
	#top nav li a:hover, footer li a:hover  {
		text-decoration:none;
	}

	#top nav>ul {
		height: auto;
		width:100%; 
	}
	
	#top nav>.container>ul>li>a { 
		width: 100%; 
		text-align: left;
		padding:0 15px;
	}
	
	#top nav>.container>ul>li>ul {
		position:relative;
	}
	
	#top nav>.container>ul>li>ul>li>a {
		padding-left:30px;
	}
    
    #top nav>.container>ul>li>ul>li>ul {
        position:relative;
        left:0;
    }
    
    #top nav>.container>ul>li>ul>li>ul>li>a {
		padding-left:45px;
	}
	
	/* ---- FOOTER NAV ---- */
	
}
footer h3.h2 i.fas {
	display:none;
}
@media only screen and (max-width : 767px) {
  .side-pull {
    width: 40px;
  }

  .side-pull>span {
    height: 5px;
  }

  .side-pull>span:before {
    -webkit-transform: translateY(-0.7em);
    transform: translateY(-0.7em);
  }

  .side-pull>span:after {
    -webkit-transform: translateY(0.7em);
    transform: translateY(0.7em);
  }


  footer {
    padding-top: 30px;
  }

  #copyright {
    margin-top: 30px;
  }


  footer ul {
    display: none;
    margin-bottom: 15px;
		position: relative;
    z-index: 2;
  }

  footer li a,
  footer .footer-contact-content {
    display: block;
    padding: 0 15px;
  }

  .pull,
  #footer-contact h3 {
    display: block;
    width: 100%;
    padding: 0 15px;
    line-height: 44px;
  }

  footer .pull {
    cursor: pointer;
  }

  footer h3.h2 {
    margin-bottom: 15px;
    font-size: 24px;
  }

  footer h3.h2 i.fas {
    font-size: 20px;
    margin-left: 15px;
		display: inline-block;
  }
}