/**
 * TES Elements Frontend Styles
 *
 * @package TES_Elements
 */

/* Icon Shortcode Styles */
.dt-shortcode-icon-wrap {
	display: inline-block;
	vertical-align: middle;
}

.dt-shortcode-icon-wrap.dt-icon-center {
	text-align: center;
	display: block;
}

.dt-shortcode-icon-wrap.dt-icon-right {
	text-align: right;
	display: block;
}

.dt-shortcode-icon {
	display: inline-block;
	position: relative;
	text-decoration: none;
	transition: all 0.3s ease;
}

.dt-shortcode-icon .icon-inner {
	display: block;
	position: relative;
}

.dt-shortcode-icon i {
	display: block;
	line-height: 1;
	transition: all 0.3s ease;
}

.dt-shortcode-icon .dt-hover-icon {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.dt-shortcode-icon:hover .dt-regular-icon {
	opacity: 0;
}

.dt-shortcode-icon:hover .dt-hover-icon {
	opacity: 1;
}

.dt-shortcode-icon .screen-reader-text {
	position: absolute;
	left: -9999px;
	top: -9999px;
}

/* Icon Background */
.dt-shortcode-icon.dt-icon-bg-on .icon-inner {
	border-radius: 50%;
}

/* Icon Animations */
.dt-shortcode-icon.dt-icon-animate-slide-up:hover .icon-inner {
	transform: translateY(-5px);
}

.dt-shortcode-icon.dt-icon-animate-slide-right:hover .icon-inner {
	transform: translateX(5px);
}

.dt-shortcode-icon.dt-icon-animate-spin-around:hover .icon-inner {
	transform: rotate(360deg);
}

.dt-shortcode-icon.dt-icon-animate-shadow:hover .icon-inner {
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.dt-shortcode-icon.dt-icon-animate-scale:hover .icon-inner {
	transform: scale(1.1);
}

.dt-shortcode-icon.dt-icon-animate-scale-down:hover .icon-inner {
	transform: scale(0.9);
}

/* Tabs Styles */
.shortcode-tabs {
	margin-bottom: 20px;
}

.shortcode-tabs .tab {
	display: inline-block;
	padding: 10px 20px;
	cursor: pointer;
	border: 1px solid #ddd;
	margin-right: -1px;
	background: #f5f5f5;
	transition: all 0.3s ease;
}

.shortcode-tabs .tab.active-tab {
	background: #fff;
	border-bottom-color: #fff;
}

.shortcode-tabs .tab-content {
	display: none;
	padding: 20px;
	border: 1px solid #ddd;
	border-top: none;
}

.shortcode-tabs .tab-content.active-tab-content {
	display: block;
}

/* Accordion Styles */
.dt-style.vc_tta-accordion {
	margin-bottom: 20px;
}

/* Utility Classes */
.anchor-link {
	cursor: pointer;
}

/* Responsive */
@media (max-width: 768px) {
	.dt-shortcode-icon-wrap.dt-icon-right,
	.dt-shortcode-icon-wrap.dt-icon-center {
		text-align: center;
	}
}
