:root {
	--blue-color: #43078D;
	--purple-color: #AA65FF;
	--purple-color-hover: #5c0095;
	--background-gradient: linear-gradient(270deg, #282C2F 0%, #080A0B 100%);
	--sywp-color: #00D19F;
    --orange-color: #FF7700;
    --sycp-color: #FF07AA;
    --sywp-color: #00D19F;
    --syh2-color: #AA65FF;
    --syap-color: #8DFF33;
    --green-color: #8DFF33;
    --green-color-hover: #5ba81d;
    --syes-color: #FFDD00;
	--certification-color: var(--sywp-color);
	--certification-gradient: rgba(0, 209, 159, 0.30);

    --sycp-filter: brightness(0) saturate(100%) invert(27%) sepia(78%) saturate(7329%) hue-rotate(310deg) brightness(101%) contrast(109%);
    --sywp-filter: brightness(0) saturate(100%) invert(70%) sepia(29%) saturate(1882%) hue-rotate(112deg) brightness(87%) contrast(101%);
    --syh2-filter: brightness(0) saturate(100%) invert(53%) sepia(39%) saturate(6732%) hue-rotate(237deg) brightness(103%) contrast(101%);
    --syap-filter: brightness(0) saturate(100%) invert(82%) sepia(86%) saturate(465%) hue-rotate(33deg) brightness(101%) contrast(101%);
    --syes-filter: brightness(0) saturate(100%) invert(75%) sepia(75%) saturate(588%) hue-rotate(359deg) brightness(103%) contrast(105%);

}

body, main {
	background: var(--background-gradient);
	color: white;
	font-family: Gabarito, sans-serif;

}

.certification-color {
	color: var(--certification-color);
}

.certification-border {
	--border-color: var(--certification-color);
}

.mt-80px {
	margin-top: 80px!important;
}

.ui.container:has(.black-gradient) {
    position: relative;
}

.black-background {
    background-color: #080A0B;
}

.black-container {
    position: relative;
}

.black-gradient {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 3%, #080A0B 50.74%, rgba(0, 0, 0, 0.00) 97%);
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 0;
}

.black-gradient.bottom {
    background: linear-gradient(180deg, #080A0B 3%, #080A0B 50%, rgba(0, 0, 0, 0.00) 97%);
}
 
.black-gradient.end {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 3%, #080A0B 85%, rgba(0, 0, 0, 0.00) 97%);
	bottom: -180px;
}

.black-gradient.start {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 3%, #080A0B 15%, rgba(0, 0, 0, 0.00) 97%);
}

.black-gradient#first-gradient {
    top: -200px;
}

.solyd-one-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 40px;
	padding-bottom: 40px;
	position: relative;
	z-index: 1;
}

.solyd-one-logo .solyd-one-header-label {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22.639px;
	line-height: 24.047px; 
}

.ui.segment {
	border-radius: 16px;
	background: linear-gradient(270deg, #1A1A1A 0%, #000 100%);
	border: none;
	overflow: hidden;
}

.solyd-one-logo .solyd-one-header-label:before {
	content: "";
	margin: 0 10px;
	height: 55px;
	width: 1px;
	border-right: 1px solid #5F5F5F;
}

.solyd-one-logo.bottom {
	padding-top: 20px;
	padding-bottom: 20px;
}

#certificate-miniature {
	max-width: 370px;
	width: 100%;
	align-self: center;
}

#certificate-animation {
	position: absolute;
	height: 300px;
	top: 0;
	right: 50%;
	translate: 50% 0;
}

.gradient-text {
	font-family: Gruppo, sans-serif;
	font-style: normal;
	font-weight: 400;
	text-transform: uppercase;
	background: linear-gradient(90deg, #AA65FF 0.27%, #00D19F 101.13%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

#hero-ellipsis {
	border-radius: 882.93px;
	background: radial-gradient(32.44% 36.2% at 50% 44.42%, var(--certification-gradient) 0%, rgba(0,0,0,0) 100%);
	height: 883px;
	width: 883px;
	position: absolute;
	top: -100%;
	right: 50%;
	translate: 50% 0;
}


#hero-segment {
	text-transform: uppercase;
	padding: 3rem;
}

#hero-segment .left {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	gap: 3rem;

}


#hero-segment .left > .title {
	color: var(--certification-color);
	font-family: Gruppo, sans-serif;
	font-size: 80px;
	font-style: normal;
	font-weight: 400;
	text-transform: uppercase;
}


#hero-segment .left > .student-name {
	font-family: Gruppo, sans-serif;
	font-size: 28px;
	font-weight: 400;
	line-height: normal; 
}


#hero-segment .left > .certification-title-container {
	font-family: Gruppo, sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
}

#hero-segment .left > .certification-title-container .certification-title {
	font-size: 20px;
	color: var(--certification-color);
}

#hero-segment .left > .date {
	font-family: Gruppo, sans-serif;
	font-size: 16px;
	font-style: normal;
}

#hero-segment .left .grey {
	color: #6A6969;
}

#hero-segment .left .bottom {
	display: flex;
	gap: 2rem;
}

#hero-segment .left .signature img {
	position: relative;
	height: 50px;
}

#hero-segment .left .signature.ceo img {
	bottom: -30px;
}

#hero-segment .left .signature.instructor img {
	bottom: -10px;
}

#hero-segment .left .signature .title {
	font-family: Gruppo, sans-serif;
	font-size: 10px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	border-top: 1px solid #6A6969;
	text-align: center;
}

#hero-segment .hero-content {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

#hero-segment .right {
	position: relative;
	display:flex;
	flex-direction: column;
	justify-content: space-around;
	gap: 1rem;
	padding-right: 1rem;
	padding-top: 1rem;
}

#hero-segment .right * {
	z-index: 0;
}

#hero-segment .left * {
	z-index: 1;
}

#certificate-mask {
	position: absolute;
	max-width: 320px;
	opacity: 0.6;
	top: -2rem;
	left: -50%;
	translate:  0 -10%;
	z-index: 1;
}

#share-button-hero {
	box-shadow: none;
	-webkit-box-shadow: none;
	border-radius: 4px;
	border: 1px solid #5F5F5F;
}

#share-button-hero:hover {
	background: #5F5F5F;
	color: white;
}

#track-title { 
	color: #FFF;
	font-family: Gruppo, sans-serif;
	font-size: clamp(20px, 3vw, 28px);
	font-weight: 400;
	line-height: 31px;
	text-transform: uppercase;
	text-align: center;
}

#certificate-track-grid {
	margin-top: 100px;
}

#certificate-track-grid .track-grid {
	display:flex;
}


#certificate-track-grid :is(.track-right, .track-left) {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

#certificate-track-grid .track-right {
	margin-top: 72px;
}

.track-card {
	cursor: auto!important;
}

#certificate-track-grid  .track-card .text-container {
	z-index: 1;
}

#certificate-track-grid .track-card:after {
	content: "";
	width: 30px;
	position: absolute;
	border-top: 1px solid var(--border-color, #5f5f5f);
}


#certificate-track-grid .track-left .track-card:after {
	right: 0;
	translate: 100%;
}


#certificate-track-grid .track-right .track-card:after {
	left: 0;
	translate: -100%;
}


#certificate-track-grid  .track-card .image-container {
	height: 80px;
	display: flex;
	align-items: center;
}


.track-center {
	position: relative;
	translate: 0 -48px;
}

.track-center .line {
	height: calc(100% + 200px);
	border: 1px solid var(--border-color, #5f5f5f);
	margin: 0 30px;
}

.track-center .circle {
	background-color: var(--certification-color);
	width: 10px;
	height: 10px;
	border-radius: 10px;
	position: absolute;
	top: 0;
	right: 50%;
	translate: 50% -100%
}

#certificate-track-grid-mobile {
    margin-top: 40px;
}

#certificate-track-grid-mobile .track-grid {
    position: relative;
}

#certificate-track-grid-mobile .track-center {
    position: absolute;
    top: 0;
    right: 50%;
    translate: 50% -40px;
    height: 100%;
}

#certificate-dog-tag-container {
	position: relative;
	display: flex;
	justify-content: center;
}


#certificate-track-grid-mobile #certificate-dog-tag-container {
    margin-top: 60px;
    margin-bottom: 60px;
}


#certificate-dog-tag-container .line-bottom {
	position: absolute;
	top: 0;
	height: 50%;
	border: 1px solid var(--border-color, #5f5f5f);
}

#certificate-dog-tag-image {
	z-index: 1;
	max-width: 100%;
}

#certification-description-image {
	opacity: .5;
	
}

#certificate-track-grid-mobile .track-container {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}


.ui.grid .column.certification-description-image-container {
	padding: 0!important;
	display: flex;
	align-items: center;
}



.ui.grid .column.certification-description {
	padding: 3rem 1.5rem;
	padding-right: 2rem;
}



.certification-description :is(.title,.abilities-title) {
	color: var(--certification-color);
	font-family: Gruppo;
	font-size: clamp(20px, 3vw, 28px);
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
	margin-bottom: 1.5rem;
}


.certification-description .description {
	margin-bottom: 1.5rem;
}

.certification-description .abilities-description {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
}

.certification-description .abilities-description .ability {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px 7px;
	border-radius: 3px;
	border: 1px solid var(--certification-color);

	color: #FFF;
	font-family: Gruppo;
	font-size: 12px;
	text-transform: uppercase;
}

.solyd-section {
	position: relative
}

#globe-image {
	position: absolute;
	left: -4%;
	top: 50%;
	translate: 0 -50%;
	width: 60%;

}


.solyd-section .ui.grid .column.left-column {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
	padding: 2rem 1rem;
	min-height: 250px;
	text-align: center;
}


.solyd-section .ui.grid .column.left-column .box {
	background-color: var(--certification-color);
	padding: 5px 1rem;
	color: #000;
	-webkit-text-stroke-width: 0.30px;
	-webkit-text-stroke-color: #000;
	font-family: Gruppo;
	font-size: 12px;
	line-height: normal;
	text-transform: uppercase;
}


.solyd-section .ui.grid .column.left-column .text {
	color: #FFF;
	text-align: center;
	font-family: Gruppo;
	font-size: 17px;
	line-height: 150%;
	text-transform: uppercase;
}


.solyd-section .ui.grid .column.left-column .text .big{
	font-size: 28px;
}


.solyd-section .ui.grid .column.right-column {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2rem;
	padding: 2rem 1rem;
	min-height: 250px;
}


.solyd-section .right-column .title {
	color: #FFF;
	font-family: Gruppo, sans-serif;
	font-size: 28px;
	line-height: normal;
	text-transform: uppercase;
}

.bottom-section {
	max-width: 650px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}


.bottom-section .title {
	color: #FFF;
	text-align: center;
	font-family: Gruppo, sans-serif;
	font-size: clamp(22px, 3vw, 32px);
	text-transform: uppercase;
}


.bottom-section .description {
	color: #8B8B8B;
	text-align: center;
	font-family: "Albert Sans", Gruppo;
	font-size: 15px;
	line-height: 25.652px; 
}

.bottom-button-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.green.large.button {
	background-color: var(--green-color)!important;
	color: #1B003C;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
	text-transform: uppercase;
	padding: 1.5rem 3rem ;
}

.green.large.button:hover {
	background-color: var(--green-color-hover)!important;
	color: #1B003C!important;
}

.bottom-button-container .green.large.button {
	margin-top: 2rem;
}

.bottom-mask-container {
	min-height: 120px;
	position: relative;
}

#bottom-mask {
	position: absolute;
	top: -100%;
	width: 100%;
	max-height: 550px;
}

@media only screen and (min-width: 601px) {
    #certificate-track-grid.track-computer {
        display: block;
    }  

    #certificate-track-grid-mobile.track-mobile {
        display: none;
    }  
}


@media only screen and (max-width: 991px) {
	.tablet-stackable > .column {
		width: 100%!important;
	}

	#certificate-mask {
		max-width: 220px;
		left: -30%;
	}

	#hero-segment {
		padding-left: 2rem;
		padding-right: 2rem;
	}

	#hero-segment .left {
		gap: 2rem;
	}

	#hero-segment .left > .title {
		font-size: 50px;
	}

	#hero-segment .left > .student-name {
		font-family: Gruppo, sans-serif;
		font-size: 20px;
		font-weight: 400;
		line-height: normal; 
	}


	#hero-segment .left > .certification-title-container {
		font-size: 11px;
	}

	#hero-segment .left > .certification-title-container .certification-title {
		font-size: 16px;
	}

	#hero-segment .left > .date {
		font-size: 14px;
	}

	#hero-segment .left .bottom {
		gap: 1rem;
	}

	#hero-segment .left .bottom > img {
		height: 60px;
		width: 60px;
	}

	#hero-segment .left .signature img {
		height: 30px;
	}

	#hero-segment .left .signature.ceo img {
		bottom: -20px;
	}

	#hero-segment .left .signature.instructor img {
		bottom: -6px;
	}
	 
	#hero-segment .left .signature .title {
		font-size: 8px;
	}

	#hero-segment .right {
		padding-right: 0;
	}

	#certificate-miniature {
		max-width: 250px;
	}

	#share-button-hero {
		font-size: .8rem;
	}

	#certificate-track-grid  .track-card {
		font-size: 12px;
	}

	#certification-description-image {
		max-height: 300px;
		max-width: 100%;
	}

	.ui.grid .column.certification-description {
		padding: 1rem;
		padding-top: 0;
		margin-top: -4rem;
	}
	
	#globe-image {
		left: initial;
		top: 0;
		translate: 0 0;
		width: 90%
	}

	.solyd-section .ui.grid .column.right-column {
		min-height: 0;
		padding-top: 0;
	}

	#bottom-mask {
		top: 20%;
	}
}

@media only screen and (max-width: 767px) {
	.ui.grid {
		margin-left: 0!important;
		margin-right: 0!important;
	}

	#certificate-mask {
		max-width: 180px;
		left: -20%;
	}
}

@media only screen and (max-width: 600px) {
	#certificate-mask {
        top: 20%;
		left: -40%;
	}

	#hero-segment {
		padding-left: 1rem;
		padding-right: 1rem;
	}

    #certificate-track-grid.track-computer {
        display: none;
    }  

    #certificate-track-grid-mobile.track-mobile {
        display: block;
    }  

    #certificate-miniature {
        position: relative;
        right: -20%;
    }

    #hero-ellipsis {
        top: auto;
        right: 100%;
    }

    #hero-segment .hero-content {
        flex-direction: column;
        align-items: center;
    }


	#hero-segment .left {
		gap: 1.5rem;
	}

	#hero-segment .left .bottom {
		gap: .5rem;
	}

	#hero-segment .left .bottom > img {
		height: 40px;
		width: 40px;
	}

	#hero-segment .left .signature img {
		height: 20px;
	}

	#hero-segment .left .signature.ceo img {
		bottom: -15px;
	}

	#hero-segment .left .signature.instructor img {
		bottom: -4px;
	}

	#hero-segment .right {
		justify-content: center;
		gap: 2rem;
	}

	#certificate-miniature {
		max-width: 200px;
	}

	#certificate-track-grid  .track-card .image-container img {
		position: absolute;
		right: 50%;
		top: 50%;
		translate: 50% -50%;
		opacity: .4;
		z-index: 0;

	}

	#certificate-track-grid  .track-card .text-container {
		color: white;
	}

}

@media only screen and (max-width: 420px) {
    #certificate-mask {
        left: -20%;
    }
}
