.topMenu.puerto-horizontal .puerto-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  background: #FFF;
  border-radius: 2px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
}

.topMenu.puerto-horizontal .puerto-menu,
.topMenu.puerto-horizontal .extra-panel > table {
    height: 100px;
}

.topMenu.puerto-horizontal .extra-panel .logo {
   line-height: normal;
}

.topMenu.puerto-horizontal .extra-panel .logo img {
    max-height: 60px;
    max-width: 150px;
    padding: 0 20px;
}

.topMenu.puerto-horizontal .extra-panel .Module.Search .search-box input {
    box-shadow: none;
}

.topMenu.puerto-horizontal .extra-panel .Module.Search .search-box .btn {
    box-shadow: none;
    border: 1px solid #3498DB;
    background: #3498DB none repeat scroll 0 0;
    color: #FFF;
}

.topMenu.puerto-horizontal .extra-panel .Module.Search .search-holder {
    background-color: #3498DB;
    box-shadow: 0 0 3px rgba(0,0,0,0.2);
}

.topMenu.puerto-horizontal .extra-panel .Module.Search .search-holder:before {
    border-bottom-color: #3498DB;
}

.topMenu.puerto-horizontal .puerto-menu li {
  float: left;
  position: relative;
  line-height: 1.4;
}

.topMenu.puerto-horizontal .puerto-menu li a {
  display: block;
  text-decoration: none;
  padding: 12px 20px;
  text-align: center;
  color: #777;
  border-right: 1px solid #E7E7E7;
}

.topMenu.puerto-horizontal .puerto-menu li a i {
  display: block;
  font-size: 30px;
  margin-bottom: 10px;
}

.topMenu.puerto-horizontal .puerto-menu li a strong {
  display: block;
  text-transform: uppercase;
}

.topMenu.puerto-horizontal .puerto-menu li a small {
  display: block;
  font-size: 10px;
}

.topMenu.puerto-horizontal .puerto-menu li a i,
.topMenu.puerto-horizontal .puerto-menu li a strong,
.topMenu.puerto-horizontal .puerto-menu li a small {
  position: relative;

  transition: all 300ms linear;
  -o-transition: all 300ms linear;
  -ms-transition: all 300ms linear;
  -moz-transition: all 300ms linear;
  -webkit-transition: all 300ms linear;
}

.topMenu.puerto-horizontal .puerto-menu li:hover > a i {
    opacity: 1;
    -webkit-animation: moveFromTop 300ms ease-in-out;
    -moz-animation: moveFromTop 300ms ease-in-out;
    -ms-animation: moveFromTop 300ms ease-in-out;
    -o-animation: moveFromTop 300ms ease-in-out;
    animation: moveFromTop 300ms ease-in-out;
}

.topMenu.puerto-horizontal .puerto-menu li:hover a strong {
    opacity: 1;
    -webkit-animation: moveFromLeft 300ms ease-in-out;
    -moz-animation: moveFromLeft 300ms ease-in-out;
    -ms-animation: moveFromLeft 300ms ease-in-out;
    -o-animation: moveFromLeft 300ms ease-in-out;
    animation: moveFromLeft 300ms ease-in-out;
}

.topMenu.puerto-horizontal .puerto-menu li:hover a small {
    opacity: 1;
    -webkit-animation: moveFromRight 300ms ease-in-out;
    -moz-animation: moveFromRight 300ms ease-in-out;
    -ms-animation: moveFromRight 300ms ease-in-out;
    -o-animation: moveFromRight 300ms ease-in-out;
    animation: moveFromRight 300ms ease-in-out;
}

.topMenu.puerto-horizontal .puerto-menu li:hover > a {
  color: #3498db;
}

.topMenu.puerto-horizontal .puerto-menu li.active > a {
  /*position: relative;*/
  color: #3498db;
  border:0;
  border-top: 4px solid #3498db;
  border-bottom: 4px solid #3498db;
  margin-top: -4px;
  margin-bottom: -4px;
  box-shadow: 0 0 5px rgba(0,0,0, 0.3);
  -moz-box-shadow: 0 0 5px rgba(0,0,0, 0.3);
  -webkit-box-shadow: 0 0 5px rgba(0,0,0, 0.3);
  /*-moz-box-shadow: 0 0 5px #DDD;*/
  /*-webkit-box-shadow: 0 0 5px #DDD;*/
}

.topMenu.puerto-horizontal .puerto-menu li ul li.active > a {
    box-shadow: none;
    margin: 0;
    border: none;
    border-bottom: 1px solid #eee;
}

.topMenu.puerto-horizontal .puerto-menu li.active > a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 45%;
  border-top: 5px solid #3498db;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}

/**********************/

@-webkit-keyframes moveFromTop {
    from {
        opacity: 0;
        -webkit-transform: translateY(200%);
        -moz-transform: translateY(200%);
        -ms-transform: translateY(200%);
        -o-transform: translateY(200%);
        transform: translateY(200%);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
        -o-transform: translateY(0%);
        transform: translateY(0%);
    }
}

@-webkit-keyframes moveFromLeft {
    from {
        opacity: 0;
        -webkit-transform: translateX(200%);
        -moz-transform: translateX(200%);
        -ms-transform: translateX(200%);
        -o-transform: translateX(200%);
        transform: translateX(200%);
    }
    to {
        opacity: 1;
        -webkit-transform: translateX(0%);
        -moz-transform: translateX(0%);
        -ms-transform: translateX(0%);
        -o-transform: translateX(0%);
        transform: translateX(0%);
    }
}

@-webkit-keyframes moveFromRight {
    from {
        opacity: 0;
        -webkit-transform: translateX(-200%);
        -moz-transform: translateX(-200%);
        -ms-transform: translateX(-200%);
        -o-transform: translateX(-200%);
        transform: translateX(-200%);
    }
    to {
        opacity: 1;
        -webkit-transform: translateX(0%);
        -moz-transform: translateX(0%);
        -ms-transform: translateX(0%);
        -o-transform: translateX(0%);
        transform: translateX(0%);
    }
}

@-moz-keyframes moveFromTop {
    from {
        opacity: 0;
        -webkit-transform: translateY(200%);
        -moz-transform: translateY(200%);
        -ms-transform: translateY(200%);
        -o-transform: translateY(200%);
        transform: translateY(200%);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
        -o-transform: translateY(0%);
        transform: translateY(0%);
    }
}

@-moz-keyframes moveFromLeft {
    from {
        opacity: 0;
        -webkit-transform: translateX(200%);
        -moz-transform: translateX(200%);
        -ms-transform: translateX(200%);
        -o-transform: translateX(200%);
        transform: translateX(200%);
    }
    to {
        opacity: 1;
        -webkit-transform: translateX(0%);
        -moz-transform: translateX(0%);
        -ms-transform: translateX(0%);
        -o-transform: translateX(0%);
        transform: translateX(0%);
    }
}

@-moz-keyframes moveFromRight {
    from {
        opacity: 0;
        -webkit-transform: translateX(-200%);
        -moz-transform: translateX(-200%);
        -ms-transform: translateX(-200%);
        -o-transform: translateX(-200%);
        transform: translateX(-200%);
    }
    to {
        opacity: 1;
        -webkit-transform: translateX(0%);
        -moz-transform: translateX(0%);
        -ms-transform: translateX(0%);
        -o-transform: translateX(0%);
        transform: translateX(0%);
    }
}

@-ms-keyframes moveFromTop {
    from {
        opacity: 0;
        -webkit-transform: translateY(200%);
        -moz-transform: translateY(200%);
        -ms-transform: translateY(200%);
        -o-transform: translateY(200%);
        transform: translateY(200%);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
        -o-transform: translateY(0%);
        transform: translateY(0%);
    }
}

@-ms-keyframes moveFromLeft {
    from {
        opacity: 0;
        -webkit-transform: translateX(200%);
        -moz-transform: translateX(200%);
        -ms-transform: translateX(200%);
        -o-transform: translateX(200%);
        transform: translateX(200%);
    }
    to {
        opacity: 1;
        -webkit-transform: translateX(0%);
        -moz-transform: translateX(0%);
        -ms-transform: translateX(0%);
        -o-transform: translateX(0%);
        transform: translateX(0%);
    }
}

@-ms-keyframes moveFromRight {
    from {
        opacity: 0;
        -webkit-transform: translateX(-200%);
        -moz-transform: translateX(-200%);
        -ms-transform: translateX(-200%);
        -o-transform: translateX(-200%);
        transform: translateX(-200%);
    }
    to {
        opacity: 1;
        -webkit-transform: translateX(0%);
        -moz-transform: translateX(0%);
        -ms-transform: translateX(0%);
        -o-transform: translateX(0%);
        transform: translateX(0%);
    }
}

@-o-keyframes moveFromTop {
    from {
        opacity: 0;
        -webkit-transform: translateY(200%);
        -moz-transform: translateY(200%);
        -ms-transform: translateY(200%);
        -o-transform: translateY(200%);
        transform: translateY(200%);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
        -o-transform: translateY(0%);
        transform: translateY(0%);
    }
}

@-o-keyframes moveFromLeft {
    from {
        opacity: 0;
        -webkit-transform: translateX(200%);
        -moz-transform: translateX(200%);
        -ms-transform: translateX(200%);
        -o-transform: translateX(200%);
        transform: translateX(200%);
    }
    to {
        opacity: 1;
        -webkit-transform: translateX(0%);
        -moz-transform: translateX(0%);
        -ms-transform: translateX(0%);
        -o-transform: translateX(0%);
        transform: translateX(0%);
    }
}

@-o-keyframes moveFromRight {
    from {
        opacity: 0;
        -webkit-transform: translateX(-200%);
        -moz-transform: translateX(-200%);
        -ms-transform: translateX(-200%);
        -o-transform: translateX(-200%);
        transform: translateX(-200%);
    }
    to {
        opacity: 1;
        -webkit-transform: translateX(0%);
        -moz-transform: translateX(0%);
        -ms-transform: translateX(0%);
        -o-transform: translateX(0%);
        transform: translateX(0%);
    }
}

/*****************/

.topMenu.puerto-horizontal .puerto-menu li ul,
.topMenu.puerto-horizontal .puerto-menu li ul li ul {
  list-style: none;
  position: absolute;
  height: auto;
  min-width: 200px;
  padding: 0;
  margin: 0;
  background: #FFF;
  border-top: 4px solid #3498db;
  opacity: 0;
    visibility: hidden;
  transition: opacity 300ms linear 0s, visibility 300ms linear 0s, top 300ms linear 300ms, left 300ms linear 300ms, right 300ms linear 300ms;
  -o-transition: opacity 300ms linear 0s, visibility 300ms linear 0s, top 300ms linear 300ms, left 300ms linear 300ms, right 300ms linear 300ms;
  -ms-transition: opacity 300ms linear 0s, visibility 300ms linear 0s, top 300ms linear 300ms, left 300ms linear 300ms, right 300ms linear 300ms;
  -moz-transition: opacity 300ms linear 0s, visibility 300ms linear 0s, top 300ms linear 300ms, left 300ms linear 300ms, right 300ms linear 300ms;
  -webkit-transition: opacity 300ms linear 0s, visibility 300ms linear 0s, top 300ms linear 300ms, left 300ms linear 300ms, right 300ms linear 300ms;
  top: 130px;
  z-index: 1000;
}

.topMenu.puerto-horizontal .puerto-menu li ul:before {
  content: "";
  position: absolute;
  top: -8px;
  left: 23%;
  border-bottom: 5px solid #3498db;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}

.topMenu.puerto-horizontal .puerto-menu li:hover > ul,
.topMenu.puerto-horizontal .puerto-menu li ul li:hover > ul {
  display: block;
  opacity: 1;
  visibility: visible;
  top: 100px;
    transition: all 300ms linear 0s;
    -o-transition: all 300ms linear 0s;
    -ms-transition: all 300ms linear 0s;
    -moz-transition: all 300ms linear 0s;
    -webkit-transition: all 300ms linear 0s;
}

.topMenu.puerto-horizontal .puerto-menu li ul li {
  float: none;
}

.topMenu.puerto-horizontal .puerto-menu li ul li a {
  padding: 10px;
  text-align: left;
  border: 0;
  border-bottom: 1px solid #EEE;
}

.topMenu.puerto-horizontal .puerto-menu li ul li a i {
  font-size: 16px;
  display: inline-block;
  margin: 0 10px 0 0;
}

.topMenu.puerto-horizontal .puerto-menu li ul li ul {
  left: 230px;
  top: 0;
  border: 0;
  border-left: 4px solid #3498db;
}

.topMenu.puerto-horizontal .puerto-menu li ul li ul:before {
  content: "";
  position: absolute;
  top: 15px;
  left: -14px;
  border-right: 5px solid #3498db;
  border-bottom: 5px solid transparent;
  border-top: 5px solid transparent;
}

.topMenu.puerto-horizontal .puerto-menu li ul li:hover > ul {
  top: 0px;
  left: 200px;
}

.topMenu.puerto-horizontal .puerto-menu li.float {
  float: right;
}

.topMenu.puerto-horizontal .puerto-menu li a.search {
  padding: 29px 20px 30px 10px;
}

.topMenu.puerto-horizontal .puerto-menu li a.search i {
  margin: 0;
  display: inline-block;
  font-size: 18px;
}

.topMenu.puerto-horizontal .puerto-menu li a.search input {
  border: 1px solid #EEE;
  padding: 10px;
  background: #FFF;
  outline: none;
  color: #777;
}

.topMenu.puerto-horizontal .puerto-menu li a.search button {
  border: 1px solid #3498db;
  padding: 10px;
  background: #3498db;
  outline: none;
  color: #FFF;
  margin-left: -4px;
}

.topMenu.puerto-horizontal .puerto-menu li a.search input:focus {
  border: 1px solid #3498db;
}

/*******************/

.topMenu.puerto-horizontal .search-mobile {
	display:none !important;
	background:#3498db;
	border-left:1px solid #3498db;
	border-radius:0 3px 3px 0;
}

.topMenu.puerto-horizontal .search-mobile i {
	color:#FFF;
	margin:0 !important;
}

/* added by nader */
.topMenu.puerto-horizontal ul.puerto-menu > li label.puerto-login {
    margin-bottom:0;
    line-height: 24px;
}

/* added by nader */
.topMenu.puerto-horizontal ul.puerto-menu .puerto-login button.btn {
    margin: 0 -60px;
    position: absolute;
    min-width: 50px;
}

html[dir="rtl"] .topMenu.puerto-horizontal ul.puerto-menu .puerto-login button.btn {
  right: 100%
}

html[dir="ltr"] .topMenu.puerto-horizontal ul.puerto-menu .puerto-login button.btn {
  left: 100%
}

/**********************/
@media only screen and (min-width: 960px) and (max-width: 1199px) {
    .topMenu.puerto-horizontal .puerto-menu li a.search input {
		width:100px;
	}
}

@media only screen and (min-width: 960px) {
    .topMenu.puerto-horizontal ul.puerto-menu > li > a > i {
        height: 30px; /* added by nader */
    }
}

@media only screen and (min-width: 768px) {
    .topMenu.puerto-horizontal:not(.auto-affix) {
        padding-top: 4px;
    }

    .topMenu.puerto-horizontal .puerto-menu li a strong {
        line-height: 23px;
    }
}


@media only screen and (max-width: 767px) {
    .topMenu.puerto-horizontal {
        padding-top: 20px;
    }

    .topMenu.puerto-horizontal .extra-panel .logo img {
        max-height: 30px;
        max-width: 90px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 959px) {
    .topMenu.puerto-horizontal .puerto-menu,
    .topMenu.puerto-horizontal .extra-panel > table {
		height: 85px;
	}
	.topMenu.puerto-horizontal .puerto-menu li a {
		padding: 12px;
	}
	.topMenu.puerto-horizontal .puerto-menu li a i {
		font-size: 22px;
	}
	.topMenu.puerto-horizontal .puerto-menu li a strong {
		font-size: 12px;
	}
	.topMenu.puerto-horizontal .puerto-menu li a small {
		font-size: 10px;
	}
	.topMenu.puerto-horizontal .puerto-menu li a.search {
		display:none;
	}
    .topMenu.puerto-horizontal .search-mobile {
		display:block !important;
		margin: 20px;
		border-radius:3px;
		-moz-border-radius:3px;
		-webkit-border-radius:3px;
	}
    .topMenu.puerto-horizontal .puerto-menu li > ul {
        min-width:180px;
    }
	.topMenu.puerto-horizontal .puerto-menu li:hover > ul {
        top: 94px;
	}
	.topMenu.puerto-horizontal .puerto-menu li ul li > ul {
		min-width:150px;
		left:200px;
		top:0;
	}
	.topMenu.puerto-horizontal .puerto-menu li ul li:hover > ul {
		min-width:150px;
		left:180px;
		top:0;
	}
	.topMenu.puerto-horizontal .puerto-menu li ul li ul li ul {
		min-width:150px;
		left:25px !important;
		top:54px;
		border:0;
		border-top:3px solid #3498db;
	}
	.topMenu.puerto-horizontal .puerto-menu li ul li ul li:hover ul {
		top:35px;
	}
	.topMenu.puerto-horizontal .puerto-menu li ul li ul li ul:before {
		border:0;
		border-bottom:5px solid #3498db;
		border-left:5px solid transparent;
		border-right:5px solid transparent;
		left:10%;
		top:-8px;
	}

    .topMenu.puerto-horizontal ul.puerto-menu > li > a > i {
        font-size: 22px;
        height: 24px; /* added by nader */
    }

	/*.topMenu.puerto-horizontal .puerto-menu li:hover ul a {*/
	/*	font-size:12px;*/
	/*}*/
	/*.topMenu.puerto-horizontal .puerto-menu li:hover ul a i {*/
	/*	font-size:14px;*/
	/*}*/
}

@media only screen and (min-width: 480px) and (max-width: 767px) {
    .topMenu.puerto-horizontal .puerto-menu,
    .topMenu.puerto-horizontal .extra-panel > table {
      height: 42px;
      /*position: relative;*/
    }
	.topMenu.puerto-horizontal .puerto-menu li a {
		padding: 12px 17.7px;
	}
    .topMenu.puerto-horizontal .puerto-menu li a strong,
    .topMenu.puerto-horizontal .puerto-menu li a small,
    .topMenu.puerto-horizontal .puerto-menu li a.search {
      display: none;
    }
    .topMenu.puerto-horizontal .puerto-menu li a i {
      margin: 0;
      font-size: 18px;
    }
    .topMenu.puerto-horizontal .puerto-menu li {
      position: static;
    }
    .topMenu.puerto-horizontal .puerto-menu li ul {
      min-width: 100%;
      left: 0;
      top: 50px;
    }
    .topMenu.puerto-horizontal .puerto-menu li:hover > ul {
      top: 42px;
    }
    .topMenu.puerto-horizontal .puerto-menu li > ul:before {
      border:0;
    }
    .topMenu.puerto-horizontal .puerto-menu li ul > li {
      position: relative;
    }
    .topMenu.puerto-horizontal .puerto-menu li ul li:hover > ul {
	  left:34px;
    }
	.topMenu.puerto-horizontal .puerto-menu li a {
		position: relative;
		font-size:12px;
	}
	.topMenu.puerto-horizontal .puerto-menu li a:hover strong,
    .topMenu.puerto-horizontal .puerto-menu li.active a strong {
		display:block;
		font-size:10px;
		padding:3px 0;
		position:absolute;
		top:-20px;
		left:0;
		background:#3498db;
		color:#FFF;
		min-width:100%;
		text-transform:lowercase;
		font-weight:normal;
	}
	.topMenu.puerto-horizontal .puerto-menu li.active a:before{
		left: 40%;
	}
    .topMenu.puerto-horizontal .search-mobile {
		display:block !important;
	}

	.topMenu.puerto-horizontal .puerto-menu li ul li > ul {
		min-width:200px;
		left:200px;
	}
	.topMenu.puerto-horizontal .puerto-menu li ul li:hover ul {
		left:180px;
	}
	.topMenu.puerto-horizontal .puerto-menu li ul li ul:before {
		left:-9px;
	}
	.topMenu.puerto-horizontal .puerto-menu li ul li ul li ul {
		min-width:200px;
		border:0;
		border-top:3px solid #3498db;
		left:25px !important;
		top: 45px;
	}
	.topMenu.puerto-horizontal .puerto-menu li ul li ul li:hover ul {
		top:40px;
	}
	.topMenu.puerto-horizontal .puerto-menu li ul li ul li ul:before {
		border:0;
		border-bottom:5px solid #3498db;
		border-left:5px solid transparent;
		border-right:5px solid transparent;
		left:10%;
		top:-8px;
	}
}

@media only screen and (max-width: 479px) {
    .topMenu.puerto-horizontal .puerto-menu,
    .topMenu.puerto-horizontal .extra-panel > table {
      height: 42px;
      /*position: relative;*/
    }
    .topMenu.puerto-horizontal .puerto-menu li a strong,
    .topMenu.puerto-horizontal .puerto-menu li a small,
    .topMenu.puerto-horizontal .puerto-menu li a.search {
      display: none;
    }
    .topMenu.puerto-horizontal .puerto-menu li a {
      padding: 12px 13.8px;
		font-size:12px;
    }
    .topMenu.puerto-horizontal .puerto-menu li a i {
      margin: 0;
      font-size: 18px;
    }
    .topMenu.puerto-horizontal .puerto-menu li {
      position: static;
    }
    .topMenu.puerto-horizontal .puerto-menu li ul {
      min-width: 100%;
      left: 0;
      top: 50px;
    }
    .topMenu.puerto-horizontal .puerto-menu li:hover > ul {
      top: 42px;
    }
    .topMenu.puerto-horizontal .puerto-menu li > ul:before {
      border:0;
    }
    .topMenu.puerto-horizontal .puerto-menu li ul > li {
      position: relative;
    }
    .topMenu.puerto-horizontal .puerto-menu li ul li:hover > ul {
	  left:34px;
    }
	.topMenu.puerto-horizontal .puerto-menu li a {
		position: relative;
	}
	.topMenu.puerto-horizontal .puerto-menu li a:hover strong,
    .topMenu.puerto-horizontal .puerto-menu li.active a strong {
		display:block;
		font-size:10px;
		padding:3px 0;
		position:absolute;
		top:-20px;
		left:0;
		background:#3498db;
		color:#FFF;
		min-width:100%;
		text-transform:lowercase;
		font-weight:normal;
	}
	.topMenu.puerto-horizontal .puerto-menu li.active a:before{
		left: 40%;
	}
	.topMenu.puerto-horizontal .puerto-menu li ul li > ul {
		min-width:150px;
		left:160px;
	}
	.topMenu.puerto-horizontal .puerto-menu li ul li:hover ul {
		left:120px;
	}
	.topMenu.puerto-horizontal .puerto-menu li ul li ul:before {
		left:-9px;
	}
	.topMenu.puerto-horizontal .puerto-menu li ul li ul li ul {
		min-width:160px;
		left:25px !important;
		top:39px;
		border:0;
		border-top:3px solid #3498db;
	}
	.topMenu.puerto-horizontal .puerto-menu li ul li ul li:hover ul {
		top:39px;
	}
	.topMenu.puerto-horizontal .puerto-menu li ul li ul li ul:before {
		border:0;
		border-bottom:5px solid #3498db;
		border-left:5px solid transparent;
		border-right:5px solid transparent;
		left:10%;
		top:-8px;
	}
}
