Cycling in Turkey can be an adventurous experience. The country has a well-developed cycling infrastructure that spans the whole country including the Asian side, which is not very common among other developing countries.
Turkey is home to many cycling competitions and hosts many international events, making it a popular destination for cyclists.
Cycling in TurkeyTurkey Cycling Route Planner & Accommodation Matcher
🌟 All Regions
🏔️ Antalya
🏖️ Marmaris
🏛️ Izmir
🌉 Istanbul
🎈 Cappadocia
🎯 Selected Routes: 0 / 3 for epic comparison
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
background: linear-gradient(135deg, #667eea 0%, #764ba2 25%, #f093fb 75%, #f5576c 100%);
min-height: 100vh;
padding: 20px;
}
.container {
max-width: 1400px;
margin: 0 auto;
margin-top: 40px;
}
.section {
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(20px);
border-radius: 24px;
padding: 40px;
margin-bottom: 30px;
box-shadow: 0 20px 60px rgba(0,0,0,0.1);
border: 1px solid rgba(255,255,255,0.2);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.section:hover {
transform: translateY(-5px);
box-shadow: 0 30px 80px rgba(0,0,0,0.15);
}
.section-header {
display: flex;
align-items: center;
margin-bottom: 30px;
padding-bottom: 20px;
border-bottom: 2px solid #f0f0f0;
}
.section-icon {
font-size: 2.5rem;
margin-right: 15px;
}
.section-title {
font-size: 2rem;
font-weight: 600;
background: linear-gradient(135deg, #667eea, #764ba2);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Region Buttons */
.region-buttons {
display: flex;
gap: 12px;
margin-bottom: 30px;
flex-wrap: wrap;
justify-content: center;
}
.region-btn {
padding: 12px 24px;
border: none;
background: linear-gradient(135deg, #e3f2fd, #bbdefb);
color: #1565c0;
border-radius: 50px;
cursor: pointer;
font-size: 16px;
font-weight: 500;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 4px 15px rgba(0,0,0,0.1);
position: relative;
overflow: hidden;
}
.region-btn::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
transition: left 0.5s;
}
.region-btn:hover::before {
left: 100%;
}
.region-btn:hover {
transform: translateY(-3px) scale(1.05);
box-shadow: 0 8px 25px rgba(0,0,0,0.2);
}
.region-btn.active {
background: linear-gradient(135deg, #667eea, #764ba2);
color: white;
transform: scale(1.1);
}
/* Status Counter */
.status-counter {
background: linear-gradient(135deg, #ff6b6b, #feca57);
color: white;
padding: 15px 25px;
border-radius: 50px;
text-align: center;
margin-bottom: 30px;
font-weight: 600;
font-size: 18px;
box-shadow: 0 10px 30px rgba(255,107,107,0.3);
animation: pulse 2s infinite;
}
@keyframes pulse {
0% { box-shadow: 0 10px 30px rgba(255,107,107,0.3); }
50% { box-shadow: 0 15px 40px rgba(255,107,107,0.5); }
100% { box-shadow: 0 10px 30px rgba(255,107,107,0.3); }
}
/* Routes Grid */
.routes-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
gap: 25px;
}
.route-card {
background: linear-gradient(145deg, #f8fafc, #e2e8f0);
border: 2px solid transparent;
border-radius: 20px;
padding: 25px;
cursor: pointer;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden;
}
.route-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #667eea, #764ba2, #f093fb, #f5576c);
transform: scaleX(0);
transition: transform 0.3s ease;
}
.route-card:hover::before {
transform: scaleX(1);
}
.route-card:hover {
transform: translateY(-8px) scale(1.02);
box-shadow: 0 20px 50px rgba(0,0,0,0.15);
border-color: #667eea;
}
.route-card.selected {
background: linear-gradient(145deg, #667eea, #764ba2);
color: white;
transform: translateY(-8px) scale(1.05);
box-shadow: 0 20px 60px rgba(102,126,234,0.4);
}
.route-card.selected::before {
transform: scaleX(1);
background: linear-gradient(90deg, #fff, #f0f8ff);
}
.route-name {
font-size: 1.4rem;
font-weight: 600;
margin-bottom: 12px;
line-height: 1.3;
}
.route-meta {
display: flex;
gap: 15px;
margin-bottom: 20px;
font-size: 14px;
opacity: 0.8;
}
.meta-item {
background: rgba(255,255,255,0.2);
padding: 6px 12px;
border-radius: 20px;
font-weight: 500;
}
.route-card.selected .meta-item {
background: rgba(255,255,255,0.3);
}
/* Elevation Bar */
.elevation-container {
margin: 20px 0;
}
.elevation-label {
font-size: 14px;
font-weight: 600;
margin-bottom: 8px;
opacity: 0.8;
}
.elevation-bar {
height: 12px;
background: rgba(255,255,255,0.3);
border-radius: 20px;
overflow: hidden;
position: relative;
}
.elevation-fill {
height: 100%;
border-radius: 20px;
position: relative;
transition: width 1s ease;
}
.elevation-low {
background: linear-gradient(90deg, #06d6a0, #118ab2);
}
.elevation-medium {
background: linear-gradient(90deg, #ffd23f, #ff8500);
}
.elevation-high {
background: linear-gradient(90deg, #ff6b6b, #ee5a24);
}
.elevation-fill::after {
content: attr(data-elevation);
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
font-size: 12px;
font-weight: 600;
color: white;
text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
/* Features */
.features {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 15px;
}
.feature-tag {
background: linear-gradient(135deg, #667eea, #764ba2);
color: white;
padding: 6px 14px;
border-radius: 20px;
font-size: 12px;
font-weight: 500;
box-shadow: 0 2px 8px rgba(102,126,234,0.3);
transition: all 0.2s ease;
}
.feature-tag:hover {
transform: scale(1.1);
box-shadow: 0 4px 15px rgba(102,126,234,0.4);
}
.route-card.selected .feature-tag {
background: linear-gradient(135deg, rgba(255,255,255,0.3), rgba(255,255,255,0.2));
color: white;
}
/* Comparison Section */
.comparison-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
gap: 30px;
}
.comparison-card {
background: linear-gradient(145deg, #667eea, #764ba2);
color: white;
border-radius: 24px;
padding: 30px;
box-shadow: 0 20px 60px rgba(102,126,234,0.3);
position: relative;
overflow: hidden;
}
.comparison-card::before {
content: '';
position: absolute;
top: -50%;
right: -50%;
width: 100%;
height: 100%;
background: radial-gradient(circle, rgba(255,255,255,0.1), transparent);
pointer-events: none;
}
.comparison-title {
font-size: 1.5rem;
font-weight: 600;
margin-bottom: 20px;
text-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.detail-row {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 15px;
padding: 12px 0;
border-bottom: 1px solid rgba(255,255,255,0.2);
}
.detail-label {
font-weight: 500;
opacity: 0.9;
}
.detail-value {
font-weight: 600;
background: rgba(255,255,255,0.2);
padding: 4px 12px;
border-radius: 15px;
}
.hidden {
display: none;
}
@media (max-width: 768px) {
.section {
padding: 25px;
}
.routes-grid,
.comparison-grid {
grid-template-columns: 1fr;
}
.region-buttons {
justify-content: center;
}
}
🌟 All Regions
🏔️ Antalya
🏖️ Marmaris
🏛️ Izmir
🌉 Istanbul
🎈 Cappadocia
🎯 Selected Routes: 0 / 3 for epic comparison